clawed 2.0.0__tar.gz → 2.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {clawed-2.0.0 → clawed-2.0.2}/PKG-INFO +1 -1
- {clawed-2.0.0 → clawed-2.0.2}/clawed/__init__.py +1 -1
- {clawed-2.0.0 → clawed-2.0.2}/clawed/lesson.py +9 -2
- {clawed-2.0.0 → clawed-2.0.2}/clawed/models.py +71 -2
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/lesson_plan.txt +8 -1
- clawed-2.0.2/clawed/prompts/persona_extract.txt +134 -0
- {clawed-2.0.0 → clawed-2.0.2}/pyproject.toml +1 -1
- clawed-2.0.0/clawed/prompts/persona_extract.txt +0 -85
- {clawed-2.0.0 → clawed-2.0.2}/.gitignore +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/LICENSE +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/README.md +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/__main__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/_legacy_gateway.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/__init__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/approvals.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/autonomy.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/context.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/core.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/custom_tools.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/drive/__init__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/drive/auth.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/drive/client.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/fake_llm.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/loop.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/memory/__init__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/memory/curriculum.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/memory/curriculum_kb.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/memory/embeddings.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/memory/episodes.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/memory/identity.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/memory/loader.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/memory/preferences.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/planner.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/prompt.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/scheduler.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/__init__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/base.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/configure_profile.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/curriculum_map.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/drive_create_doc.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/drive_create_slides.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/drive_list.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/drive_organize.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/drive_read.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/drive_upload.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/export_document.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/gap_analysis.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/generate_assessment.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/generate_lesson.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/generate_lesson_bundle.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/generate_materials.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/generate_unit.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/ingest_materials.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/parent_comm.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/read_heartbeat.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/read_workspace.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/request_approval.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/schedule_task.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/search_lessons.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/search_my_materials.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/search_standards.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/student_insights.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/sub_packet.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/switch_model.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/agent_core/tools/update_soul.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/analytics.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/__init__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/deps.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/routes/__init__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/routes/chat.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/routes/export.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/routes/feedback.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/routes/gateway_chat.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/routes/generate.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/routes/ingest.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/routes/lessons.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/routes/school.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/routes/settings.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/routes/tools.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/server.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/static/app.js +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/static/style.css +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/static/widget.js +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/templates/analytics.html +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/templates/base.html +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/templates/dashboard.html +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/templates/generate.html +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/templates/index.html +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/templates/lesson.html +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/templates/profile.html +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/templates/settings.html +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/templates/stats.html +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/api/templates/students.html +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/assessment.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/auth/__init__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/auth/google_auth.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/bot_state.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/chat.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/cli.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/cli_chat.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/commands/__init__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/commands/_helpers.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/commands/bot.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/commands/config.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/commands/config_llm.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/commands/config_profile.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/commands/export.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/commands/generate.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/commands/generate_assessment.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/commands/generate_unit.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/commands/queue.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/commands/schedule_cmd.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/commands/sub.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/commands/workspace_cmd.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/config.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/corpus.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/curriculum_map.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/database.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/demo/__init__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/demo/demo_assessment.json +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/demo/demo_lesson_science_g6.json +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/demo/demo_lesson_social_studies_g8.json +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/demo/demo_unit_plan.json +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/differentiation.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/doc_export.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/drive.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/evaluation.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/export_docx.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/export_handout.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/export_markdown.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/export_pdf.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/export_pptx.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/export_templates.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/export_theme.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/exporter.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/feedback.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/formats/__init__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/formats/flipchart.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/formats/notebook.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/formats/xbk.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/gateway.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/gateway_response.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/generation.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/handlers/__init__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/handlers/export.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/handlers/feedback.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/handlers/gaps.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/handlers/generate.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/handlers/ingest.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/handlers/misc.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/handlers/onboard.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/handlers/schedule.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/handlers/standards.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/improver.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/ingestor.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/io.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/llm.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/materials.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/mcp_server.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/memory_engine.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/model_router.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/onboarding.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/openclaw_plugin.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/parent_comm.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/persona.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/planner.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/504_accommodations.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/assessment.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/curriculum_gaps.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/dbq_assessment.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/differentiation.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/formative_assessment.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/iep_modification.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/pacing_guide.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/parent_note.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/quiz.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/rubric.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/sub_packet.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/summative_assessment.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/tiered_assignments.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/unit_plan.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/worksheet.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/prompts/year_map.txt +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/quality.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/reading_report.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/router.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/sanitize.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/scheduler.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/school.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/search.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/skills/__init__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/skills/art.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/skills/base.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/skills/computer_science.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/skills/ela.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/skills/foreign_language.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/skills/history.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/skills/library.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/skills/math.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/skills/music.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/skills/physical_education.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/skills/science.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/skills/social_studies.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/skills/special_education.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/slide_images.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/standards.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/state.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/state_standards.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/student_bot.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/student_cli.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/student_telegram_bot.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/sub_packet.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/task_queue.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/templates_lib.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/tools.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/transports/__init__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/transports/cli.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/transports/openclaw.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/transports/student_telegram.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/transports/telegram.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/transports/web.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/tui.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/tui_chat.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/voice.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/clawed/workspace.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/eduagent/__init__.py +0 -0
- {clawed-2.0.0 → clawed-2.0.2}/eduagent/_compat.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: clawed
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.2
|
|
4
4
|
Summary: Claw-ED — personal AI teaching agent. Learns your voice, works while you sleep.
|
|
5
5
|
Project-URL: Homepage, https://github.com/SirhanMacx/Claw-ED
|
|
6
6
|
Project-URL: Documentation, https://github.com/SirhanMacx/Claw-ED#readme
|
|
@@ -17,7 +17,7 @@ if hasattr(sys.stderr, "reconfigure"):
|
|
|
17
17
|
except Exception:
|
|
18
18
|
pass
|
|
19
19
|
|
|
20
|
-
__version__ = "2.0.
|
|
20
|
+
__version__ = "2.0.2"
|
|
21
21
|
__author__ = "Jon Maccarello & Claw-ED contributors"
|
|
22
22
|
__description__ = "Personal AI teaching agent. Learns your voice, works while you sleep."
|
|
23
23
|
|
|
@@ -111,8 +111,15 @@ async def generate_lesson(
|
|
|
111
111
|
pass
|
|
112
112
|
|
|
113
113
|
system_parts = [
|
|
114
|
-
"You are an expert lesson plan writer who EXACTLY
|
|
115
|
-
"
|
|
114
|
+
"You are an expert lesson plan writer who EXACTLY replicates "
|
|
115
|
+
"this teacher's pedagogical fingerprint in EVERY lesson. "
|
|
116
|
+
"This means: use their specific graphic organizers (INSPECT charts, T-charts, etc.), "
|
|
117
|
+
"their activity structures (jigsaw, pair role division, desk islands), "
|
|
118
|
+
"their Do Now format (multi-part visual analysis), their scaffolding moves "
|
|
119
|
+
"(writing frames, sentence starters, pre-taught vocabulary with icons), "
|
|
120
|
+
"and their signature teaching moves. If the persona says they use INSPECT charts, "
|
|
121
|
+
"the lesson MUST include an INSPECT chart. If they cold-call students, script cold calls. "
|
|
122
|
+
"If they say 'what is this source NOT telling us,' include that exact prompt.",
|
|
116
123
|
]
|
|
117
124
|
if persona_context:
|
|
118
125
|
system_parts.append(persona_context)
|
|
@@ -167,6 +167,40 @@ class TeacherPersona(BaseModel):
|
|
|
167
167
|
voice_sample: str = ""
|
|
168
168
|
voice_examples: list[str] = Field(default_factory=list)
|
|
169
169
|
|
|
170
|
+
# ── Pedagogical fingerprint (v2.0) ────────────────────────────────
|
|
171
|
+
# These fields capture HOW a teacher teaches, not just how they sound.
|
|
172
|
+
source_types: list[str] = Field(default_factory=list)
|
|
173
|
+
"""Types of primary sources this teacher uses (e.g. 'political speeches',
|
|
174
|
+
'historical maps', 'data tables', 'poetry excerpts', 'court documents')."""
|
|
175
|
+
|
|
176
|
+
activity_patterns: list[str] = Field(default_factory=list)
|
|
177
|
+
"""Detailed descriptions of recurring activity structures, e.g.
|
|
178
|
+
'Uses jigsaw with 4-person expert groups rotating every 10 minutes',
|
|
179
|
+
'Do Nows are always analogy-based scenarios, never recall questions'."""
|
|
180
|
+
|
|
181
|
+
scaffolding_moves: list[str] = Field(default_factory=list)
|
|
182
|
+
"""How this teacher scaffolds for access, e.g. 'Always provides writing
|
|
183
|
+
frames with sentence starters', 'Uses T-charts before open-ended analysis',
|
|
184
|
+
'Pre-teaches 3 vocabulary words with visual icons'."""
|
|
185
|
+
|
|
186
|
+
grouping_preferences: str = ""
|
|
187
|
+
"""How students are typically grouped (e.g. 'pairs for turn-and-talk,
|
|
188
|
+
table groups of 4 for document analysis, whole class for Socratic seminar')."""
|
|
189
|
+
|
|
190
|
+
do_now_style: str = ""
|
|
191
|
+
"""Pattern for warm-ups/do-nows (e.g. 'analogy or scenario that previews the
|
|
192
|
+
lesson concept without naming it — never a content recall question')."""
|
|
193
|
+
|
|
194
|
+
exit_ticket_style: str = ""
|
|
195
|
+
"""Pattern for exit tickets (e.g. 'always 3 questions progressing
|
|
196
|
+
recall → application → analysis, written on half-sheets')."""
|
|
197
|
+
|
|
198
|
+
signature_moves: list[str] = Field(default_factory=list)
|
|
199
|
+
"""Distinctive teaching moves unique to this teacher, e.g.
|
|
200
|
+
'Reads primary sources aloud with dramatic emphasis before analysis',
|
|
201
|
+
'Always ends DI with "here is where it gets interesting"',
|
|
202
|
+
'Uses physical movement — students walk to corners for opinion spectrums'."""
|
|
203
|
+
|
|
170
204
|
def to_prompt_context(self) -> str:
|
|
171
205
|
"""Serialize persona into a string for LLM prompt injection."""
|
|
172
206
|
lines = [
|
|
@@ -183,6 +217,39 @@ class TeacherPersona(BaseModel):
|
|
|
183
217
|
f"- Grade Levels: {', '.join(self.grade_levels) or 'Not specified'}",
|
|
184
218
|
f"- Voice Sample: {self.voice_sample[:2000] if self.voice_sample else 'None'}",
|
|
185
219
|
]
|
|
220
|
+
|
|
221
|
+
# Pedagogical fingerprint — how this teacher actually teaches
|
|
222
|
+
if self.source_types:
|
|
223
|
+
lines.append("\n=== Source Types This Teacher Uses ===")
|
|
224
|
+
for src in self.source_types:
|
|
225
|
+
lines.append(f"- {src}")
|
|
226
|
+
lines.append("Use these TYPES of sources in generated lessons.")
|
|
227
|
+
|
|
228
|
+
if self.activity_patterns:
|
|
229
|
+
lines.append("\n=== Activity Patterns (replicate these structures) ===")
|
|
230
|
+
for pat in self.activity_patterns:
|
|
231
|
+
lines.append(f"- {pat}")
|
|
232
|
+
|
|
233
|
+
if self.scaffolding_moves:
|
|
234
|
+
lines.append("\n=== Scaffolding Moves ===")
|
|
235
|
+
for move in self.scaffolding_moves:
|
|
236
|
+
lines.append(f"- {move}")
|
|
237
|
+
|
|
238
|
+
if self.do_now_style:
|
|
239
|
+
lines.append(f"\n=== Do Now Style ===\n{self.do_now_style}")
|
|
240
|
+
lines.append("Generate Do Nows that follow this pattern.")
|
|
241
|
+
|
|
242
|
+
if self.exit_ticket_style:
|
|
243
|
+
lines.append(f"\n=== Exit Ticket Style ===\n{self.exit_ticket_style}")
|
|
244
|
+
|
|
245
|
+
if self.grouping_preferences:
|
|
246
|
+
lines.append(f"\n=== Grouping ===\n{self.grouping_preferences}")
|
|
247
|
+
|
|
248
|
+
if self.signature_moves:
|
|
249
|
+
lines.append("\n=== Signature Teaching Moves (MUST include) ===")
|
|
250
|
+
for move in self.signature_moves:
|
|
251
|
+
lines.append(f"- {move}")
|
|
252
|
+
|
|
186
253
|
if self.voice_examples:
|
|
187
254
|
lines.append("")
|
|
188
255
|
lines.append("=== Voice Examples (write like this) ===")
|
|
@@ -190,8 +257,10 @@ class TeacherPersona(BaseModel):
|
|
|
190
257
|
lines.append(f'Example {i}: "{example}"')
|
|
191
258
|
lines.append("")
|
|
192
259
|
lines.append(
|
|
193
|
-
"Your writing MUST match the voice
|
|
194
|
-
"
|
|
260
|
+
"Your writing MUST match the voice, style, lesson structure, "
|
|
261
|
+
"and activity choices shown above. "
|
|
262
|
+
"Use the same vocabulary, sentence structure, source types, "
|
|
263
|
+
"scaffolding patterns, and activity formats."
|
|
195
264
|
)
|
|
196
265
|
return "\n".join(lines) + "\n"
|
|
197
266
|
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
You are an expert lesson plan writer. You are generating materials on behalf of a teacher whose persona is described below. ALL output must
|
|
1
|
+
You are an expert lesson plan writer. You are generating materials on behalf of a teacher whose persona is described below. ALL output must match this teacher's pedagogical fingerprint:
|
|
2
|
+
- Use their SOURCE TYPES (if they use primary source documents, use primary source documents — not worksheets)
|
|
3
|
+
- Use their ACTIVITY PATTERNS (if they run jigsaws, run a jigsaw — not generic group work)
|
|
4
|
+
- Use their SCAFFOLDING MOVES (if they use writing frames and T-charts, include those exact tools)
|
|
5
|
+
- Match their DO NOW STYLE (if they use scenarios/analogies, do that — not recall questions)
|
|
6
|
+
- Match their EXIT TICKET FORMAT
|
|
7
|
+
- Include their SIGNATURE MOVES — the things that make their classroom recognizable
|
|
8
|
+
- Match their voice, tone, vocabulary, and sentence structure
|
|
2
9
|
|
|
3
10
|
## Teacher Persona
|
|
4
11
|
{persona}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
You are an expert educational analyst specializing in teacher pedagogy and instructional design.
|
|
2
|
+
|
|
3
|
+
Your task is to analyze a collection of teaching materials and extract a detailed teacher persona profile. This persona will be used to generate future materials that match this teacher's unique voice, lesson structure, and pedagogical choices.
|
|
4
|
+
|
|
5
|
+
## Input
|
|
6
|
+
You will receive the text content of multiple teaching documents (lesson plans, worksheets, assessments, slides, notes) created by a single teacher.
|
|
7
|
+
|
|
8
|
+
## Analysis Instructions
|
|
9
|
+
|
|
10
|
+
Carefully read ALL provided documents and identify:
|
|
11
|
+
|
|
12
|
+
1. **Teaching Style** — Classify as one of:
|
|
13
|
+
- "socratic" — Heavy use of questioning, dialogue, student discovery
|
|
14
|
+
- "direct_instruction" — Teacher-led, explicit modeling, step-by-step
|
|
15
|
+
- "inquiry_based" — Students investigate, experiment, draw conclusions
|
|
16
|
+
- "project_based" — Extended projects, real-world applications
|
|
17
|
+
- "blended" — Mix of multiple approaches
|
|
18
|
+
|
|
19
|
+
2. **Vocabulary Level** — Classify as one of:
|
|
20
|
+
- "elementary" — Simple words, short sentences, very accessible
|
|
21
|
+
- "grade_appropriate" — Matches expected reading level for the grade
|
|
22
|
+
- "academic" — Formal, discipline-specific terminology throughout
|
|
23
|
+
- "casual" — Conversational, informal, relatable language
|
|
24
|
+
|
|
25
|
+
3. **Tone** — Describe in 3-5 words (e.g., "warm and encouraging", "energetic and challenging", "calm and methodical")
|
|
26
|
+
|
|
27
|
+
4. **Structural Preferences** — List the recurring lesson components you observe. Common ones include:
|
|
28
|
+
- warm-ups / do-nows / bell ringers
|
|
29
|
+
- exit tickets / closing reflections
|
|
30
|
+
- graphic organizers
|
|
31
|
+
- group work / think-pair-share
|
|
32
|
+
- hands-on activities / labs
|
|
33
|
+
- vocabulary walls / word banks
|
|
34
|
+
- anchor charts
|
|
35
|
+
- learning targets posted
|
|
36
|
+
|
|
37
|
+
5. **Assessment Style** — Classify as one of:
|
|
38
|
+
- "rubric_based" — Uses rubrics for evaluation
|
|
39
|
+
- "point_based" — Traditional point/percentage grading
|
|
40
|
+
- "portfolio" — Collection-based assessment
|
|
41
|
+
- "standards_based" — Proficiency scales tied to standards
|
|
42
|
+
|
|
43
|
+
6. **Preferred Lesson Format** — Describe the typical lesson flow (e.g., "I Do / We Do / You Do", "Launch / Explore / Discuss", "Hook / Mini-lesson / Workshop / Share")
|
|
44
|
+
|
|
45
|
+
7. **Favorite Strategies** — List specific instructional strategies that appear repeatedly (e.g., "turn and talk", "gallery walk", "Socratic seminar", "jigsaw", "Cornell notes")
|
|
46
|
+
|
|
47
|
+
8. **Subject Area** — The primary subject(s) taught
|
|
48
|
+
|
|
49
|
+
9. **Grade Levels** — The grade level(s) apparent from the materials
|
|
50
|
+
|
|
51
|
+
10. **Voice Sample** — Copy a 2-3 sentence excerpt from the materials that best represents this teacher's natural writing voice. Choose something that captures their personality.
|
|
52
|
+
|
|
53
|
+
11. **Voice Examples** — Select 3-5 of the BEST, most voice-representative passages from the input documents. These should be actual direct quotes that demonstrate the teacher's unique writing/speaking style. Pick passages that show:
|
|
54
|
+
- How they address students
|
|
55
|
+
- How they explain concepts
|
|
56
|
+
- How they give instructions
|
|
57
|
+
- Their characteristic phrases or sentence structures
|
|
58
|
+
Each example should be 1-3 sentences, taken verbatim from the documents.
|
|
59
|
+
|
|
60
|
+
12. **Source Types** — What kinds of primary sources, texts, data, or media does this teacher use? Be specific. Examples: "political speeches and declarations", "historical maps and cartography", "statistical data tables", "poetry and literary excerpts", "court documents and legal texts", "newspaper editorials", "photographs and political cartoons", "scientific lab data". List only types that actually appear in the documents.
|
|
61
|
+
|
|
62
|
+
13. **Activity Patterns** — Describe 3-5 recurring activity structures you observe in detail. Do NOT just name them — describe HOW this teacher runs them. Examples:
|
|
63
|
+
- "Uses jigsaw with 4-person expert groups, each group gets a different document, 10 minutes to become experts, then regroup to teach each other"
|
|
64
|
+
- "Do Nows are always analogy-based scenarios that preview the lesson concept without naming it — students write 2-3 sentences, then share with a partner"
|
|
65
|
+
- "Direct instruction uses a call-and-response pattern: teacher reads a source aloud, pauses, asks 'what do you notice?', takes 3 responses, then explains"
|
|
66
|
+
- "Independent work always includes a writing frame for struggling learners and an extension question for early finishers"
|
|
67
|
+
|
|
68
|
+
14. **Scaffolding Moves** — How does this teacher make content accessible? List 3-5 specific moves you observe:
|
|
69
|
+
- What graphic organizers do they use? (T-charts, Venn diagrams, source analysis charts, etc.)
|
|
70
|
+
- Do they provide sentence starters or writing frames?
|
|
71
|
+
- How do they pre-teach vocabulary?
|
|
72
|
+
- Do they chunk readings or use annotation protocols?
|
|
73
|
+
|
|
74
|
+
15. **Grouping Preferences** — How are students typically organized? (e.g., "pairs for turn-and-talk, table groups of 4 for document analysis, whole class for discussion")
|
|
75
|
+
|
|
76
|
+
16. **Do Now Style** — Describe the pattern for warm-ups. Is it recall? Analogy? Scenario? Opinion? Connection to prior learning? Be specific about the format.
|
|
77
|
+
|
|
78
|
+
17. **Exit Ticket Style** — Describe the pattern for exit tickets. How many questions? What cognitive levels? Written or verbal? Format?
|
|
79
|
+
|
|
80
|
+
18. **Signature Moves** — 2-4 distinctive teaching moves that are unique to this teacher and appear across multiple lessons. These are the things that make their classroom recognizable. Examples:
|
|
81
|
+
- "Always reads primary sources aloud with dramatic emphasis before asking students to analyze"
|
|
82
|
+
- "Uses physical movement — students walk to corners of the room for opinion spectrums"
|
|
83
|
+
- "Every transition includes a 'connection question' that links the previous section to the next"
|
|
84
|
+
- "Ends every class with 'one word — what's the one word you're taking away from today?'"
|
|
85
|
+
|
|
86
|
+
## Output Format
|
|
87
|
+
|
|
88
|
+
Respond with ONLY a JSON object (no markdown fencing, no explanation):
|
|
89
|
+
|
|
90
|
+
{
|
|
91
|
+
"name": "My Teaching Persona",
|
|
92
|
+
"teaching_style": "direct_instruction",
|
|
93
|
+
"vocabulary_level": "grade_appropriate",
|
|
94
|
+
"tone": "warm and encouraging",
|
|
95
|
+
"structural_preferences": ["warm-ups", "exit tickets", "group work"],
|
|
96
|
+
"assessment_style": "rubric_based",
|
|
97
|
+
"preferred_lesson_format": "I Do / We Do / You Do",
|
|
98
|
+
"favorite_strategies": ["think-pair-share", "Cornell notes"],
|
|
99
|
+
"subject_area": "8th Grade Science",
|
|
100
|
+
"grade_levels": ["8"],
|
|
101
|
+
"voice_sample": "Alright scientists, today we're going to explore something really cool...",
|
|
102
|
+
"voice_examples": [
|
|
103
|
+
"Alright friends, let's dig into this...",
|
|
104
|
+
"Your job today is to become a detective...",
|
|
105
|
+
"Before we move on, turn and tell your partner what you noticed."
|
|
106
|
+
],
|
|
107
|
+
"source_types": [
|
|
108
|
+
"political speeches and declarations",
|
|
109
|
+
"historical maps",
|
|
110
|
+
"newspaper editorials from the era"
|
|
111
|
+
],
|
|
112
|
+
"activity_patterns": [
|
|
113
|
+
"Do Nows are scenario-based: students respond to a hypothetical situation that mirrors the historical concept, then reveal the connection after 3 minutes",
|
|
114
|
+
"Document analysis uses a 4-column chart (Source, Claim, Evidence, Bias) completed first in pairs, then shared whole-class",
|
|
115
|
+
"Guided practice is always a jigsaw: expert groups analyze different documents, then regroup to teach each other"
|
|
116
|
+
],
|
|
117
|
+
"scaffolding_moves": [
|
|
118
|
+
"Provides writing frames with sentence starters for all written responses",
|
|
119
|
+
"Pre-teaches 3 key vocabulary terms with visual icons on the board before the lesson begins",
|
|
120
|
+
"Uses T-charts to organize compare/contrast before open-ended writing"
|
|
121
|
+
],
|
|
122
|
+
"grouping_preferences": "Pairs for turn-and-talk (30-60 seconds), table groups of 4 for document analysis, whole class for Socratic discussion",
|
|
123
|
+
"do_now_style": "Scenario or analogy that previews the lesson concept without naming it — students write 2-3 sentences independently, then share with a partner before the teacher reveals the connection",
|
|
124
|
+
"exit_ticket_style": "3 questions on a half-sheet: Question 1 is recall/identification, Question 2 is application, Question 3 is analysis or transfer. Always written, always collected at the door.",
|
|
125
|
+
"signature_moves": [
|
|
126
|
+
"Reads primary sources aloud with dramatic emphasis before analysis",
|
|
127
|
+
"Uses 'connection questions' between every section to link ideas",
|
|
128
|
+
"Ends class with 'one word takeaway' — every student says one word as they walk out"
|
|
129
|
+
]
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
## Documents to Analyze
|
|
133
|
+
|
|
134
|
+
{documents}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
You are an expert educational analyst specializing in teacher pedagogy and instructional design.
|
|
2
|
-
|
|
3
|
-
Your task is to analyze a collection of teaching materials and extract a detailed teacher persona profile. This persona will be used to generate future materials that match this teacher's unique voice and style.
|
|
4
|
-
|
|
5
|
-
## Input
|
|
6
|
-
You will receive the text content of multiple teaching documents (lesson plans, worksheets, assessments, slides, notes) created by a single teacher.
|
|
7
|
-
|
|
8
|
-
## Analysis Instructions
|
|
9
|
-
|
|
10
|
-
Carefully read ALL provided documents and identify:
|
|
11
|
-
|
|
12
|
-
1. **Teaching Style** — Classify as one of:
|
|
13
|
-
- "socratic" — Heavy use of questioning, dialogue, student discovery
|
|
14
|
-
- "direct_instruction" — Teacher-led, explicit modeling, step-by-step
|
|
15
|
-
- "inquiry_based" — Students investigate, experiment, draw conclusions
|
|
16
|
-
- "project_based" — Extended projects, real-world applications
|
|
17
|
-
- "blended" — Mix of multiple approaches
|
|
18
|
-
|
|
19
|
-
2. **Vocabulary Level** — Classify as one of:
|
|
20
|
-
- "elementary" — Simple words, short sentences, very accessible
|
|
21
|
-
- "grade_appropriate" — Matches expected reading level for the grade
|
|
22
|
-
- "academic" — Formal, discipline-specific terminology throughout
|
|
23
|
-
- "casual" — Conversational, informal, relatable language
|
|
24
|
-
|
|
25
|
-
3. **Tone** — Describe in 3-5 words (e.g., "warm and encouraging", "energetic and challenging", "calm and methodical")
|
|
26
|
-
|
|
27
|
-
4. **Structural Preferences** — List the recurring lesson components you observe. Common ones include:
|
|
28
|
-
- warm-ups / do-nows / bell ringers
|
|
29
|
-
- exit tickets / closing reflections
|
|
30
|
-
- graphic organizers
|
|
31
|
-
- group work / think-pair-share
|
|
32
|
-
- hands-on activities / labs
|
|
33
|
-
- vocabulary walls / word banks
|
|
34
|
-
- anchor charts
|
|
35
|
-
- learning targets posted
|
|
36
|
-
|
|
37
|
-
5. **Assessment Style** — Classify as one of:
|
|
38
|
-
- "rubric_based" — Uses rubrics for evaluation
|
|
39
|
-
- "point_based" — Traditional point/percentage grading
|
|
40
|
-
- "portfolio" — Collection-based assessment
|
|
41
|
-
- "standards_based" — Proficiency scales tied to standards
|
|
42
|
-
|
|
43
|
-
6. **Preferred Lesson Format** — Describe the typical lesson flow (e.g., "I Do / We Do / You Do", "Launch / Explore / Discuss", "Hook / Mini-lesson / Workshop / Share")
|
|
44
|
-
|
|
45
|
-
7. **Favorite Strategies** — List specific instructional strategies that appear repeatedly (e.g., "turn and talk", "gallery walk", "Socratic seminar", "jigsaw", "Cornell notes")
|
|
46
|
-
|
|
47
|
-
8. **Subject Area** — The primary subject(s) taught
|
|
48
|
-
|
|
49
|
-
9. **Grade Levels** — The grade level(s) apparent from the materials
|
|
50
|
-
|
|
51
|
-
10. **Voice Sample** — Copy a 2-3 sentence excerpt from the materials that best represents this teacher's natural writing voice. Choose something that captures their personality.
|
|
52
|
-
|
|
53
|
-
11. **Voice Examples** — Select 3-5 of the BEST, most voice-representative passages from the input documents. These should be actual direct quotes that demonstrate the teacher's unique writing/speaking style. Pick passages that show:
|
|
54
|
-
- How they address students
|
|
55
|
-
- How they explain concepts
|
|
56
|
-
- How they give instructions
|
|
57
|
-
- Their characteristic phrases or sentence structures
|
|
58
|
-
Each example should be 1-3 sentences, taken verbatim from the documents.
|
|
59
|
-
|
|
60
|
-
## Output Format
|
|
61
|
-
|
|
62
|
-
Respond with ONLY a JSON object (no markdown fencing, no explanation):
|
|
63
|
-
|
|
64
|
-
{
|
|
65
|
-
"name": "My Teaching Persona",
|
|
66
|
-
"teaching_style": "direct_instruction",
|
|
67
|
-
"vocabulary_level": "grade_appropriate",
|
|
68
|
-
"tone": "warm and encouraging",
|
|
69
|
-
"structural_preferences": ["warm-ups", "exit tickets", "group work"],
|
|
70
|
-
"assessment_style": "rubric_based",
|
|
71
|
-
"preferred_lesson_format": "I Do / We Do / You Do",
|
|
72
|
-
"favorite_strategies": ["think-pair-share", "Cornell notes"],
|
|
73
|
-
"subject_area": "8th Grade Science",
|
|
74
|
-
"grade_levels": ["8"],
|
|
75
|
-
"voice_sample": "Alright scientists, today we're going to explore something really cool...",
|
|
76
|
-
"voice_examples": [
|
|
77
|
-
"Alright friends, let's dig into this...",
|
|
78
|
-
"Your job today is to become a detective...",
|
|
79
|
-
"Before we move on, turn and tell your partner what you noticed."
|
|
80
|
-
]
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
## Documents to Analyze
|
|
84
|
-
|
|
85
|
-
{documents}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|