lx-annotate 0.3.2__tar.gz → 0.3.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1219) hide show
  1. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/PKG-INFO +3 -3
  2. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/file_watcher.py +31 -19
  3. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/pyproject.toml +3 -11
  4. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/.vite/manifest.json +12 -1
  5. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/AnnotationDashboard.css +1 -1
  6. lx_annotate-0.3.4/staticfiles/AnnotationDashboard2.js +1 -0
  7. lx_annotate-0.3.4/staticfiles/FindingsCapturePage.css +1 -0
  8. lx_annotate-0.3.4/staticfiles/FindingsCapturePage.js +1 -0
  9. lx_annotate-0.3.4/staticfiles/FrameAnnotation.css +1 -0
  10. lx_annotate-0.3.4/staticfiles/FrameAnnotation.js +1 -0
  11. lx_annotate-0.3.4/staticfiles/ModelTrainingPage.css +1 -0
  12. lx_annotate-0.3.4/staticfiles/ModelTrainingPage.js +1 -0
  13. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/PatientOverview.css +1 -1
  14. lx_annotate-0.3.4/staticfiles/PatientOverview.js +1 -0
  15. lx_annotate-0.3.4/staticfiles/annotationQueue.js +1 -0
  16. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/main.js +2 -2
  17. lx_annotate-0.3.4/staticfiles/reportTemplatesApi.js +1 -0
  18. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/useReportTemplates.js +1 -1
  19. lx_annotate-0.3.2/staticfiles/AnnotationDashboard2.js +0 -1
  20. lx_annotate-0.3.2/staticfiles/FindingsCapturePage.css +0 -1
  21. lx_annotate-0.3.2/staticfiles/FindingsCapturePage.js +0 -1
  22. lx_annotate-0.3.2/staticfiles/FrameAnnotation.css +0 -1
  23. lx_annotate-0.3.2/staticfiles/FrameAnnotation.js +0 -1
  24. lx_annotate-0.3.2/staticfiles/ModelTrainingPage.css +0 -1
  25. lx_annotate-0.3.2/staticfiles/ModelTrainingPage.js +0 -1
  26. lx_annotate-0.3.2/staticfiles/PatientOverview.js +0 -1
  27. lx_annotate-0.3.2/staticfiles/reportTemplatesApi.js +0 -1
  28. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/.gitignore +0 -0
  29. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/LICENSE +0 -0
  30. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/README.md +0 -0
  31. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/__init__.py +0 -0
  32. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/admin.py +0 -0
  33. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/apps.py +0 -0
  34. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/asgi.py +0 -0
  35. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/celery.py +0 -0
  36. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/hub/__init__.py +0 -0
  37. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/hub/hub_export_audit.py +0 -0
  38. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/hub/hub_export_cleanup.py +0 -0
  39. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/hub/hub_export_jobs.py +0 -0
  40. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/hub/hub_export_payloads.py +0 -0
  41. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/hub/hub_export_reconciliation.py +0 -0
  42. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/hub/hub_export_state.py +0 -0
  43. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/hub/hub_export_worker.py +0 -0
  44. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/management/__init__.py +0 -0
  45. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/management/commands/__init__.py +0 -0
  46. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/management/commands/export_route_manifest.py +0 -0
  47. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/management/commands/repair_managed_payloads.py +0 -0
  48. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/management/commands/run_filewatcher.py +0 -0
  49. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/management/commands/start_filewatcher.py +0 -0
  50. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/management/commands/verify_encrypted_storage.py +0 -0
  51. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/middleware/__init__.py +0 -0
  52. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/middleware/lookup_tracker.py +0 -0
  53. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/__init__.py +0 -0
  54. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0001_initial.py +0 -0
  55. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0001_squashed_0001_initial.py +0 -0
  56. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0002_export_flags.py +0 -0
  57. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0003_patientexaminationreport_report_and_more.py +0 -0
  58. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0004_videofile_uuid.py +0 -0
  59. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0005_rawpdffile_uuid.py +0 -0
  60. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0006_applicationsettings.py +0 -0
  61. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0007_pdfprocessinghistory.py +0 -0
  62. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0008_imageclassificationannotation_upsert_fields.py +0 -0
  63. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0009_patientexamination_draft_updated_at_and_more.py +0 -0
  64. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0010_remove_requirementset_reqset_exam_links_and_more.py +0 -0
  65. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0011_hub_ingest_metadata.py +0 -0
  66. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0012_networknode_transferjob.py +0 -0
  67. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0013_remove_legacy_requirement_models.py +0 -0
  68. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0014_sensitivemeta_tags_sensitivemeta_validation_comment_and_more.py +0 -0
  69. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0015_uploadjob_content_hash_and_more.py +0 -0
  70. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/0016_rename_streamable_relative_path_videofile_raw_streamable_relative_path_and_more.py +0 -0
  71. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migration_overrides/endoreg_db/__init__.py +0 -0
  72. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migrations/0001_outboundhubtransferjob.py +0 -0
  73. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migrations/0002_outboundhubtransferjob_local_cleanup_fields.py +0 -0
  74. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migrations/__init__.py +0 -0
  75. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/migrations/max_migration.txt +0 -0
  76. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/models.py +0 -0
  77. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/serializers.py +0 -0
  78. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/settings/__init__.py +0 -0
  79. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/settings/config.py +0 -0
  80. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/settings/secret_key.py +0 -0
  81. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/settings/settings_base.py +0 -0
  82. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/settings/settings_dev.py +0 -0
  83. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/settings/settings_prod.py +0 -0
  84. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/settings/settings_test.py +0 -0
  85. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/signals.py +0 -0
  86. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/AnnotationDashboard-D35JYvrC.js +0 -0
  87. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/AnnotationDashboard-DMZZ8ZMX.css +0 -0
  88. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/AnnotationDashboard-OeFWLB-b.js +0 -0
  89. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/Anonymization-Bd9LTm0-.js +0 -0
  90. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/AnonymizationCorrectionComponent-BPyn1Euk.css +0 -0
  91. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/AnonymizationCorrectionComponent-CAO-Cg0B.js +0 -0
  92. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/AnonymizationOverview-CGBsqOFg.js +0 -0
  93. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/AnonymizationOverview-DUuDRweL.css +0 -0
  94. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/AnonymizationValidationComponent-BARZClvg.css +0 -0
  95. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/AnonymizationValidationComponent-Bd7Ndg-z.js +0 -0
  96. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/Dashboard-DsKQzZNG.js +0 -0
  97. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/Examination-CeCEv25w.js +0 -0
  98. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/PageOverview-B8gUoFeQ.js +0 -0
  99. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/PatientAdder-BlwvntXl.js +0 -0
  100. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/PatientAdder-CFDJpfd1.js +0 -0
  101. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/PatientAdder-DOhN0oE-.css +0 -0
  102. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/PatientOverview-C7XuyKPN.js +0 -0
  103. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/PatientOverview-oorWuJjf.css +0 -0
  104. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/Profil-lke9QkYz.js +0 -0
  105. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/ReportGenerator-DJn6kaoO.js +0 -0
  106. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/RequirementGenerator-BC9a09T1.css +0 -0
  107. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/RequirementGenerator-CeDfg9J_.js +0 -0
  108. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/Timeline-CMheelus.js +0 -0
  109. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/Timeline-DA5RpACe.css +0 -0
  110. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/UeberUns-DnTs7q1V.js +0 -0
  111. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/Validierung-Bobt4Qg1.js +0 -0
  112. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/Validierung-u-u0EBv0.css +0 -0
  113. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/VideoExamination-B8b7SxA_.js +0 -0
  114. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/VideoExamination-DdMsVSAF.css +0 -0
  115. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/autocomplete.css +0 -0
  116. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/base.css +0 -0
  117. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/changelists.css +0 -0
  118. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/dark_mode.css +0 -0
  119. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/dashboard.css +0 -0
  120. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/forms.css +0 -0
  121. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/login.css +0 -0
  122. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/nav_sidebar.css +0 -0
  123. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/responsive.css +0 -0
  124. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/responsive_rtl.css +0 -0
  125. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/rtl.css +0 -0
  126. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/unusable_password_field.css +0 -0
  127. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/vendor/select2/LICENSE-SELECT2.md +0 -0
  128. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/vendor/select2/select2.css +0 -0
  129. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/vendor/select2/select2.min.css +0 -0
  130. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/css/widgets.css +0 -0
  131. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/LICENSE +0 -0
  132. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/README.txt +0 -0
  133. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/calendar-icons.svg +0 -0
  134. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/gis/move_vertex_off.svg +0 -0
  135. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/gis/move_vertex_on.svg +0 -0
  136. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/icon-addlink.svg +0 -0
  137. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/icon-alert.svg +0 -0
  138. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/icon-calendar.svg +0 -0
  139. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/icon-changelink.svg +0 -0
  140. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/icon-clock.svg +0 -0
  141. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/icon-deletelink.svg +0 -0
  142. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/icon-hidelink.svg +0 -0
  143. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/icon-no.svg +0 -0
  144. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/icon-unknown-alt.svg +0 -0
  145. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/icon-unknown.svg +0 -0
  146. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/icon-viewlink.svg +0 -0
  147. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/icon-yes.svg +0 -0
  148. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/inline-delete.svg +0 -0
  149. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/search.svg +0 -0
  150. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/selector-icons.svg +0 -0
  151. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/sorting-icons.svg +0 -0
  152. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/tooltag-add.svg +0 -0
  153. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/img/tooltag-arrowright.svg +0 -0
  154. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/SelectBox.js +0 -0
  155. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/SelectFilter2.js +0 -0
  156. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/actions.js +0 -0
  157. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/admin/DateTimeShortcuts.js +0 -0
  158. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/admin/RelatedObjectLookups.js +0 -0
  159. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/autocomplete.js +0 -0
  160. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/calendar.js +0 -0
  161. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/cancel.js +0 -0
  162. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/change_form.js +0 -0
  163. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/core.js +0 -0
  164. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/filters.js +0 -0
  165. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/inlines.js +0 -0
  166. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/jquery.init.js +0 -0
  167. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/nav_sidebar.js +0 -0
  168. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/popup_response.js +0 -0
  169. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/prepopulate.js +0 -0
  170. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/prepopulate_init.js +0 -0
  171. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/theme.js +0 -0
  172. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/unusable_password_field.js +0 -0
  173. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/urlify.js +0 -0
  174. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/jquery/LICENSE.txt +0 -0
  175. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/jquery/jquery.js +0 -0
  176. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/jquery/jquery.min.js +0 -0
  177. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/LICENSE.md +0 -0
  178. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/af.js +0 -0
  179. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/ar.js +0 -0
  180. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/az.js +0 -0
  181. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/bg.js +0 -0
  182. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/bn.js +0 -0
  183. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/bs.js +0 -0
  184. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/ca.js +0 -0
  185. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/cs.js +0 -0
  186. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/da.js +0 -0
  187. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/de.js +0 -0
  188. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/dsb.js +0 -0
  189. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/el.js +0 -0
  190. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/en.js +0 -0
  191. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/es.js +0 -0
  192. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/et.js +0 -0
  193. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/eu.js +0 -0
  194. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/fa.js +0 -0
  195. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/fi.js +0 -0
  196. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/fr.js +0 -0
  197. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/gl.js +0 -0
  198. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/he.js +0 -0
  199. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/hi.js +0 -0
  200. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/hr.js +0 -0
  201. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/hsb.js +0 -0
  202. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/hu.js +0 -0
  203. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/hy.js +0 -0
  204. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/id.js +0 -0
  205. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/is.js +0 -0
  206. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/it.js +0 -0
  207. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/ja.js +0 -0
  208. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/ka.js +0 -0
  209. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/km.js +0 -0
  210. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/ko.js +0 -0
  211. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/lt.js +0 -0
  212. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/lv.js +0 -0
  213. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/mk.js +0 -0
  214. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/ms.js +0 -0
  215. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/nb.js +0 -0
  216. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/ne.js +0 -0
  217. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/nl.js +0 -0
  218. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/pl.js +0 -0
  219. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/ps.js +0 -0
  220. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/pt-BR.js +0 -0
  221. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/pt.js +0 -0
  222. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/ro.js +0 -0
  223. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/ru.js +0 -0
  224. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/sk.js +0 -0
  225. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/sl.js +0 -0
  226. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/sq.js +0 -0
  227. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/sr-Cyrl.js +0 -0
  228. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/sr.js +0 -0
  229. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/sv.js +0 -0
  230. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/th.js +0 -0
  231. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/tk.js +0 -0
  232. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/tr.js +0 -0
  233. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/uk.js +0 -0
  234. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/vi.js +0 -0
  235. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/zh-CN.js +0 -0
  236. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/i18n/zh-TW.js +0 -0
  237. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/select2.full.js +0 -0
  238. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/select2/select2.full.min.js +0 -0
  239. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/xregexp/LICENSE.txt +0 -0
  240. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/xregexp/xregexp.js +0 -0
  241. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/admin/js/vendor/xregexp/xregexp.min.js +0 -0
  242. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/annotationStore-DEHKjdKh.js +0 -0
  243. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/AnnotationDashboard-D35JYvrC.js +0 -0
  244. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/AnnotationDashboard-DMZZ8ZMX.css +0 -0
  245. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/AnnotationDashboard-OeFWLB-b.js +0 -0
  246. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/Anonymization-Bd9LTm0-.js +0 -0
  247. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/AnonymizationCorrectionComponent-BPyn1Euk.css +0 -0
  248. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/AnonymizationCorrectionComponent-CAO-Cg0B.js +0 -0
  249. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/AnonymizationOverview-CGBsqOFg.js +0 -0
  250. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/AnonymizationOverview-DUuDRweL.css +0 -0
  251. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/AnonymizationValidationComponent-BARZClvg.css +0 -0
  252. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/AnonymizationValidationComponent-Bd7Ndg-z.js +0 -0
  253. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/Dashboard-DsKQzZNG.js +0 -0
  254. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/Examination-CeCEv25w.js +0 -0
  255. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/PageOverview-B8gUoFeQ.js +0 -0
  256. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/PatientAdder-BlwvntXl.js +0 -0
  257. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/PatientAdder-CFDJpfd1.js +0 -0
  258. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/PatientAdder-DOhN0oE-.css +0 -0
  259. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/PatientOverview-C7XuyKPN.js +0 -0
  260. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/PatientOverview-oorWuJjf.css +0 -0
  261. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/Profil-lke9QkYz.js +0 -0
  262. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/ReportGenerator-DJn6kaoO.js +0 -0
  263. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/RequirementGenerator-BC9a09T1.css +0 -0
  264. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/RequirementGenerator-CeDfg9J_.js +0 -0
  265. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/Timeline-CMheelus.js +0 -0
  266. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/Timeline-DA5RpACe.css +0 -0
  267. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/UeberUns-DnTs7q1V.js +0 -0
  268. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/Validierung-Bobt4Qg1.js +0 -0
  269. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/Validierung-u-u0EBv0.css +0 -0
  270. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/VideoExamination-B8b7SxA_.js +0 -0
  271. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/VideoExamination-DdMsVSAF.css +0 -0
  272. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/annotationStore-DEHKjdKh.js +0 -0
  273. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/authStore-w8taChNC.js +0 -0
  274. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/base.css +0 -0
  275. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/css/material-dashboard.css +0 -0
  276. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/css/material-dashboard.css.map +0 -0
  277. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/css/material-dashboard.min.css +0 -0
  278. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/css/nucleo-icons.css +0 -0
  279. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/css/nucleo-svg.css +0 -0
  280. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/fonts/nucleo-icons.eot +0 -0
  281. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/fonts/nucleo-icons.svg +0 -0
  282. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/fonts/nucleo-icons.ttf +0 -0
  283. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/fonts/nucleo-icons.woff +0 -0
  284. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/fonts/nucleo-icons.woff2 +0 -0
  285. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/fonts/nucleo.eot +0 -0
  286. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/fonts/nucleo.ttf +0 -0
  287. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/fonts/nucleo.woff +0 -0
  288. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/fonts/nucleo.woff2 +0 -0
  289. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/core/bootstrap.bundle.min.js +0 -0
  290. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/core/bootstrap.min.js +0 -0
  291. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/core/popper.min.js +0 -0
  292. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/material-dashboard.js +0 -0
  293. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/material-dashboard.js.map +0 -0
  294. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/material-dashboard.min.js +0 -0
  295. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/plugins/Chart.extension.js +0 -0
  296. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/plugins/bootstrap-notify.js +0 -0
  297. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/plugins/chartjs.min.js +0 -0
  298. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/plugins/countup.min.js +0 -0
  299. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/plugins/get_annotations.js +0 -0
  300. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/plugins/perfect-scrollbar.min.js +0 -0
  301. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/plugins/random-name-generator.js +0 -0
  302. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/plugins/smooth-scrollbar.min.js +0 -0
  303. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/plugins/submission-handler.js +0 -0
  304. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/js/plugins/world.js +0 -0
  305. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/logo.svg +0 -0
  306. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/main-DGGk9Vng.css +0 -0
  307. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/main-DethiONo.js +0 -0
  308. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/main.css +0 -0
  309. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/mediaTypeStore-D6KIykKn.js +0 -0
  310. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/nucleo-icons-BgnVbBvX.eot +0 -0
  311. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/nucleo-icons-BuEzPWOc.woff +0 -0
  312. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/nucleo-icons-C6OFysxg.svg +0 -0
  313. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/nucleo-icons-CTnIBWcu.woff2 +0 -0
  314. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/nucleo-icons-kNTzvw2K.ttf +0 -0
  315. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/patientStore-BazAFCNw.js +0 -0
  316. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_alert.scss +0 -0
  317. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_avatars.scss +0 -0
  318. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_badge.scss +0 -0
  319. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_breadcrumbs.scss +0 -0
  320. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_buttons.scss +0 -0
  321. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_cards.scss +0 -0
  322. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_dark-version.scss +0 -0
  323. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_dropdown.scss +0 -0
  324. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_dropup.scss +0 -0
  325. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_fixed-plugin.scss +0 -0
  326. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_footer.scss +0 -0
  327. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_forms.scss +0 -0
  328. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_gradients.scss +0 -0
  329. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_header.scss +0 -0
  330. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_icons.scss +0 -0
  331. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_info-areas.scss +0 -0
  332. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_misc.scss +0 -0
  333. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_nav.scss +0 -0
  334. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_navbar-vertical.scss +0 -0
  335. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_navbar.scss +0 -0
  336. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_pagination.scss +0 -0
  337. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_popovers.scss +0 -0
  338. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_progress.scss +0 -0
  339. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_ripple.scss +0 -0
  340. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_rtl.scss +0 -0
  341. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_social-buttons.scss +0 -0
  342. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_tables.scss +0 -0
  343. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_tilt.scss +0 -0
  344. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_timeline.scss +0 -0
  345. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_tooltips.scss +0 -0
  346. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_typography.scss +0 -0
  347. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_utilities-extend.scss +0 -0
  348. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_utilities.scss +0 -0
  349. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/_variables.scss +0 -0
  350. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_accordion.scss +0 -0
  351. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_alert.scss +0 -0
  352. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_badge.scss +0 -0
  353. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_breadcrumb.scss +0 -0
  354. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_button-group.scss +0 -0
  355. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_buttons.scss +0 -0
  356. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_card.scss +0 -0
  357. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_carousel.scss +0 -0
  358. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_close.scss +0 -0
  359. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_containers.scss +0 -0
  360. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_dropdown.scss +0 -0
  361. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_forms.scss +0 -0
  362. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_functions.scss +0 -0
  363. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_grid.scss +0 -0
  364. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_helpers.scss +0 -0
  365. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_images.scss +0 -0
  366. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_list-group.scss +0 -0
  367. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_maps.scss +0 -0
  368. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_mixins.scss +0 -0
  369. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_modal.scss +0 -0
  370. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_nav.scss +0 -0
  371. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_navbar.scss +0 -0
  372. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_offcanvas.scss +0 -0
  373. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_pagination.scss +0 -0
  374. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_placeholders.scss +0 -0
  375. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_popover.scss +0 -0
  376. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_progress.scss +0 -0
  377. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_reboot.scss +0 -0
  378. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_root.scss +0 -0
  379. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_spinners.scss +0 -0
  380. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_tables.scss +0 -0
  381. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_toasts.scss +0 -0
  382. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_tooltip.scss +0 -0
  383. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_transitions.scss +0 -0
  384. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_type.scss +0 -0
  385. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_utilities.scss +0 -0
  386. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/_variables.scss +0 -0
  387. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/bootstrap-grid.scss +0 -0
  388. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/bootstrap-reboot.scss +0 -0
  389. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/bootstrap-utilities.scss +0 -0
  390. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/bootstrap.scss +0 -0
  391. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/forms/_floating-labels.scss +0 -0
  392. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/forms/_form-check.scss +0 -0
  393. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/forms/_form-control.scss +0 -0
  394. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/forms/_form-range.scss +0 -0
  395. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/forms/_form-select.scss +0 -0
  396. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/forms/_form-text.scss +0 -0
  397. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/forms/_input-group.scss +0 -0
  398. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/forms/_labels.scss +0 -0
  399. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/forms/_validation.scss +0 -0
  400. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/helpers/_clearfix.scss +0 -0
  401. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/helpers/_color-bg.scss +0 -0
  402. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/helpers/_colored-links.scss +0 -0
  403. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/helpers/_position.scss +0 -0
  404. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/helpers/_ratio.scss +0 -0
  405. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/helpers/_stacks.scss +0 -0
  406. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/helpers/_stretched-link.scss +0 -0
  407. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/helpers/_text-truncation.scss +0 -0
  408. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/helpers/_visually-hidden.scss +0 -0
  409. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/helpers/_vr.scss +0 -0
  410. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_alert.scss +0 -0
  411. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_backdrop.scss +0 -0
  412. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_banner.scss +0 -0
  413. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_border-radius.scss +0 -0
  414. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_box-shadow.scss +0 -0
  415. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_breakpoints.scss +0 -0
  416. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_buttons.scss +0 -0
  417. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_caret.scss +0 -0
  418. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_clearfix.scss +0 -0
  419. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_color-scheme.scss +0 -0
  420. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_container.scss +0 -0
  421. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_deprecate.scss +0 -0
  422. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_forms.scss +0 -0
  423. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_gradients.scss +0 -0
  424. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_grid.scss +0 -0
  425. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_image.scss +0 -0
  426. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_list-group.scss +0 -0
  427. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_lists.scss +0 -0
  428. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_pagination.scss +0 -0
  429. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_reset-text.scss +0 -0
  430. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_resize.scss +0 -0
  431. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_table-variants.scss +0 -0
  432. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_text-truncate.scss +0 -0
  433. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_transition.scss +0 -0
  434. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_utilities.scss +0 -0
  435. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/mixins/_visually-hidden.scss +0 -0
  436. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/utilities/_api.scss +0 -0
  437. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/bootstrap/vendor/_rfs.scss +0 -0
  438. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/cards/card-background.scss +0 -0
  439. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/cards/card-rotate.scss +0 -0
  440. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/custom/_styles.scss +0 -0
  441. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/custom/_variables.scss +0 -0
  442. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/forms/_form-check.scss +0 -0
  443. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/forms/_form-select.scss +0 -0
  444. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/forms/_form-switch.scss +0 -0
  445. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/forms/_forms.scss +0 -0
  446. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/forms/_input-group.scss +0 -0
  447. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/forms/_inputs.scss +0 -0
  448. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/forms/_labels.scss +0 -0
  449. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/mixins/_badge.scss +0 -0
  450. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/mixins/_buttons.scss +0 -0
  451. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/mixins/_colored-shadows.scss +0 -0
  452. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/mixins/_hover.scss +0 -0
  453. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/mixins/_social-buttons.scss +0 -0
  454. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/mixins/_vendor.scss +0 -0
  455. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/mixins/mixins.scss +0 -0
  456. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/plugins/free/_flatpickr.scss +0 -0
  457. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/plugins/free/_nouislider.scss +0 -0
  458. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/plugins/free/_perfect-scrollbar.scss +0 -0
  459. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/plugins/free/_prism.scss +0 -0
  460. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/plugins/free/plugins.scss +0 -0
  461. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/theme.scss +0 -0
  462. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_animations.scss +0 -0
  463. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_avatars.scss +0 -0
  464. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_badge.scss +0 -0
  465. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_breadcrumb.scss +0 -0
  466. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_cards-extend.scss +0 -0
  467. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_cards.scss +0 -0
  468. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_choices.scss +0 -0
  469. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_dark-version.scss +0 -0
  470. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_dropdowns.scss +0 -0
  471. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_fixed-plugin.scss +0 -0
  472. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_form-switch.scss +0 -0
  473. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_full-calendar.scss +0 -0
  474. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_header.scss +0 -0
  475. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_info-areas.scss +0 -0
  476. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_misc-extend.scss +0 -0
  477. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_misc.scss +0 -0
  478. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_navbar-vertical.scss +0 -0
  479. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_navbar.scss +0 -0
  480. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_pagination.scss +0 -0
  481. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_ripple.scss +0 -0
  482. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_rtl.scss +0 -0
  483. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_social-buttons.scss +0 -0
  484. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_table.scss +0 -0
  485. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_timeline.scss +0 -0
  486. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_utilities-extend.scss +0 -0
  487. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_utilities.scss +0 -0
  488. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard/variables/_virtual-reality.scss +0 -0
  489. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/scss/material-dashboard.scss +0 -0
  490. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/usePollingProtection-5vxQa-Ko.js +0 -0
  491. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/assets/videoStore-ClqdABXQ.js +0 -0
  492. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/authStore-w8taChNC.js +0 -0
  493. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/base.css +0 -0
  494. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/css/material-dashboard.css +0 -0
  495. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/css/material-dashboard.css.map +0 -0
  496. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/css/material-dashboard.min.css +0 -0
  497. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/css/nucleo-icons.css +0 -0
  498. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/css/nucleo-svg.css +0 -0
  499. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/django_extensions/css/jquery.autocomplete.css +0 -0
  500. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/django_extensions/img/indicator.gif +0 -0
  501. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/django_extensions/js/jquery.ajaxQueue.js +0 -0
  502. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/django_extensions/js/jquery.autocomplete.js +0 -0
  503. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/django_extensions/js/jquery.bgiframe.js +0 -0
  504. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/fonts/nucleo-icons.eot +0 -0
  505. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/fonts/nucleo-icons.svg +0 -0
  506. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/fonts/nucleo-icons.ttf +0 -0
  507. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/fonts/nucleo-icons.woff +0 -0
  508. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/fonts/nucleo-icons.woff2 +0 -0
  509. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/fonts/nucleo.eot +0 -0
  510. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/fonts/nucleo.ttf +0 -0
  511. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/fonts/nucleo.woff +0 -0
  512. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/fonts/nucleo.woff2 +0 -0
  513. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/ColoReg.png +0 -0
  514. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/Universitaetsklinikum_Wuerzburg.jpg +0 -0
  515. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/ag_lux_logo_light_grey.svg +0 -0
  516. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/apple-icon.png +0 -0
  517. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/bg-pricing.jpg +0 -0
  518. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/bg-smart-home-1.jpg +0 -0
  519. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/bg-smart-home-2.jpg +0 -0
  520. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/bruce-mars.jpg +0 -0
  521. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/down-arrow-dark.svg +0 -0
  522. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/down-arrow-white.svg +0 -0
  523. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/down-arrow.svg +0 -0
  524. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/drake.jpg +0 -0
  525. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/favicon.png +0 -0
  526. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/frames_demo/frame1.jpg +0 -0
  527. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/frames_demo/frame2.jpg +0 -0
  528. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/frames_demo/frame3.jpg +0 -0
  529. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/frames_demo/frame4.jpg +0 -0
  530. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/home-decor-1.jpg +0 -0
  531. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/home-decor-2.jpg +0 -0
  532. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/home-decor-3.jpg +0 -0
  533. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/icons/flags/AU.png +0 -0
  534. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/icons/flags/BR.png +0 -0
  535. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/icons/flags/DE.png +0 -0
  536. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/icons/flags/GB.png +0 -0
  537. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/icons/flags/US.png +0 -0
  538. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/illustrations/chat.png +0 -0
  539. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/illustrations/danger-chat-ill.png +0 -0
  540. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/illustrations/dark-lock-ill.png +0 -0
  541. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/illustrations/error-404.png +0 -0
  542. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/illustrations/error-500.png +0 -0
  543. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/illustrations/illustration-lock.jpg +0 -0
  544. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/illustrations/illustration-reset.jpg +0 -0
  545. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/illustrations/illustration-signin.jpg +0 -0
  546. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/illustrations/illustration-signup.jpg +0 -0
  547. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/illustrations/illustration-verification.jpg +0 -0
  548. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/illustrations/lock.png +0 -0
  549. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/illustrations/pattern-tree.svg +0 -0
  550. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/illustrations/rocket-white.png +0 -0
  551. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/ivana-square.jpg +0 -0
  552. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/ivana-squares.jpg +0 -0
  553. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/ivancik.jpg +0 -0
  554. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/kal-visuals-square.jpg +0 -0
  555. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/logo-ct-dark.png +0 -0
  556. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/logo-ct.png +0 -0
  557. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/logos/ag_lux_logo_light_grey.svg +0 -0
  558. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/logos/ag_lux_logo_white.svg +0 -0
  559. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/logos/gray-logos/logo-coinbase.svg +0 -0
  560. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/logos/gray-logos/logo-nasa.svg +0 -0
  561. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/logos/gray-logos/logo-netflix.svg +0 -0
  562. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/logos/gray-logos/logo-pinterest.svg +0 -0
  563. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/logos/gray-logos/logo-spotify.svg +0 -0
  564. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/logos/gray-logos/logo-vodafone.svg +0 -0
  565. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/logos/mastercard.png +0 -0
  566. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/logos/visa.png +0 -0
  567. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/marie.jpg +0 -0
  568. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/meeting.jpg +0 -0
  569. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/office-dark.jpg +0 -0
  570. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/product-12.jpg +0 -0
  571. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/products/product-1-min.jpg +0 -0
  572. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/products/product-11.jpg +0 -0
  573. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/products/product-2-min.jpg +0 -0
  574. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/products/product-3-min.jpg +0 -0
  575. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/products/product-4-min.jpg +0 -0
  576. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/products/product-5-min.jpg +0 -0
  577. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/products/product-6-min.jpg +0 -0
  578. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/products/product-7-min.jpg +0 -0
  579. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/products/product-details-1.jpg +0 -0
  580. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/products/product-details-2.jpg +0 -0
  581. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/products/product-details-3.jpg +0 -0
  582. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/products/product-details-4.jpg +0 -0
  583. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/products/product-details-5.jpg +0 -0
  584. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/shapes/pattern-lines.svg +0 -0
  585. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/shapes/waves-white.svg +0 -0
  586. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/small-logos/bootstrap.svg +0 -0
  587. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/small-logos/creative-tim.svg +0 -0
  588. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/small-logos/devto.svg +0 -0
  589. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/small-logos/github.svg +0 -0
  590. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/small-logos/google-webdev.svg +0 -0
  591. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/small-logos/icon-bulb.svg +0 -0
  592. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/small-logos/icon-sun-cloud.png +0 -0
  593. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/small-logos/logo-asana.svg +0 -0
  594. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/small-logos/logo-atlassian.svg +0 -0
  595. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/small-logos/logo-invision.svg +0 -0
  596. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/small-logos/logo-jira.svg +0 -0
  597. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/small-logos/logo-slack.svg +0 -0
  598. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/small-logos/logo-spotify.svg +0 -0
  599. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/small-logos/logo-xd.svg +0 -0
  600. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/team-1.jpg +0 -0
  601. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/team-2.jpg +0 -0
  602. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/team-3.jpg +0 -0
  603. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/team-4.jpg +0 -0
  604. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/team-5.jpg +0 -0
  605. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/tesla-model-s.png +0 -0
  606. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/img/vr-bg.jpg +0 -0
  607. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/core/bootstrap.bundle.min.js +0 -0
  608. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/core/bootstrap.min.js +0 -0
  609. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/core/popper.min.js +0 -0
  610. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/material-dashboard.js +0 -0
  611. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/material-dashboard.js.map +0 -0
  612. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/material-dashboard.min.js +0 -0
  613. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/plugins/Chart.extension.js +0 -0
  614. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/plugins/bootstrap-notify.js +0 -0
  615. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/plugins/chartjs.min.js +0 -0
  616. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/plugins/countup.min.js +0 -0
  617. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/plugins/get_annotations.js +0 -0
  618. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/plugins/perfect-scrollbar.min.js +0 -0
  619. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/plugins/random-name-generator.js +0 -0
  620. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/plugins/smooth-scrollbar.min.js +0 -0
  621. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/plugins/submission-handler.js +0 -0
  622. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/js/plugins/world.js +0 -0
  623. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/logo.svg +0 -0
  624. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/main-DGGk9Vng.css +0 -0
  625. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/main-DethiONo.js +0 -0
  626. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/main.css +0 -0
  627. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/mediaTypeStore-D6KIykKn.js +0 -0
  628. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/modeltranslation/css/tabbed_translation_fields.css +0 -0
  629. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/modeltranslation/js/clearable_inputs.js +0 -0
  630. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/modeltranslation/js/force_jquery.js +0 -0
  631. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/modeltranslation/js/tabbed_translation_fields.js +0 -0
  632. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/nucleo-icons-BgnVbBvX.eot +0 -0
  633. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/nucleo-icons-BuEzPWOc.woff +0 -0
  634. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/nucleo-icons-C6OFysxg.svg +0 -0
  635. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/nucleo-icons-CTnIBWcu.woff2 +0 -0
  636. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/nucleo-icons-kNTzvw2K.ttf +0 -0
  637. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/patientStore-BazAFCNw.js +0 -0
  638. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/css/bootstrap-theme.min.css +0 -0
  639. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/css/bootstrap-theme.min.css.map +0 -0
  640. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/css/bootstrap-tweaks.css +0 -0
  641. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/css/bootstrap.min.css +0 -0
  642. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/css/bootstrap.min.css.map +0 -0
  643. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/css/default.css +0 -0
  644. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/css/font-awesome-4.0.3.css +0 -0
  645. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/css/prettify.css +0 -0
  646. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/docs/css/base.css +0 -0
  647. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/docs/css/highlight.css +0 -0
  648. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/docs/css/jquery.json-view.min.css +0 -0
  649. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/docs/img/favicon.ico +0 -0
  650. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/docs/img/grid.png +0 -0
  651. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/docs/js/api.js +0 -0
  652. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/docs/js/highlight.pack.js +0 -0
  653. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/docs/js/jquery.json-view.min.js +0 -0
  654. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/fonts/fontawesome-webfont.eot +0 -0
  655. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/fonts/fontawesome-webfont.svg +0 -0
  656. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/fonts/fontawesome-webfont.ttf +0 -0
  657. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/fonts/fontawesome-webfont.woff +0 -0
  658. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/fonts/glyphicons-halflings-regular.eot +0 -0
  659. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/fonts/glyphicons-halflings-regular.svg +0 -0
  660. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/fonts/glyphicons-halflings-regular.ttf +0 -0
  661. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/fonts/glyphicons-halflings-regular.woff +0 -0
  662. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/fonts/glyphicons-halflings-regular.woff2 +0 -0
  663. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/img/glyphicons-halflings-white.png +0 -0
  664. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/img/glyphicons-halflings.png +0 -0
  665. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/img/grid.png +0 -0
  666. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/js/ajax-form.js +0 -0
  667. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/js/bootstrap.min.js +0 -0
  668. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/js/coreapi-0.1.1.js +0 -0
  669. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/js/csrf.js +0 -0
  670. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/js/default.js +0 -0
  671. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/js/jquery-3.7.1.min.js +0 -0
  672. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/js/load-ajax-form.js +0 -0
  673. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/rest_framework/js/prettify-min.js +0 -0
  674. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_alert.scss +0 -0
  675. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_avatars.scss +0 -0
  676. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_badge.scss +0 -0
  677. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_breadcrumbs.scss +0 -0
  678. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_buttons.scss +0 -0
  679. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_cards.scss +0 -0
  680. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_dark-version.scss +0 -0
  681. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_dropdown.scss +0 -0
  682. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_dropup.scss +0 -0
  683. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_fixed-plugin.scss +0 -0
  684. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_footer.scss +0 -0
  685. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_forms.scss +0 -0
  686. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_gradients.scss +0 -0
  687. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_header.scss +0 -0
  688. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_icons.scss +0 -0
  689. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_info-areas.scss +0 -0
  690. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_misc.scss +0 -0
  691. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_nav.scss +0 -0
  692. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_navbar-vertical.scss +0 -0
  693. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_navbar.scss +0 -0
  694. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_pagination.scss +0 -0
  695. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_popovers.scss +0 -0
  696. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_progress.scss +0 -0
  697. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_ripple.scss +0 -0
  698. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_rtl.scss +0 -0
  699. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_social-buttons.scss +0 -0
  700. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_tables.scss +0 -0
  701. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_tilt.scss +0 -0
  702. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_timeline.scss +0 -0
  703. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_tooltips.scss +0 -0
  704. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_typography.scss +0 -0
  705. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_utilities-extend.scss +0 -0
  706. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_utilities.scss +0 -0
  707. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/_variables.scss +0 -0
  708. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_accordion.scss +0 -0
  709. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_alert.scss +0 -0
  710. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_badge.scss +0 -0
  711. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_breadcrumb.scss +0 -0
  712. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_button-group.scss +0 -0
  713. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_buttons.scss +0 -0
  714. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_card.scss +0 -0
  715. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_carousel.scss +0 -0
  716. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_close.scss +0 -0
  717. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_containers.scss +0 -0
  718. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_dropdown.scss +0 -0
  719. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_forms.scss +0 -0
  720. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_functions.scss +0 -0
  721. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_grid.scss +0 -0
  722. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_helpers.scss +0 -0
  723. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_images.scss +0 -0
  724. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_list-group.scss +0 -0
  725. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_maps.scss +0 -0
  726. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_mixins.scss +0 -0
  727. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_modal.scss +0 -0
  728. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_nav.scss +0 -0
  729. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_navbar.scss +0 -0
  730. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_offcanvas.scss +0 -0
  731. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_pagination.scss +0 -0
  732. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_placeholders.scss +0 -0
  733. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_popover.scss +0 -0
  734. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_progress.scss +0 -0
  735. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_reboot.scss +0 -0
  736. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_root.scss +0 -0
  737. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_spinners.scss +0 -0
  738. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_tables.scss +0 -0
  739. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_toasts.scss +0 -0
  740. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_tooltip.scss +0 -0
  741. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_transitions.scss +0 -0
  742. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_type.scss +0 -0
  743. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_utilities.scss +0 -0
  744. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/_variables.scss +0 -0
  745. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/bootstrap-grid.scss +0 -0
  746. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/bootstrap-reboot.scss +0 -0
  747. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/bootstrap-utilities.scss +0 -0
  748. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/bootstrap.scss +0 -0
  749. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/forms/_floating-labels.scss +0 -0
  750. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/forms/_form-check.scss +0 -0
  751. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/forms/_form-control.scss +0 -0
  752. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/forms/_form-range.scss +0 -0
  753. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/forms/_form-select.scss +0 -0
  754. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/forms/_form-text.scss +0 -0
  755. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/forms/_input-group.scss +0 -0
  756. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/forms/_labels.scss +0 -0
  757. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/forms/_validation.scss +0 -0
  758. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/helpers/_clearfix.scss +0 -0
  759. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/helpers/_color-bg.scss +0 -0
  760. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/helpers/_colored-links.scss +0 -0
  761. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/helpers/_position.scss +0 -0
  762. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/helpers/_ratio.scss +0 -0
  763. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/helpers/_stacks.scss +0 -0
  764. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/helpers/_stretched-link.scss +0 -0
  765. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/helpers/_text-truncation.scss +0 -0
  766. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/helpers/_visually-hidden.scss +0 -0
  767. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/helpers/_vr.scss +0 -0
  768. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_alert.scss +0 -0
  769. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_backdrop.scss +0 -0
  770. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_banner.scss +0 -0
  771. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_border-radius.scss +0 -0
  772. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_box-shadow.scss +0 -0
  773. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_breakpoints.scss +0 -0
  774. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_buttons.scss +0 -0
  775. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_caret.scss +0 -0
  776. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_clearfix.scss +0 -0
  777. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_color-scheme.scss +0 -0
  778. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_container.scss +0 -0
  779. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_deprecate.scss +0 -0
  780. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_forms.scss +0 -0
  781. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_gradients.scss +0 -0
  782. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_grid.scss +0 -0
  783. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_image.scss +0 -0
  784. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_list-group.scss +0 -0
  785. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_lists.scss +0 -0
  786. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_pagination.scss +0 -0
  787. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_reset-text.scss +0 -0
  788. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_resize.scss +0 -0
  789. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_table-variants.scss +0 -0
  790. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_text-truncate.scss +0 -0
  791. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_transition.scss +0 -0
  792. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_utilities.scss +0 -0
  793. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/mixins/_visually-hidden.scss +0 -0
  794. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/utilities/_api.scss +0 -0
  795. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/bootstrap/vendor/_rfs.scss +0 -0
  796. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/cards/card-background.scss +0 -0
  797. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/cards/card-rotate.scss +0 -0
  798. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/custom/_styles.scss +0 -0
  799. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/custom/_variables.scss +0 -0
  800. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/forms/_form-check.scss +0 -0
  801. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/forms/_form-select.scss +0 -0
  802. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/forms/_form-switch.scss +0 -0
  803. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/forms/_forms.scss +0 -0
  804. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/forms/_input-group.scss +0 -0
  805. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/forms/_inputs.scss +0 -0
  806. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/forms/_labels.scss +0 -0
  807. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/mixins/_badge.scss +0 -0
  808. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/mixins/_buttons.scss +0 -0
  809. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/mixins/_colored-shadows.scss +0 -0
  810. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/mixins/_hover.scss +0 -0
  811. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/mixins/_social-buttons.scss +0 -0
  812. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/mixins/_vendor.scss +0 -0
  813. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/mixins/mixins.scss +0 -0
  814. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/plugins/free/_flatpickr.scss +0 -0
  815. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/plugins/free/_nouislider.scss +0 -0
  816. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/plugins/free/_perfect-scrollbar.scss +0 -0
  817. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/plugins/free/_prism.scss +0 -0
  818. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/plugins/free/plugins.scss +0 -0
  819. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/theme.scss +0 -0
  820. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_animations.scss +0 -0
  821. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_avatars.scss +0 -0
  822. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_badge.scss +0 -0
  823. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_breadcrumb.scss +0 -0
  824. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_cards-extend.scss +0 -0
  825. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_cards.scss +0 -0
  826. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_choices.scss +0 -0
  827. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_dark-version.scss +0 -0
  828. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_dropdowns.scss +0 -0
  829. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_fixed-plugin.scss +0 -0
  830. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_form-switch.scss +0 -0
  831. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_full-calendar.scss +0 -0
  832. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_header.scss +0 -0
  833. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_info-areas.scss +0 -0
  834. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_misc-extend.scss +0 -0
  835. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_misc.scss +0 -0
  836. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_navbar-vertical.scss +0 -0
  837. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_navbar.scss +0 -0
  838. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_pagination.scss +0 -0
  839. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_ripple.scss +0 -0
  840. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_rtl.scss +0 -0
  841. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_social-buttons.scss +0 -0
  842. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_table.scss +0 -0
  843. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_timeline.scss +0 -0
  844. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_utilities-extend.scss +0 -0
  845. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_utilities.scss +0 -0
  846. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard/variables/_virtual-reality.scss +0 -0
  847. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/scss/material-dashboard.scss +0 -0
  848. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/silent-check-sso.html +0 -0
  849. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/usePollingProtection-5vxQa-Ko.js +0 -0
  850. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/static/videoStore-ClqdABXQ.js +0 -0
  851. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/storage/__init__.py +0 -0
  852. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/storage/encrypted.py +0 -0
  853. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/storage/encryption.py +0 -0
  854. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/tasks.py +0 -0
  855. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/templates/base.html +0 -0
  856. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/urls.py +0 -0
  857. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/views/__init__.py +0 -0
  858. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/views/hub_export.py +0 -0
  859. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/lx_annotate/wsgi.py +0 -0
  860. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/manage.py +0 -0
  861. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/AboutUs.js +0 -0
  862. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/AnnotationDashboard.js +0 -0
  863. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/AnonymizationCorrectionComponent.css +0 -0
  864. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/AnonymizationCorrectionComponent.js +0 -0
  865. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/AnonymizationOverview.css +0 -0
  866. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/AnonymizationOverview.js +0 -0
  867. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/AnonymizationValidationComponent.css +0 -0
  868. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/AnonymizationValidationComponent.js +0 -0
  869. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/ApplicationSettingsPage.css +0 -0
  870. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/ApplicationSettingsPage.js +0 -0
  871. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/CaseResolutionPage.js +0 -0
  872. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/CaseSetupPage.js +0 -0
  873. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/ColoReg.png +0 -0
  874. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/Dashboard.js +0 -0
  875. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/Documentation.css +0 -0
  876. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/Documentation.js +0 -0
  877. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/Export.css +0 -0
  878. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/Export.js +0 -0
  879. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/FinalizedResultPage.js +0 -0
  880. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/FrameSelectorPage.css +0 -0
  881. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/FrameSelectorPage.js +0 -0
  882. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/HubExport.css +0 -0
  883. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/HubExport.js +0 -0
  884. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/PageOverview.css +0 -0
  885. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/PageOverview.js +0 -0
  886. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/Profile.js +0 -0
  887. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/ReportEditorPage.js +0 -0
  888. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/ReportTemplateBuilderPage.js +0 -0
  889. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/ReportingShell.css +0 -0
  890. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/ReportingShell.js +0 -0
  891. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/ReportingWorklistPage.js +0 -0
  892. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/Timeline.css +0 -0
  893. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/Timeline.js +0 -0
  894. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/VideoExamination.css +0 -0
  895. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/VideoExamination.js +0 -0
  896. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/applicationSettingsApi.js +0 -0
  897. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/base.css +0 -0
  898. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/css/material-dashboard.css +0 -0
  899. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/css/material-dashboard.css.map +0 -0
  900. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/css/material-dashboard.min.css +0 -0
  901. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/css/nucleo-icons.css +0 -0
  902. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/css/nucleo-svg.css +0 -0
  903. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/fonts/nucleo-icons.eot +0 -0
  904. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/fonts/nucleo-icons.svg +0 -0
  905. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/fonts/nucleo-icons.ttf +0 -0
  906. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/fonts/nucleo-icons.woff +0 -0
  907. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/fonts/nucleo-icons.woff2 +0 -0
  908. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/fonts/nucleo.eot +0 -0
  909. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/fonts/nucleo.ttf +0 -0
  910. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/fonts/nucleo.woff +0 -0
  911. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/fonts/nucleo.woff2 +0 -0
  912. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/core/bootstrap.bundle.min.js +0 -0
  913. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/core/bootstrap.min.js +0 -0
  914. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/core/popper.min.js +0 -0
  915. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/material-dashboard.js +0 -0
  916. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/material-dashboard.js.map +0 -0
  917. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/material-dashboard.min.js +0 -0
  918. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/plugins/Chart.extension.js +0 -0
  919. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/plugins/bootstrap-notify.js +0 -0
  920. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/plugins/chartjs.min.js +0 -0
  921. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/plugins/countup.min.js +0 -0
  922. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/plugins/get_annotations.js +0 -0
  923. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/plugins/perfect-scrollbar.min.js +0 -0
  924. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/plugins/random-name-generator.js +0 -0
  925. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/plugins/smooth-scrollbar.min.js +0 -0
  926. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/plugins/submission-handler.js +0 -0
  927. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/js/plugins/world.js +0 -0
  928. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/logo.svg +0 -0
  929. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/main.css +0 -0
  930. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_alert.scss +0 -0
  931. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_avatars.scss +0 -0
  932. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_badge.scss +0 -0
  933. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_breadcrumbs.scss +0 -0
  934. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_buttons.scss +0 -0
  935. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_cards.scss +0 -0
  936. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_dark-version.scss +0 -0
  937. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_dropdown.scss +0 -0
  938. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_dropup.scss +0 -0
  939. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_fixed-plugin.scss +0 -0
  940. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_footer.scss +0 -0
  941. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_forms.scss +0 -0
  942. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_gradients.scss +0 -0
  943. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_header.scss +0 -0
  944. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_icons.scss +0 -0
  945. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_info-areas.scss +0 -0
  946. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_misc.scss +0 -0
  947. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_nav.scss +0 -0
  948. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_navbar-vertical.scss +0 -0
  949. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_navbar.scss +0 -0
  950. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_pagination.scss +0 -0
  951. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_popovers.scss +0 -0
  952. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_progress.scss +0 -0
  953. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_ripple.scss +0 -0
  954. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_rtl.scss +0 -0
  955. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_social-buttons.scss +0 -0
  956. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_tables.scss +0 -0
  957. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_tilt.scss +0 -0
  958. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_timeline.scss +0 -0
  959. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_tooltips.scss +0 -0
  960. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_typography.scss +0 -0
  961. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_utilities-extend.scss +0 -0
  962. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_utilities.scss +0 -0
  963. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/_variables.scss +0 -0
  964. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_accordion.scss +0 -0
  965. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_alert.scss +0 -0
  966. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_badge.scss +0 -0
  967. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_breadcrumb.scss +0 -0
  968. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_button-group.scss +0 -0
  969. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_buttons.scss +0 -0
  970. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_card.scss +0 -0
  971. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_carousel.scss +0 -0
  972. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_close.scss +0 -0
  973. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_containers.scss +0 -0
  974. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_dropdown.scss +0 -0
  975. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_forms.scss +0 -0
  976. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_functions.scss +0 -0
  977. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_grid.scss +0 -0
  978. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_helpers.scss +0 -0
  979. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_images.scss +0 -0
  980. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_list-group.scss +0 -0
  981. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_maps.scss +0 -0
  982. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_mixins.scss +0 -0
  983. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_modal.scss +0 -0
  984. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_nav.scss +0 -0
  985. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_navbar.scss +0 -0
  986. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_offcanvas.scss +0 -0
  987. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_pagination.scss +0 -0
  988. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_placeholders.scss +0 -0
  989. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_popover.scss +0 -0
  990. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_progress.scss +0 -0
  991. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_reboot.scss +0 -0
  992. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_root.scss +0 -0
  993. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_spinners.scss +0 -0
  994. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_tables.scss +0 -0
  995. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_toasts.scss +0 -0
  996. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_tooltip.scss +0 -0
  997. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_transitions.scss +0 -0
  998. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_type.scss +0 -0
  999. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_utilities.scss +0 -0
  1000. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/_variables.scss +0 -0
  1001. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/bootstrap-grid.scss +0 -0
  1002. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/bootstrap-reboot.scss +0 -0
  1003. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/bootstrap-utilities.scss +0 -0
  1004. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/bootstrap.scss +0 -0
  1005. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/forms/_floating-labels.scss +0 -0
  1006. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/forms/_form-check.scss +0 -0
  1007. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/forms/_form-control.scss +0 -0
  1008. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/forms/_form-range.scss +0 -0
  1009. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/forms/_form-select.scss +0 -0
  1010. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/forms/_form-text.scss +0 -0
  1011. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/forms/_input-group.scss +0 -0
  1012. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/forms/_labels.scss +0 -0
  1013. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/forms/_validation.scss +0 -0
  1014. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/helpers/_clearfix.scss +0 -0
  1015. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/helpers/_color-bg.scss +0 -0
  1016. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/helpers/_colored-links.scss +0 -0
  1017. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/helpers/_position.scss +0 -0
  1018. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/helpers/_ratio.scss +0 -0
  1019. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/helpers/_stacks.scss +0 -0
  1020. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/helpers/_stretched-link.scss +0 -0
  1021. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/helpers/_text-truncation.scss +0 -0
  1022. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/helpers/_visually-hidden.scss +0 -0
  1023. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/helpers/_vr.scss +0 -0
  1024. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_alert.scss +0 -0
  1025. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_backdrop.scss +0 -0
  1026. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_banner.scss +0 -0
  1027. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_border-radius.scss +0 -0
  1028. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_box-shadow.scss +0 -0
  1029. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_breakpoints.scss +0 -0
  1030. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_buttons.scss +0 -0
  1031. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_caret.scss +0 -0
  1032. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_clearfix.scss +0 -0
  1033. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_color-scheme.scss +0 -0
  1034. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_container.scss +0 -0
  1035. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_deprecate.scss +0 -0
  1036. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_forms.scss +0 -0
  1037. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_gradients.scss +0 -0
  1038. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_grid.scss +0 -0
  1039. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_image.scss +0 -0
  1040. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_list-group.scss +0 -0
  1041. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_lists.scss +0 -0
  1042. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_pagination.scss +0 -0
  1043. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_reset-text.scss +0 -0
  1044. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_resize.scss +0 -0
  1045. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_table-variants.scss +0 -0
  1046. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_text-truncate.scss +0 -0
  1047. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_transition.scss +0 -0
  1048. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_utilities.scss +0 -0
  1049. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/mixins/_visually-hidden.scss +0 -0
  1050. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/utilities/_api.scss +0 -0
  1051. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/bootstrap/vendor/_rfs.scss +0 -0
  1052. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/cards/card-background.scss +0 -0
  1053. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/cards/card-rotate.scss +0 -0
  1054. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/custom/_styles.scss +0 -0
  1055. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/custom/_variables.scss +0 -0
  1056. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/forms/_form-check.scss +0 -0
  1057. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/forms/_form-select.scss +0 -0
  1058. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/forms/_form-switch.scss +0 -0
  1059. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/forms/_forms.scss +0 -0
  1060. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/forms/_input-group.scss +0 -0
  1061. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/forms/_inputs.scss +0 -0
  1062. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/forms/_labels.scss +0 -0
  1063. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/mixins/_badge.scss +0 -0
  1064. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/mixins/_buttons.scss +0 -0
  1065. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/mixins/_colored-shadows.scss +0 -0
  1066. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/mixins/_hover.scss +0 -0
  1067. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/mixins/_social-buttons.scss +0 -0
  1068. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/mixins/_vendor.scss +0 -0
  1069. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/mixins/mixins.scss +0 -0
  1070. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/plugins/free/_flatpickr.scss +0 -0
  1071. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/plugins/free/_nouislider.scss +0 -0
  1072. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/plugins/free/_perfect-scrollbar.scss +0 -0
  1073. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/plugins/free/_prism.scss +0 -0
  1074. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/plugins/free/plugins.scss +0 -0
  1075. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/theme.scss +0 -0
  1076. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_animations.scss +0 -0
  1077. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_avatars.scss +0 -0
  1078. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_badge.scss +0 -0
  1079. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_breadcrumb.scss +0 -0
  1080. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_cards-extend.scss +0 -0
  1081. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_cards.scss +0 -0
  1082. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_choices.scss +0 -0
  1083. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_dark-version.scss +0 -0
  1084. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_dropdowns.scss +0 -0
  1085. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_fixed-plugin.scss +0 -0
  1086. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_form-switch.scss +0 -0
  1087. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_full-calendar.scss +0 -0
  1088. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_header.scss +0 -0
  1089. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_info-areas.scss +0 -0
  1090. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_misc-extend.scss +0 -0
  1091. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_misc.scss +0 -0
  1092. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_navbar-vertical.scss +0 -0
  1093. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_navbar.scss +0 -0
  1094. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_pagination.scss +0 -0
  1095. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_ripple.scss +0 -0
  1096. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_rtl.scss +0 -0
  1097. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_social-buttons.scss +0 -0
  1098. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_table.scss +0 -0
  1099. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_timeline.scss +0 -0
  1100. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_utilities-extend.scss +0 -0
  1101. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_utilities.scss +0 -0
  1102. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard/variables/_virtual-reality.scss +0 -0
  1103. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/assets/scss/material-dashboard.scss +0 -0
  1104. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/dateHelpers.js +0 -0
  1105. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/examinationStore.js +0 -0
  1106. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/findingsApi.js +0 -0
  1107. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/Universitaetsklinikum_Wuerzburg.jpg +0 -0
  1108. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/ag_lux_logo_light_grey.svg +0 -0
  1109. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/apple-icon.png +0 -0
  1110. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/bg-pricing.jpg +0 -0
  1111. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/bg-smart-home-1.jpg +0 -0
  1112. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/bg-smart-home-2.jpg +0 -0
  1113. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/bruce-mars.jpg +0 -0
  1114. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/down-arrow-dark.svg +0 -0
  1115. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/down-arrow-white.svg +0 -0
  1116. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/down-arrow.svg +0 -0
  1117. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/drake.jpg +0 -0
  1118. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/favicon.png +0 -0
  1119. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/frames_demo/frame1.jpg +0 -0
  1120. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/frames_demo/frame2.jpg +0 -0
  1121. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/frames_demo/frame3.jpg +0 -0
  1122. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/frames_demo/frame4.jpg +0 -0
  1123. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/home-decor-1.jpg +0 -0
  1124. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/home-decor-2.jpg +0 -0
  1125. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/home-decor-3.jpg +0 -0
  1126. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/icons/flags/AU.png +0 -0
  1127. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/icons/flags/BR.png +0 -0
  1128. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/icons/flags/DE.png +0 -0
  1129. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/icons/flags/GB.png +0 -0
  1130. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/icons/flags/US.png +0 -0
  1131. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/illustrations/chat.png +0 -0
  1132. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/illustrations/danger-chat-ill.png +0 -0
  1133. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/illustrations/dark-lock-ill.png +0 -0
  1134. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/illustrations/error-404.png +0 -0
  1135. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/illustrations/error-500.png +0 -0
  1136. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/illustrations/illustration-lock.jpg +0 -0
  1137. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/illustrations/illustration-reset.jpg +0 -0
  1138. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/illustrations/illustration-signin.jpg +0 -0
  1139. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/illustrations/illustration-signup.jpg +0 -0
  1140. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/illustrations/illustration-verification.jpg +0 -0
  1141. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/illustrations/lock.png +0 -0
  1142. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/illustrations/pattern-tree.svg +0 -0
  1143. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/illustrations/rocket-white.png +0 -0
  1144. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/ivana-square.jpg +0 -0
  1145. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/ivana-squares.jpg +0 -0
  1146. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/ivancik.jpg +0 -0
  1147. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/kal-visuals-square.jpg +0 -0
  1148. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/logo-ct-dark.png +0 -0
  1149. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/logo-ct.png +0 -0
  1150. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/logos/ag_lux_logo_light_grey.svg +0 -0
  1151. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/logos/ag_lux_logo_white.svg +0 -0
  1152. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/logos/gray-logos/logo-coinbase.svg +0 -0
  1153. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/logos/gray-logos/logo-nasa.svg +0 -0
  1154. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/logos/gray-logos/logo-netflix.svg +0 -0
  1155. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/logos/gray-logos/logo-pinterest.svg +0 -0
  1156. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/logos/gray-logos/logo-spotify.svg +0 -0
  1157. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/logos/gray-logos/logo-vodafone.svg +0 -0
  1158. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/logos/mastercard.png +0 -0
  1159. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/logos/visa.png +0 -0
  1160. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/marie.jpg +0 -0
  1161. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/meeting.jpg +0 -0
  1162. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/office-dark.jpg +0 -0
  1163. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/product-12.jpg +0 -0
  1164. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/products/product-1-min.jpg +0 -0
  1165. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/products/product-11.jpg +0 -0
  1166. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/products/product-2-min.jpg +0 -0
  1167. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/products/product-3-min.jpg +0 -0
  1168. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/products/product-4-min.jpg +0 -0
  1169. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/products/product-5-min.jpg +0 -0
  1170. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/products/product-6-min.jpg +0 -0
  1171. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/products/product-7-min.jpg +0 -0
  1172. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/products/product-details-1.jpg +0 -0
  1173. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/products/product-details-2.jpg +0 -0
  1174. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/products/product-details-3.jpg +0 -0
  1175. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/products/product-details-4.jpg +0 -0
  1176. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/products/product-details-5.jpg +0 -0
  1177. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/shapes/pattern-lines.svg +0 -0
  1178. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/shapes/waves-white.svg +0 -0
  1179. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/small-logos/bootstrap.svg +0 -0
  1180. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/small-logos/creative-tim.svg +0 -0
  1181. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/small-logos/devto.svg +0 -0
  1182. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/small-logos/github.svg +0 -0
  1183. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/small-logos/google-webdev.svg +0 -0
  1184. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/small-logos/icon-bulb.svg +0 -0
  1185. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/small-logos/icon-sun-cloud.png +0 -0
  1186. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/small-logos/logo-asana.svg +0 -0
  1187. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/small-logos/logo-atlassian.svg +0 -0
  1188. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/small-logos/logo-invision.svg +0 -0
  1189. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/small-logos/logo-jira.svg +0 -0
  1190. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/small-logos/logo-slack.svg +0 -0
  1191. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/small-logos/logo-spotify.svg +0 -0
  1192. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/small-logos/logo-xd.svg +0 -0
  1193. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/team-1.jpg +0 -0
  1194. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/team-2.jpg +0 -0
  1195. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/team-3.jpg +0 -0
  1196. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/team-4.jpg +0 -0
  1197. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/team-5.jpg +0 -0
  1198. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/tesla-model-s.png +0 -0
  1199. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/img/vr-bg.jpg +0 -0
  1200. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/index.js +0 -0
  1201. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/main.css +0 -0
  1202. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/mediaTypeStore.js +0 -0
  1203. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/mediaUrls.js +0 -0
  1204. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/nucleo-icons.eot +0 -0
  1205. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/nucleo-icons.svg +0 -0
  1206. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/nucleo-icons.ttf +0 -0
  1207. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/nucleo-icons.woff +0 -0
  1208. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/nucleo-icons.woff2 +0 -0
  1209. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/patientExaminationStore.js +0 -0
  1210. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/patientStore.js +0 -0
  1211. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/pdf.js +0 -0
  1212. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/pdf.worker.min.js +0 -0
  1213. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/pdf.worker.min.mjs +0 -0
  1214. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/silent-check-sso.html +0 -0
  1215. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/timeHelpers.js +0 -0
  1216. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/useDebug.js +0 -0
  1217. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/useFindingSelectors.js +0 -0
  1218. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/useReportTemplates.css +0 -0
  1219. {lx_annotate-0.3.2 → lx_annotate-0.3.4}/staticfiles/videoStore.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lx-annotate
3
- Version: 0.3.2
3
+ Version: 0.3.4
4
4
  Summary: This webapp provides a frontend interface for pseudonymizing and annotating data and applying AI predictions.
5
5
  Author-email: Max Hild <maxhild10@gmail.com>, "Thomas J. Lux" <lux_t1@ukw.de>
6
6
  Maintainer: Hamza Zahid, Peter Kowalczyk
@@ -31,9 +31,9 @@ Requires-Dist: django-webpack-loader>=0.7.0
31
31
  Requires-Dist: django==6.0.3
32
32
  Requires-Dist: djangorestframework>=3.12.4
33
33
  Requires-Dist: drf-spectacular>=0.28.0
34
- Requires-Dist: endoreg-db==0.9.6.0
34
+ Requires-Dist: endoreg-db==0.9.6.1
35
35
  Requires-Dist: gunicorn>=23.0.0
36
- Requires-Dist: lx-dtypes==0.1.4
36
+ Requires-Dist: lx-dtypes==0.1.5
37
37
  Requires-Dist: mozilla-django-oidc>=4.0.1
38
38
  Requires-Dist: mypy>=1.18.2
39
39
  Requires-Dist: numpy>=1.21.0
@@ -304,7 +304,7 @@ class AutoProcessingHandler(FileSystemEventHandler):
304
304
  self.default_model = "image_multilabel_classification_colonoscopy_default"
305
305
 
306
306
  self.executor = ThreadPoolExecutor(
307
- max_workers=2, thread_name_prefix="FileProcessor"
307
+ max_workers=1, thread_name_prefix="FileProcessor"
308
308
  )
309
309
  self.pseudonymized_dir = INTAKE_PREANONYMIZED_DIR
310
310
 
@@ -431,31 +431,43 @@ class AutoProcessingHandler(FileSystemEventHandler):
431
431
  finally:
432
432
  self._release_processing_slot(path_key)
433
433
 
434
- def _wait_for_file_stable(self, path: Path, timeout: int = 30) -> bool:
434
+ def _wait_for_file_stable(
435
+ self,
436
+ path: Path,
437
+ timeout: int = 900,
438
+ stable_checks_required: int = 10,
439
+ interval: float = 2.0,
440
+ ) -> bool:
435
441
  if not path.exists() or should_ignore_file(path):
436
442
  return False
437
443
 
438
- initial_size = -1
444
+ last_size = -1
439
445
  stable_checks = 0
440
- for _ in range(timeout):
446
+ deadline = time.monotonic() + timeout
447
+
448
+ while time.monotonic() < deadline:
441
449
  try:
442
450
  current_size = path.stat().st_size
443
- if current_size == initial_size:
444
- stable_checks += 1
445
- if stable_checks >= 3:
446
- logger.debug("File stable: %s (%s bytes)", path, current_size)
447
- return True
448
- else:
449
- stable_checks = 0
450
- initial_size = current_size
451
- logger.debug(
452
- "File still changing: %s (%s bytes)", path, current_size
453
- )
454
- time.sleep(1)
455
- except (OSError, IOError) as exc:
456
- logger.debug("Error checking file size: %s", exc)
457
- time.sleep(1)
451
+ except OSError as exc:
452
+ logger.debug("Error checking file size for %s: %s", path, exc)
453
+ time.sleep(interval)
454
+ continue
455
+
456
+ if current_size <= 0:
457
+ stable_checks = 0
458
+ elif current_size == last_size:
459
+ stable_checks += 1
460
+ if stable_checks >= stable_checks_required:
461
+ logger.info("File stable: %s (%s bytes)", path, current_size)
462
+ return True
463
+ else:
464
+ stable_checks = 0
465
+ last_size = current_size
466
+ logger.debug("File still changing: %s (%s bytes)", path, current_size)
467
+
468
+ time.sleep(interval)
458
469
 
470
+ logger.warning("Timed out waiting for stable file: %s", path)
459
471
  return False
460
472
 
461
473
  def _process_video(self, video_path: Path) -> None:
@@ -5,7 +5,7 @@ build-backend = "hatchling.build"
5
5
  [project]
6
6
  name = "lx-annotate"
7
7
 
8
- version = "0.3.2"
8
+ version = "0.3.4"
9
9
  description = "This webapp provides a frontend interface for pseudonymizing and annotating data and applying AI predictions."
10
10
  authors = [
11
11
  { name = "Max Hild", email = "maxhild10@gmail.com"},
@@ -61,7 +61,7 @@ dependencies = [
61
61
  "types-requests>=2.32.4.20250913",
62
62
  "black>=25.12.0",
63
63
  "mypy>=1.18.2",
64
- "endoreg-db==0.9.6.0",
64
+ "endoreg-db==0.9.6.1",
65
65
  "pydantic-settings>=2.12.0",
66
66
  "pydantic>=2.12.5",
67
67
  "sops>=1.18",
@@ -70,7 +70,7 @@ dependencies = [
70
70
  "cryptography>=45.0.0",
71
71
  "django-linear-migrations>=2.19.0",
72
72
  "build>=1.4.2",
73
- "lx-dtypes==0.1.4",
73
+ "lx-dtypes==0.1.5",
74
74
  ]
75
75
 
76
76
  [tool.pytest.ini_options]
@@ -81,14 +81,6 @@ addopts = [
81
81
  "-ra",
82
82
  ]
83
83
 
84
- [tool.uv.sources]
85
- lx-dtypes = { workspace = true }
86
-
87
- [tool.uv.workspace]
88
- members = [
89
- "lx-data-models",
90
- ]
91
-
92
84
  [tool.hatch.build]
93
85
  include = [
94
86
  "/README.md",
@@ -29,6 +29,14 @@
29
29
  "Timeline.css"
30
30
  ]
31
31
  },
32
+ "_annotationQueue.js": {
33
+ "file": "annotationQueue.js",
34
+ "name": "annotationQueue",
35
+ "imports": [
36
+ "src/main.ts",
37
+ "_applicationSettingsApi.js"
38
+ ]
39
+ },
32
40
  "_applicationSettingsApi.js": {
33
41
  "file": "applicationSettingsApi.js",
34
42
  "name": "applicationSettingsApi",
@@ -356,6 +364,7 @@
356
364
  "isDynamicEntry": true,
357
365
  "imports": [
358
366
  "src/main.ts",
367
+ "_annotationQueue.js",
359
368
  "_applicationSettingsApi.js"
360
369
  ],
361
370
  "css": [
@@ -380,7 +389,9 @@
380
389
  "src": "src/views/ModelTrainingPage.vue",
381
390
  "isDynamicEntry": true,
382
391
  "imports": [
383
- "src/main.ts"
392
+ "src/main.ts",
393
+ "_annotationQueue.js",
394
+ "_applicationSettingsApi.js"
384
395
  ],
385
396
  "css": [
386
397
  "ModelTrainingPage.css"
@@ -1 +1 @@
1
- .annotation-stats-overview[data-v-f7319b00]{padding:0}.player-card[data-v-f7319b00],.mission-card[data-v-f7319b00]{border:1px solid rgba(45,48,71,.1);box-shadow:0 12px 26px #131e3514;border-radius:12px}.player-kicker[data-v-f7319b00]{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#596780;font-weight:700}.player-title[data-v-f7319b00]{font-weight:700;color:#2d3047}.achievement-pill[data-v-f7319b00]{background:linear-gradient(135deg,#fff6d6,#ffe9a9);border:1px solid rgba(166,124,0,.25);color:#7a5a00;border-radius:999px;padding:.35rem .75rem;font-weight:700;font-size:.82rem}.achievement-badge[data-v-f7319b00]{border:1px solid rgba(45,48,71,.12);color:#344767;background:linear-gradient(180deg,#fff,#f4f7fc)!important}.mission-card[data-v-f7319b00]{background:linear-gradient(180deg,#fcfdff,#f6faff)}.mission-title[data-v-f7319b00]{font-size:1.03rem;font-weight:700;color:#344767}.bg-gradient-primary[data-v-f7319b00]{background:linear-gradient(135deg,#667eea,#764ba2)}.annotation-type-card[data-v-f7319b00]{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;border:1px solid rgba(45,48,71,.08);box-shadow:0 10px 24px #131e350f}.annotation-type-card[data-v-f7319b00]:hover{transform:translateY(-2px);box-shadow:0 16px 32px #131e351f;border-color:#2d30472e}.stats-grid[data-v-f7319b00]{display:grid;grid-template-columns:1fr;gap:15px}.stat-item[data-v-f7319b00]{display:flex;align-items:center;padding:10px;border-radius:8px;background:#f8f9fa}.stat-item.pending[data-v-f7319b00]{border-left:4px solid #ffc107}.stat-item.in-progress[data-v-f7319b00]{border-left:4px solid #17a2b8}.stat-item.completed[data-v-f7319b00]{border-left:4px solid #28a745}.stat-icon[data-v-f7319b00]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:12px;color:#fff;font-size:16px}.stat-item.pending .stat-icon[data-v-f7319b00]{background:#ffc107}.stat-item.in-progress .stat-icon[data-v-f7319b00]{background:#17a2b8}.stat-item.completed .stat-icon[data-v-f7319b00]{background:#28a745}.stat-info[data-v-f7319b00]{flex:1}.stat-number[data-v-f7319b00]{font-size:24px;font-weight:700;line-height:1}.stat-label[data-v-f7319b00]{font-size:12px;color:#6c757d;margin-top:2px}.progress-text[data-v-f7319b00]{font-size:14px;font-weight:500}.quick-action-item[data-v-f7319b00]{display:flex;align-items:center;padding:15px;border-radius:8px;background:linear-gradient(180deg,#f8fafc,#edf2f8);border:1px solid rgba(45,48,71,.08);cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease,border-color .2s ease;margin-bottom:10px}.quick-action-item[data-v-f7319b00]:hover{background:linear-gradient(180deg,#fff,#edf2f8);box-shadow:0 10px 20px #131e351a;border-color:#2d304733}.action-icon[data-v-f7319b00]{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:15px;color:#fff;font-size:18px}.action-content h6[data-v-f7319b00]{margin:0;font-size:16px;font-weight:600}.mini-progress .progress[data-v-f7319b00]{border-radius:3px}.dashboard-loading-state[data-v-f7319b00]{border:1px solid rgba(45,48,71,.08);border-radius:12px;background:#fff;padding:1rem}.skeleton-title[data-v-f7319b00],.skeleton-card[data-v-f7319b00],.skeleton-row[data-v-f7319b00]{background:linear-gradient(90deg,#eef2f7,#e4ebf5,#eef2f7);background-size:200% 100%;animation:skeleton-shimmer-f7319b00 1.35s linear infinite;border-radius:10px}.skeleton-title[data-v-f7319b00]{height:28px;width:42%}.skeleton-card[data-v-f7319b00]{height:132px}.skeleton-row[data-v-f7319b00]{height:84px}@keyframes skeleton-shimmer-f7319b00{0%{background-position:200% 0}to{background-position:-200% 0}}.annotation-dashboard[data-v-f68771cc]{--dashboard-border: rgba(45, 48, 71, .1)}.dashboard-hero[data-v-f68771cc]{background:radial-gradient(circle at top left,#4356ff29,#4356ff08 45%,#fffffff2 70%);border:1px solid var(--dashboard-border);border-radius:14px;padding:1rem 1.25rem}.dashboard-title[data-v-f68771cc]{font-size:1.35rem;font-weight:700;color:#2d3047}.dashboard-subtitle[data-v-f68771cc]{color:#63748a}.dashboard-card[data-v-f68771cc]{box-shadow:0 14px 28px #1a243b14;margin-bottom:20px;border-radius:12px;border:1px solid var(--dashboard-border);overflow:hidden}.dashboard-card-header[data-v-f68771cc]{background:linear-gradient(180deg,#fcfdff,#f6f9ff);border-bottom:1px solid var(--dashboard-border);padding:.9rem 1rem}.table[data-v-f68771cc]{margin-bottom:0}.dashboard-table th[data-v-f68771cc],.dashboard-table td[data-v-f68771cc]{vertical-align:middle;border-color:#2d304714}.dashboard-table th[data-v-f68771cc]{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#4f5e79;font-weight:700}.header-actions[data-v-f68771cc]{display:flex;gap:.5rem}.table-hover tbody tr[data-v-f68771cc]:hover{background-color:#f4f8ff}.badge[data-v-f68771cc]{font-size:.75rem}.btn-group-sm .btn[data-v-f68771cc]{padding:.25rem .5rem;font-size:.875rem}.table-loading-state[data-v-f68771cc]{display:inline-flex;align-items:center;justify-content:center;color:#4f5e79;font-weight:600;background:linear-gradient(90deg,#f0f4fb,#e7eef9,#f0f4fb);background-size:200% 100%;animation:loading-shimmer-f68771cc 1.4s linear infinite;padding:.7rem 1rem;border-radius:999px}@keyframes loading-shimmer-f68771cc{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.header-actions[data-v-f68771cc]{flex-direction:column;align-items:stretch}.dashboard-hero[data-v-f68771cc]{padding:.9rem 1rem}.table-responsive[data-v-f68771cc]{font-size:.875rem}}
1
+ .annotation-stats-overview[data-v-7ff85201]{padding:0}.player-card[data-v-7ff85201],.mission-card[data-v-7ff85201]{border:1px solid rgba(45,48,71,.1);box-shadow:0 12px 26px #131e3514;border-radius:12px}.player-kicker[data-v-7ff85201]{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#596780;font-weight:700}.player-title[data-v-7ff85201]{font-weight:700;color:#2d3047}.achievement-pill[data-v-7ff85201]{background:linear-gradient(135deg,#fff6d6,#ffe9a9);border:1px solid rgba(166,124,0,.25);color:#7a5a00;border-radius:999px;padding:.35rem .75rem;font-weight:700;font-size:.82rem}.achievement-badge[data-v-7ff85201]{border:1px solid rgba(45,48,71,.12);color:#344767;background:linear-gradient(180deg,#fff,#f4f7fc)!important}.mission-card[data-v-7ff85201]{background:linear-gradient(180deg,#fcfdff,#f6faff)}.mission-title[data-v-7ff85201]{font-size:1.03rem;font-weight:700;color:#344767}.bg-gradient-primary[data-v-7ff85201]{background:linear-gradient(135deg,#667eea,#764ba2)}.annotation-type-card[data-v-7ff85201]{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;border:1px solid rgba(45,48,71,.08);box-shadow:0 10px 24px #131e350f}.annotation-type-card[data-v-7ff85201]:hover{transform:translateY(-2px);box-shadow:0 16px 32px #131e351f;border-color:#2d30472e}.stats-grid[data-v-7ff85201]{display:grid;grid-template-columns:1fr;gap:15px}.stat-item[data-v-7ff85201]{display:flex;align-items:center;padding:10px;border-radius:8px;background:#f8f9fa}.stat-item.pending[data-v-7ff85201]{border-left:4px solid #ffc107}.stat-item.in-progress[data-v-7ff85201]{border-left:4px solid #17a2b8}.stat-item.completed[data-v-7ff85201]{border-left:4px solid #28a745}.stat-icon[data-v-7ff85201]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:12px;color:#fff;font-size:16px}.stat-item.pending .stat-icon[data-v-7ff85201]{background:#ffc107}.stat-item.in-progress .stat-icon[data-v-7ff85201]{background:#17a2b8}.stat-item.completed .stat-icon[data-v-7ff85201]{background:#28a745}.stat-info[data-v-7ff85201]{flex:1}.stat-number[data-v-7ff85201]{font-size:24px;font-weight:700;line-height:1}.stat-label[data-v-7ff85201]{font-size:12px;color:#6c757d;margin-top:2px}.progress-text[data-v-7ff85201]{font-size:14px;font-weight:500}.quick-action-item[data-v-7ff85201]{display:flex;align-items:center;padding:15px;border-radius:8px;background:linear-gradient(180deg,#f8fafc,#edf2f8);border:1px solid rgba(45,48,71,.08);cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease,border-color .2s ease;margin-bottom:10px}.quick-action-item[data-v-7ff85201]:hover{background:linear-gradient(180deg,#fff,#edf2f8);box-shadow:0 10px 20px #131e351a;border-color:#2d304733}.action-icon[data-v-7ff85201]{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:15px;color:#fff;font-size:18px}.action-content h6[data-v-7ff85201]{margin:0;font-size:16px;font-weight:600}.mini-progress .progress[data-v-7ff85201]{border-radius:3px}.dashboard-loading-state[data-v-7ff85201]{border:1px solid rgba(45,48,71,.08);border-radius:12px;background:#fff;padding:1rem}.skeleton-title[data-v-7ff85201],.skeleton-card[data-v-7ff85201],.skeleton-row[data-v-7ff85201]{background:linear-gradient(90deg,#eef2f7,#e4ebf5,#eef2f7);background-size:200% 100%;animation:skeleton-shimmer-7ff85201 1.35s linear infinite;border-radius:10px}.skeleton-title[data-v-7ff85201]{height:28px;width:42%}.skeleton-card[data-v-7ff85201]{height:132px}.skeleton-row[data-v-7ff85201]{height:84px}@keyframes skeleton-shimmer-7ff85201{0%{background-position:200% 0}to{background-position:-200% 0}}.annotation-dashboard[data-v-f68771cc]{--dashboard-border: rgba(45, 48, 71, .1)}.dashboard-hero[data-v-f68771cc]{background:radial-gradient(circle at top left,#4356ff29,#4356ff08 45%,#fffffff2 70%);border:1px solid var(--dashboard-border);border-radius:14px;padding:1rem 1.25rem}.dashboard-title[data-v-f68771cc]{font-size:1.35rem;font-weight:700;color:#2d3047}.dashboard-subtitle[data-v-f68771cc]{color:#63748a}.dashboard-card[data-v-f68771cc]{box-shadow:0 14px 28px #1a243b14;margin-bottom:20px;border-radius:12px;border:1px solid var(--dashboard-border);overflow:hidden}.dashboard-card-header[data-v-f68771cc]{background:linear-gradient(180deg,#fcfdff,#f6f9ff);border-bottom:1px solid var(--dashboard-border);padding:.9rem 1rem}.table[data-v-f68771cc]{margin-bottom:0}.dashboard-table th[data-v-f68771cc],.dashboard-table td[data-v-f68771cc]{vertical-align:middle;border-color:#2d304714}.dashboard-table th[data-v-f68771cc]{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#4f5e79;font-weight:700}.header-actions[data-v-f68771cc]{display:flex;gap:.5rem}.table-hover tbody tr[data-v-f68771cc]:hover{background-color:#f4f8ff}.badge[data-v-f68771cc]{font-size:.75rem}.btn-group-sm .btn[data-v-f68771cc]{padding:.25rem .5rem;font-size:.875rem}.table-loading-state[data-v-f68771cc]{display:inline-flex;align-items:center;justify-content:center;color:#4f5e79;font-weight:600;background:linear-gradient(90deg,#f0f4fb,#e7eef9,#f0f4fb);background-size:200% 100%;animation:loading-shimmer-f68771cc 1.4s linear infinite;padding:.7rem 1rem;border-radius:999px}@keyframes loading-shimmer-f68771cc{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.header-actions[data-v-f68771cc]{flex-direction:column;align-items:stretch}.dashboard-hero[data-v-f68771cc]{padding:.9rem 1rem}.table-responsive[data-v-f68771cc]{font-size:.875rem}}
@@ -0,0 +1 @@
1
+ import{d as as,n as Y,S as Z,c as u,y as ss,w as is,o as r,f as c,j as M,g as s,F as V,h as D,k as o,s as h,t as i,H as S,i as ts,_ as es,P as os,b as E,l as j,q as Q,a as A,r as R,e as k,v as ls}from"./main.js";const ds={class:"annotation-stats-overview"},rs={key:0,class:"dashboard-loading-state py-4"},cs={class:"row g-3 mb-3"},us={key:1},vs={class:"row mb-4"},gs={class:"col-12"},ms={class:"card bg-gradient-primary text-white"},ps={class:"card-body"},bs={class:"row align-items-center"},hs={class:"col-4 text-end"},fs=["disabled"],_s={class:"row mb-4 g-3"},ys={class:"col-lg-8"},ks={class:"card player-card h-100"},xs={class:"card-body"},ws={class:"d-flex flex-wrap justify-content-between align-items-start gap-3"},Ss={class:"player-title mb-1"},As={class:"text-muted mb-2"},Ps={class:"achievement-pill"},$s={class:"level-progress mt-3"},Cs={class:"d-flex justify-content-between small text-muted mb-1"},Is={class:"progress",style:{height:"12px"}},Ms={class:"mt-3 d-flex flex-wrap gap-2"},Es={class:"col-lg-4"},Vs={class:"card mission-card h-100"},Ds={class:"card-body"},Ns={class:"mission-title mt-1 mb-2"},Ts={class:"text-muted small mb-3"},Fs={class:"progress mb-2",style:{height:"10px"}},zs={class:"d-flex justify-content-between align-items-center small"},Ls={class:"fw-semibold"},Us={class:"row mb-4"},Bs={class:"col-12"},qs={class:"card"},js={class:"card-body"},Rs={class:"progress-container"},Ks={class:"progress mb-2",style:{height:"30px"}},Os=["aria-valuenow"],Gs={class:"progress-text"},Hs=["aria-valuenow"],Xs={class:"progress-text"},Ws=["aria-valuenow"],Js={class:"progress-text"},Qs={class:"progress-legend d-flex justify-content-between"},Ys={class:"text-muted"},Zs={class:"text-muted"},st={class:"row mb-4"},tt={class:"col-md-4 mb-3"},et={class:"card-header bg-primary text-white"},nt={class:"d-flex justify-content-between align-items-center"},at={class:"badge bg-light text-primary"},it={class:"card-body"},ot={class:"stats-grid"},lt={class:"stat-item pending"},dt={class:"stat-info"},rt={class:"stat-number"},ct={class:"stat-item in-progress"},ut={class:"stat-info"},vt={class:"stat-number"},gt={class:"stat-item completed"},mt={class:"stat-info"},pt={class:"stat-number"},bt={class:"mini-progress mt-3"},ht={class:"progress",style:{height:"6px"}},ft={class:"text-muted mt-1 d-block"},_t={class:"col-md-4 mb-3"},yt={class:"card-header bg-success text-white"},kt={class:"d-flex justify-content-between align-items-center"},xt={class:"badge bg-light text-success"},wt={class:"card-body"},St={class:"stats-grid"},At={class:"stat-item pending"},Pt={class:"stat-info"},$t={class:"stat-number"},Ct={class:"stat-item in-progress"},It={class:"stat-info"},Mt={class:"stat-number"},Et={class:"stat-item completed"},Vt={class:"stat-info"},Dt={class:"stat-number"},Nt={class:"mini-progress mt-3"},Tt={class:"progress",style:{height:"6px"}},Ft={class:"text-muted mt-1 d-block"},zt={class:"col-md-4 mb-3"},Lt={class:"card-header bg-warning text-dark"},Ut={class:"d-flex justify-content-between align-items-center"},Bt={class:"badge bg-dark text-warning"},qt={class:"card-body"},jt={class:"stats-grid"},Rt={class:"stat-item pending"},Kt={class:"stat-info"},Ot={class:"stat-number"},Gt={class:"stat-item in-progress"},Ht={class:"stat-info"},Xt={class:"stat-number"},Wt={class:"stat-item completed"},Jt={class:"stat-info"},Qt={class:"stat-number"},Yt={class:"mini-progress mt-3"},Zt={class:"progress",style:{height:"6px"}},se={class:"text-muted mt-1 d-block"},te={key:2,class:"alert alert-danger mt-3"},z=120,ee=as({__name:"AnnotationStatsComponent",setup(ns){const x=Y(),d=Z(),$={segmentPending:0,segmentInProgress:0,segmentCompleted:0,examinationPending:0,examinationInProgress:0,examinationCompleted:0,sensitiveMetaPending:0,sensitiveMetaInProgress:0,sensitiveMetaCompleted:0,totalPending:0,totalInProgress:0,totalCompleted:0,totalAnnotations:0},l=u(()=>d.stats||$),m=u(()=>({pending:l.value.segmentPending||0,inProgress:l.value.segmentInProgress||0,completed:l.value.segmentCompleted||0,total:(l.value.segmentPending||0)+(l.value.segmentInProgress||0)+(l.value.segmentCompleted||0)})),v=u(()=>({pending:l.value.examinationPending||0,inProgress:l.value.examinationInProgress||0,completed:l.value.examinationCompleted||0,total:(l.value.examinationPending||0)+(l.value.examinationInProgress||0)+(l.value.examinationCompleted||0)})),g=u(()=>({pending:l.value.sensitiveMetaPending||0,inProgress:l.value.sensitiveMetaInProgress||0,completed:l.value.sensitiveMetaCompleted||0,total:(l.value.sensitiveMetaPending||0)+(l.value.sensitiveMetaInProgress||0)+(l.value.sensitiveMetaCompleted||0)})),f=u(()=>d.completionPercentage||0),y=u(()=>d.inProgressPercentage||0),P=u(()=>d.pendingPercentage||0),N=u(()=>l.value.totalAnnotations||0),w=u(()=>{const n=m.value.completed*5+v.value.completed*8+g.value.completed*6,t=m.value.inProgress*2+v.value.inProgress*3+g.value.inProgress*2;return n+t}),T=u(()=>Math.max(1,Math.floor(w.value/z)+1)),K=u(()=>z-(w.value%z||0)),L=u(()=>Math.min(100,Math.round(w.value%z/z*100))),U=u(()=>{const n=[];return B.value>=1&&n.push("Erster Abschluss"),B.value>=10&&n.push("Konstant geliefert"),f.value>=50&&n.push("Halbzeit-Champion"),m.value.completed>=20&&n.push("Segment-Profi"),v.value.completed>=10&&n.push("Befundungs-Profi"),g.value.completed>=10&&n.push("Datenschutz-Held"),n}),O=u(()=>U.value.length),B=u(()=>l.value.totalCompleted||0),C=u(()=>{const t=[{key:"segments",pending:m.value.pending,title:"Video-Segmente klären",description:"Reduziere offene Segmente, um die Pipeline zu entlasten.",progress:b(m.value)},{key:"examinations",pending:v.value.pending,title:"Befundungen abschließen",description:"Führe offene Untersuchungen zu einem dokumentierten Abschluss.",progress:b(v.value)},{key:"sensitive",pending:g.value.pending,title:"Patientendaten validieren",description:"Verringere offene Validierungen für einen sicheren Datenfluss.",progress:b(g.value)}].sort((p,I)=>I.pending-p.pending)[0];return!t||t.pending<=0?{title:"Stabil halten",description:"Alles sieht gut aus. Heute Fokus auf Qualitätskontrolle und Feinschliff.",progress:100}:t}),G=u(()=>l.value.totalAnnotations>0||d.lastUpdated!==null),H=u(()=>{if(!d.lastUpdated)return"Nie";const t=new Date().getTime()-d.lastUpdated.getTime(),p=Math.floor(t/6e4);if(p<1)return"Gerade eben";if(p<60)return`vor ${p} Min.`;const I=Math.floor(p/60);return I<24?`vor ${I} Std.`:`vor ${Math.floor(I/24)} Tag(en)`}),b=n=>n.total>0?Math.round(n.completed/n.total*100):0,X=async()=>{try{typeof d.forceRefresh=="function"&&await d.forceRefresh()}catch(n){console.error("Failed to refresh stats:",n)}},W=()=>{x.push("/video-untersuchung")},J=()=>{x.push("/reporting/case-setup")},F=()=>{x.push("/anonymisierung/validierung")},a=()=>{x.push("/frame-annotation")},e=()=>{x.push("/reporting/case-setup")},_=()=>{x.push("/anonymisierung/validierung")};return ss(async()=>{typeof d.fetchAnnotationStats=="function"&&await d.fetchAnnotationStats()}),is(()=>d.needsRefresh,async n=>{n&&typeof d.refreshIfNeeded=="function"&&await d.refreshIfNeeded()}),(n,t)=>(r(),c("div",ds,[M(d).isLoading&&!G.value?(r(),c("div",rs,[t[2]||(t[2]=s("div",{class:"skeleton-title mb-3"},null,-1)),s("div",cs,[(r(),c(V,null,D(3,p=>s("div",{class:"col-md-4",key:`overview-skeleton-${p}`},[...t[1]||(t[1]=[s("div",{class:"skeleton-card"},null,-1)])])),64))]),t[3]||(t[3]=s("div",{class:"skeleton-row"},null,-1)),t[4]||(t[4]=s("p",{class:"mt-3 text-muted"},"Statistiken werden geladen...",-1))])):(r(),c("div",us,[s("div",vs,[s("div",gs,[s("div",ms,[s("div",ps,[s("div",bs,[t[6]||(t[6]=s("div",{class:"col-8"},[s("h4",{class:"text-white mb-1"},[s("i",{class:"fas fa-chart-pie me-2"}),o(" Annotation Übersicht ")]),s("p",{class:"text-white opacity-8 mb-0"}," Aktuell verfügbare Annotationen und deren Fortschritt ")],-1)),s("div",hs,[s("button",{class:"btn btn-outline-light btn-sm",onClick:X,disabled:M(d).isLoading},[s("i",{class:h(["fas fa-sync-alt",{"fa-spin":M(d).isLoading}])},null,2),t[5]||(t[5]=o(" Aktualisieren ",-1))],8,fs)])])])])])]),s("div",_s,[s("div",ys,[s("div",ks,[s("div",xs,[s("div",ws,[s("div",null,[t[7]||(t[7]=s("div",{class:"player-kicker"},"Dein Fortschritt",-1)),s("h5",Ss,"Level "+i(T.value),1),s("p",As,i(w.value)+" XP gesammelt · "+i(K.value)+" XP bis zum nächsten Level",1)]),s("div",Ps,[t[8]||(t[8]=s("i",{class:"fas fa-award me-2"},null,-1)),o(" "+i(O.value)+" Erfolge ",1)])]),s("div",$s,[s("div",Cs,[t[9]||(t[9]=s("span",null,"Level-Fortschritt",-1)),s("span",null,i(L.value)+"%",1)]),s("div",Is,[s("div",{class:"progress-bar bg-success",style:S({width:L.value+"%"})},null,4)])]),s("div",Ms,[(r(!0),c(V,null,D(U.value,p=>(r(),c("span",{key:p,class:"badge text-bg-light achievement-badge"},[t[10]||(t[10]=s("i",{class:"fas fa-star me-1"},null,-1)),o(i(p),1)]))),128))])])])]),s("div",Es,[s("div",Vs,[s("div",Ds,[t[12]||(t[12]=s("div",{class:"player-kicker"},"Mission des Tages",-1)),s("h6",Ns,i(C.value.title),1),s("p",Ts,i(C.value.description),1),s("div",Fs,[s("div",{class:"progress-bar bg-info",style:S({width:C.value.progress+"%"})},null,4)]),s("div",zs,[t[11]||(t[11]=s("span",{class:"text-muted"},"Fortschritt",-1)),s("span",Ls,i(C.value.progress)+"%",1)])])])])]),s("div",Us,[s("div",Bs,[s("div",qs,[s("div",js,[t[13]||(t[13]=s("h6",{class:"card-title mb-3"},[s("i",{class:"fas fa-tasks me-2"}),o(" Gesamtfortschritt ")],-1)),s("div",Rs,[s("div",Ks,[s("div",{class:"progress-bar bg-success",role:"progressbar",style:S({width:f.value+"%"}),"aria-valuenow":f.value,"aria-valuemin":"0","aria-valuemax":"100"},[s("span",Gs,i(f.value)+"% Abgeschlossen ",1)],12,Os),s("div",{class:"progress-bar bg-info",role:"progressbar",style:S({width:y.value+"%"}),"aria-valuenow":y.value,"aria-valuemin":"0","aria-valuemax":"100"},[s("span",Xs,i(y.value)+"% In Bearbeitung ",1)],12,Hs),s("div",{class:"progress-bar bg-warning",role:"progressbar",style:S({width:P.value+"%"}),"aria-valuenow":P.value,"aria-valuemin":"0","aria-valuemax":"100"},[s("span",Js,i(P.value)+"% Ausstehend ",1)],12,Ws)]),s("div",Qs,[s("small",Ys," Insgesamt: "+i(N.value)+" Annotationen ",1),s("small",Zs," Letzte Aktualisierung: "+i(H.value),1)])])])])])]),s("div",st,[s("div",tt,[s("div",{class:"card h-100 annotation-type-card",onClick:W},[s("div",et,[s("div",nt,[t[14]||(t[14]=s("h6",{class:"mb-0"},[s("i",{class:"fas fa-video me-2"}),o(" Video-Segmente ")],-1)),s("span",at,i(m.value.total),1)])]),s("div",it,[s("div",ot,[s("div",lt,[t[16]||(t[16]=s("div",{class:"stat-icon"},[s("i",{class:"fas fa-clock"})],-1)),s("div",dt,[s("div",rt,i(m.value.pending),1),t[15]||(t[15]=s("div",{class:"stat-label"},"Ausstehend",-1))])]),s("div",ct,[t[18]||(t[18]=s("div",{class:"stat-icon"},[s("i",{class:"fas fa-cogs"})],-1)),s("div",ut,[s("div",vt,i(m.value.inProgress),1),t[17]||(t[17]=s("div",{class:"stat-label"},"In Bearbeitung",-1))])]),s("div",gt,[t[20]||(t[20]=s("div",{class:"stat-icon"},[s("i",{class:"fas fa-check-circle"})],-1)),s("div",mt,[s("div",pt,i(m.value.completed),1),t[19]||(t[19]=s("div",{class:"stat-label"},"Abgeschlossen",-1))])])]),s("div",bt,[s("div",ht,[s("div",{class:"progress-bar bg-success",style:S({width:b(m.value)+"%"})},null,4)]),s("small",ft,i(b(m.value))+"% abgeschlossen ",1)])])])]),s("div",_t,[s("div",{class:"card h-100 annotation-type-card",onClick:J},[s("div",yt,[s("div",kt,[t[21]||(t[21]=s("h6",{class:"mb-0"},[s("i",{class:"fas fa-stethoscope me-2"}),o(" Untersuchungen ")],-1)),s("span",xt,i(v.value.total),1)])]),s("div",wt,[s("div",St,[s("div",At,[t[23]||(t[23]=s("div",{class:"stat-icon"},[s("i",{class:"fas fa-clock"})],-1)),s("div",Pt,[s("div",$t,i(v.value.pending),1),t[22]||(t[22]=s("div",{class:"stat-label"},"Ausstehend",-1))])]),s("div",Ct,[t[25]||(t[25]=s("div",{class:"stat-icon"},[s("i",{class:"fas fa-cogs"})],-1)),s("div",It,[s("div",Mt,i(v.value.inProgress),1),t[24]||(t[24]=s("div",{class:"stat-label"},"In Bearbeitung",-1))])]),s("div",Et,[t[27]||(t[27]=s("div",{class:"stat-icon"},[s("i",{class:"fas fa-check-circle"})],-1)),s("div",Vt,[s("div",Dt,i(v.value.completed),1),t[26]||(t[26]=s("div",{class:"stat-label"},"Abgeschlossen",-1))])])]),s("div",Nt,[s("div",Tt,[s("div",{class:"progress-bar bg-success",style:S({width:b(v.value)+"%"})},null,4)]),s("small",Ft,i(b(v.value))+"% abgeschlossen ",1)])])])]),s("div",zt,[s("div",{class:"card h-100 annotation-type-card",onClick:F},[s("div",Lt,[s("div",Ut,[t[28]||(t[28]=s("h6",{class:"mb-0"},[s("i",{class:"fas fa-user-shield me-2"}),o(" Patientendaten ")],-1)),s("span",Bt,i(g.value.total),1)])]),s("div",qt,[s("div",jt,[s("div",Rt,[t[30]||(t[30]=s("div",{class:"stat-icon"},[s("i",{class:"fas fa-clock"})],-1)),s("div",Kt,[s("div",Ot,i(g.value.pending),1),t[29]||(t[29]=s("div",{class:"stat-label"},"Ausstehend",-1))])]),s("div",Gt,[t[32]||(t[32]=s("div",{class:"stat-icon"},[s("i",{class:"fas fa-cogs"})],-1)),s("div",Ht,[s("div",Xt,i(g.value.inProgress),1),t[31]||(t[31]=s("div",{class:"stat-label"},"In Bearbeitung",-1))])]),s("div",Wt,[t[34]||(t[34]=s("div",{class:"stat-icon"},[s("i",{class:"fas fa-check-circle"})],-1)),s("div",Jt,[s("div",Qt,i(g.value.completed),1),t[33]||(t[33]=s("div",{class:"stat-label"},"Abgeschlossen",-1))])])]),s("div",Yt,[s("div",Zt,[s("div",{class:"progress-bar bg-success",style:S({width:b(g.value)+"%"})},null,4)]),s("small",se,i(b(g.value))+"% abgeschlossen ",1)])])])])]),s("div",{class:"row"},[s("div",{class:"col-12"},[s("div",{class:"card"},[t[38]||(t[38]=s("div",{class:"card-header"},[s("h6",{class:"mb-0"},[s("i",{class:"fas fa-bolt me-2"}),o(" Schnellaktionen ")])],-1)),s("div",{class:"card-body"},[s("div",{class:"row"},[s("div",{class:"col-md-4"},[s("div",{class:"quick-action-item",onClick:a},[...t[35]||(t[35]=[s("div",{class:"action-icon bg-primary"},[s("i",{class:"fas fa-plus"})],-1),s("div",{class:"action-content"},[s("h6",null,"Neue Video-Annotation"),s("small",{class:"text-muted"},"Frame-Annotation starten")],-1)])])]),s("div",{class:"col-md-4"},[s("div",{class:"quick-action-item",onClick:e},[...t[36]||(t[36]=[s("div",{class:"action-icon bg-success"},[s("i",{class:"fas fa-plus"})],-1),s("div",{class:"action-content"},[s("h6",null,"Neue Befundung"),s("small",{class:"text-muted"},"Reporting-Fall-Setup oeffnen")],-1)])])]),s("div",{class:"col-md-4"},[s("div",{class:"quick-action-item",onClick:_},[...t[37]||(t[37]=[s("div",{class:"action-icon bg-warning"},[s("i",{class:"fas fa-play"})],-1),s("div",{class:"action-content"},[s("h6",null,"Validierung starten"),s("small",{class:"text-muted"},"Patientendaten validieren")],-1)])])])])])])])])])),M(d).hasError?(r(),c("div",te,[t[39]||(t[39]=s("i",{class:"fas fa-exclamation-triangle me-2"},null,-1)),t[40]||(t[40]=s("strong",null,"Fehler beim Laden der Statistiken:",-1)),o(" "+i(M(d).error)+" ",1),s("button",{type:"button",class:"btn-close",onClick:t[0]||(t[0]=p=>M(d).clearError())})])):ts("",!0)]))}}),ne=es(ee,[["__scopeId","data-v-7ff85201"]]),ae={class:"container-fluid py-4 annotation-dashboard"},ie={class:"row mt-4"},oe={class:"col-12 mb-4"},le={class:"card dashboard-card"},de={class:"card-header dashboard-card-header d-flex justify-content-between align-items-center"},re={class:"header-actions"},ce=["disabled"],ue={class:"card-body p-0"},ve={class:"table-responsive"},ge={class:"table table-hover align-middle mb-0 dashboard-table"},me={key:0},pe={key:1},be={class:"badge bg-info"},he={class:"btn-group btn-group-sm"},fe=["onClick"],_e=["onClick","disabled"],ye={class:"col-12 mb-4"},ke={class:"card dashboard-card"},xe={class:"card-header dashboard-card-header d-flex justify-content-between align-items-center"},we={class:"header-actions"},Se=["disabled"],Ae={class:"card-body p-0"},Pe={class:"table-responsive"},$e={class:"table table-hover align-middle mb-0 dashboard-table"},Ce={key:0},Ie={key:1},Me={key:0,class:"badge bg-light text-dark"},Ee={class:"btn-group btn-group-sm"},Ve=["onClick"],De=["onClick","disabled"],Ne={class:"col-12 mb-4"},Te={class:"card dashboard-card"},Fe={class:"card-header dashboard-card-header d-flex justify-content-between align-items-center"},ze={class:"header-actions"},Le=["disabled"],Ue={class:"card-body p-0"},Be={class:"table-responsive"},qe={class:"table table-hover align-middle mb-0 dashboard-table"},je={key:0},Re={key:1},Ke={class:"btn-group btn-group-sm"},Oe=["onClick"],Ge=["onClick","disabled"],He=25,Xe=500,We={__name:"AnnotationDashboard",setup(ns){const x=os(),d=Y(),$=Z(),l=E([]),m=E([]),v=E([]),g=E(!1),f=E(!1),y=E(!1),P=a=>{console.error(a),x.error(a)},N=async()=>{g.value=!0;try{const a=await A.get(R(k.media.videos)),_=(a.data?.results||a.data?.videos||a.data||[]).map(t=>Number(t.id)).filter(t=>Number.isFinite(t)).slice(0,He),n=await Promise.all(_.map(async t=>{try{const p=await A.get(R(k.media.videoSegments(t)));return(p.data?.results||p.data||[]).map(q=>({...q,videoId:q.videoId??q.video_id??t}))}catch{return[]}}));l.value=n.flat().slice(0,Xe)}catch{P("Fehler beim Laden der Video-Segmente"),l.value=[]}finally{g.value=!1}},w=async()=>{f.value=!0;try{const a=await A.get(`/api/${k.router.examinations}`);m.value=a.data.results||a.data||[]}catch(a){console.error("Fehler beim Laden der Untersuchungen:",a),m.value=[]}finally{f.value=!1}},T=async()=>{y.value=!0;try{const[a,e]=await Promise.all([A.get(R(k.media.videos)).catch(()=>({data:[]})),A.get(R(k.media.pdfSensitiveMetadataList)).catch(()=>({data:{results:[]}}))]),_=Array.isArray(a.data)?a.data:a.data?[{...a.data,content_type:"video"}]:[],n=e.data?.results||(Array.isArray(e.data)?e.data:e.data?[e.data]:[]);_.forEach(t=>t.content_type="video"),n.forEach(t=>t.content_type="pdf"),v.value=[..._,...n],console.log("Loaded sensitive metadata:",v.value.length,"items")}catch(a){console.error("Fehler beim Laden der Patientendaten:",a),v.value=[]}finally{y.value=!1}},K=a=>({pending:"bg-warning",in_progress:"bg-info",completed:"bg-success",rejected:"bg-danger"})[a]||"bg-secondary",L=a=>({pending:"Ausstehend",in_progress:"In Bearbeitung",completed:"Abgeschlossen",rejected:"Abgelehnt"})[a]||a,U=a=>({pending:"bg-warning",in_progress:"bg-info",completed:"bg-success",draft:"bg-secondary"})[a]||"bg-secondary",O=a=>({pending:"Ausstehend",in_progress:"In Bearbeitung",completed:"Abgeschlossen",draft:"Entwurf"})[a]||a,B=a=>({pending_validation:"bg-warning",validated_pending_anonymization:"bg-info",anonymized:"bg-success",no_sensitive_data:"bg-primary"})[a]||"bg-secondary",C=a=>({pending_validation:"Validierung ausstehend",validated_pending_anonymization:"Validiert - Anonymisierung ausstehend",anonymized:"Anonymisiert",no_sensitive_data:"Keine sensitiven Daten"})[a]||a,G=a=>{const e=a.videoId??a.video_id;if(!e){P("Segment kann nicht geöffnet werden: Video-ID fehlt");return}d.push({name:"Frame Annotation",query:{videoId:e,segmentId:a.id}})},H=async a=>{try{const e=a.videoId??a.video_id;if(!e){P("Segment kann nicht aktualisiert werden: Video-ID fehlt");return}await A.patch(`/api/${k.media.videoSegmentDetail(e,a.id)}`,{status:"completed"}),$.updateAnnotationStatus("segment","in_progress","completed"),await N()}catch(e){console.error("Fehler beim Markieren des Segments als abgeschlossen:",e)}},b=a=>{d.push({path:"/reporting/case-setup",query:{legacyExaminationId:String(a.id)}})},X=async a=>{try{await A.patch(`/api/${k.router.examinationById(a.id)}`,{status:"completed"}),$.updateAnnotationStatus("examination","in_progress","completed"),await w()}catch(e){console.error("Fehler beim Markieren der Untersuchung als abgeschlossen:",e)}},W=a=>{a.content_type==="video"?d.push("/video-meta-annotation"):a.content_type==="pdf"&&d.push("/pdf-meta-annotation")},J=async a=>{try{const e=a.content_type==="video"?`/api/${k.media.videos}`:`/api/${k.media.pdfs}`;await A.patch(e,{sensitive_meta_id:a.id,requires_validation:!1,anonymization_status:"validated_pending_anonymization"}),$.updateAnnotationStatus("sensitive_meta","pending","completed"),await T()}catch(e){console.error("Fehler beim Markieren der Patientendaten als validiert:",e)}},F=a=>{if(!a)return"Nicht verfügbar";try{return new Date(a).toLocaleDateString("de-DE")}catch{return"Ungültiges Datum"}};return ss(async()=>{await $.fetchAnnotationStats(),await Promise.all([N(),w(),T()])}),(a,e)=>{const _=ls("router-link");return r(),c("div",ae,[e[24]||(e[24]=s("section",{class:"dashboard-hero mb-4"},[s("div",null,[s("h2",{class:"dashboard-title mb-1"},"Dashboard"),s("p",{class:"dashboard-subtitle mb-0"},"Status, offene Arbeitspakete und Schnellzugriffe an einem Ort.")])],-1)),j(ne),s("div",ie,[s("div",oe,[s("div",le,[s("div",de,[e[2]||(e[2]=s("h5",{class:"mb-0"},[s("i",{class:"fas fa-video text-primary me-2"}),o(" Video-Segment Annotationen ")],-1)),s("div",re,[s("button",{class:"btn btn-outline-primary btn-sm me-2",onClick:N,disabled:g.value},[s("i",{class:h(["fas fa-sync-alt",{"fa-spin":g.value}])},null,2),e[0]||(e[0]=o(" Aktualisieren ",-1))],8,ce),j(_,{to:"/frame-annotation",class:"btn btn-primary btn-sm"},{default:Q(()=>[...e[1]||(e[1]=[s("i",{class:"fas fa-plus me-1"},null,-1),o(" Neue Annotation ",-1)])]),_:1})])]),s("div",ue,[s("div",ve,[s("table",ge,[e[7]||(e[7]=s("thead",{class:"table-light"},[s("tr",null,[s("th",null,"Video ID"),s("th",null,"Segment"),s("th",null,"Label"),s("th",null,"Status"),s("th",null,"Benutzer"),s("th",null,"Letzte Änderung"),s("th",null,"Aktionen")])],-1)),s("tbody",null,[g.value?(r(),c("tr",me,[...e[3]||(e[3]=[s("td",{colspan:"7",class:"text-center py-4"},[s("div",{class:"table-loading-state"},[s("i",{class:"fas fa-wave-square me-2"}),o(" Segmente werden geladen... ")])],-1)])])):l.value.length===0?(r(),c("tr",pe,[...e[4]||(e[4]=[s("td",{colspan:"7",class:"text-center text-muted"},[s("i",{class:"fas fa-video fa-2x mb-2"}),s("br"),o(" Keine Video-Segmente verfügbar ")],-1)])])):(r(!0),c(V,{key:2},D(l.value,n=>(r(),c("tr",{key:n.id},[s("td",null,[s("code",null,i(n.videoId),1)]),s("td",null,i(n.startTime)+"s - "+i(n.endTime)+"s",1),s("td",null,[s("span",be,i(n.labelName),1)]),s("td",null,[s("span",{class:h(["badge",K(n.status)])},i(L(n.status)),3)]),s("td",null,[s("small",null,i(n.annotated_by||"Nicht zugewiesen"),1)]),s("td",null,[s("small",null,i(F(n.updated_at)),1)]),s("td",null,[s("div",he,[s("button",{class:"btn btn-outline-primary",onClick:t=>G(n),title:"Segment bearbeiten"},[...e[5]||(e[5]=[s("i",{class:"fas fa-edit"},null,-1)])],8,fe),s("button",{class:"btn btn-outline-success",onClick:t=>H(n),disabled:n.status==="completed",title:"Als abgeschlossen markieren"},[...e[6]||(e[6]=[s("i",{class:"fas fa-check"},null,-1)])],8,_e)])])]))),128))])])])])])]),s("div",ye,[s("div",ke,[s("div",xe,[e[10]||(e[10]=s("h5",{class:"mb-0"},[s("i",{class:"fas fa-stethoscope text-success me-2"}),o(" Examination Annotationen ")],-1)),s("div",we,[s("button",{class:"btn btn-outline-primary btn-sm me-2",onClick:w,disabled:f.value},[s("i",{class:h(["fas fa-sync-alt",{"fa-spin":f.value}])},null,2),e[8]||(e[8]=o(" Aktualisieren ",-1))],8,Se),j(_,{to:"/reporting/case-setup",class:"btn btn-success btn-sm"},{default:Q(()=>[...e[9]||(e[9]=[s("i",{class:"fas fa-plus me-1"},null,-1),o(" Neue Befundung ",-1)])]),_:1})])]),s("div",Ae,[s("div",Pe,[s("table",$e,[e[15]||(e[15]=s("thead",{class:"table-light"},[s("tr",null,[s("th",null,"ID"),s("th",null,"Patient"),s("th",null,"Untersuchungsdatum"),s("th",null,"Befunde"),s("th",null,"Status"),s("th",null,"Untersucher"),s("th",null,"Aktionen")])],-1)),s("tbody",null,[f.value?(r(),c("tr",Ce,[...e[11]||(e[11]=[s("td",{colspan:"7",class:"text-center py-4"},[s("div",{class:"table-loading-state"},[s("i",{class:"fas fa-wave-square me-2"}),o(" Untersuchungen werden geladen... ")])],-1)])])):m.value.length===0?(r(),c("tr",Ie,[...e[12]||(e[12]=[s("td",{colspan:"7",class:"text-center text-muted"},[s("i",{class:"fas fa-stethoscope fa-2x mb-2"}),s("br"),o(" Keine Untersuchungen verfügbar ")],-1)])])):(r(!0),c(V,{key:2},D(m.value,n=>(r(),c("tr",{key:n.id},[s("td",null,[s("code",null,i(n.id),1)]),s("td",null,i(n.patient?.first_name)+" "+i(n.patient?.last_name),1),s("td",null,i(F(n.examination_date)),1),s("td",null,[(r(!0),c(V,null,D(n.findings?.slice(0,2),t=>(r(),c("span",{class:"badge bg-secondary me-1",key:t.id},i(t.name),1))),128)),n.findings?.length>2?(r(),c("span",Me," +"+i(n.findings.length-2)+" weitere ",1)):ts("",!0)]),s("td",null,[s("span",{class:h(["badge",U(n.status)])},i(O(n.status)),3)]),s("td",null,[s("small",null,i(n.created_by||"Unbekannt"),1)]),s("td",null,[s("div",Ee,[s("button",{class:"btn btn-outline-primary",onClick:t=>b(n),title:"Untersuchung bearbeiten"},[...e[13]||(e[13]=[s("i",{class:"fas fa-edit"},null,-1)])],8,Ve),s("button",{class:"btn btn-outline-success",onClick:t=>X(n),disabled:n.status==="completed",title:"Als abgeschlossen markieren"},[...e[14]||(e[14]=[s("i",{class:"fas fa-check"},null,-1)])],8,De)])])]))),128))])])])])])]),s("div",Ne,[s("div",Te,[s("div",Fe,[e[18]||(e[18]=s("h5",{class:"mb-0"},[s("i",{class:"fas fa-user-shield text-warning me-2"}),o(" Patientendaten Validierung ")],-1)),s("div",ze,[s("button",{class:"btn btn-outline-primary btn-sm me-2",onClick:T,disabled:y.value},[s("i",{class:h(["fas fa-sync-alt",{"fa-spin":y.value}])},null,2),e[16]||(e[16]=o(" Aktualisieren ",-1))],8,Le),j(_,{to:"/video-meta-annotation",class:"btn btn-warning btn-sm"},{default:Q(()=>[...e[17]||(e[17]=[s("i",{class:"fas fa-play me-1"},null,-1),o(" Validierung starten ",-1)])]),_:1})])]),s("div",Ue,[s("div",Be,[s("table",qe,[e[23]||(e[23]=s("thead",{class:"table-light"},[s("tr",null,[s("th",null,"ID"),s("th",null,"Typ"),s("th",null,"Patient"),s("th",null,"Untersuchungsdatum"),s("th",null,"Status"),s("th",null,"Validierung erforderlich"),s("th",null,"Aktionen")])],-1)),s("tbody",null,[y.value?(r(),c("tr",je,[...e[19]||(e[19]=[s("td",{colspan:"7",class:"text-center py-4"},[s("div",{class:"table-loading-state"},[s("i",{class:"fas fa-wave-square me-2"}),o(" Patientendaten werden geladen... ")])],-1)])])):v.value.length===0?(r(),c("tr",Re,[...e[20]||(e[20]=[s("td",{colspan:"7",class:"text-center text-muted"},[s("i",{class:"fas fa-user-shield fa-2x mb-2"}),s("br"),o(" Keine Patientendaten zur Validierung verfügbar ")],-1)])])):(r(!0),c(V,{key:2},D(v.value,n=>(r(),c("tr",{key:n.id},[s("td",null,[s("code",null,i(n.id),1)]),s("td",null,[s("span",{class:h(["badge",n.content_type==="video"?"bg-primary":"bg-danger"])},[s("i",{class:h(n.content_type==="video"?"fas fa-video":"fas fa-file-pdf")},null,2),o(" "+i(n.content_type?.toUpperCase()||"UNBEKANNT"),1)],2)]),s("td",null,i(n.patient_first_name)+" "+i(n.patient_last_name),1),s("td",null,i(F(n.examination_date)),1),s("td",null,[s("span",{class:h(["badge",B(n.anonymization_status)])},i(C(n.anonymization_status)),3)]),s("td",null,[s("span",{class:h(n.requires_validation?"text-warning":"text-success")},[s("i",{class:h(n.requires_validation?"fas fa-exclamation-triangle":"fas fa-check-circle")},null,2),o(" "+i(n.requires_validation?"Ja":"Nein"),1)],2)]),s("td",null,[s("div",Ke,[s("button",{class:"btn btn-outline-primary",onClick:t=>W(n),title:"Patientendaten validieren"},[...e[21]||(e[21]=[s("i",{class:"fas fa-edit"},null,-1)])],8,Oe),s("button",{class:"btn btn-outline-success",onClick:t=>J(n),disabled:!n.requires_validation,title:"Als validiert markieren"},[...e[22]||(e[22]=[s("i",{class:"fas fa-check"},null,-1)])],8,Ge)])])]))),128))])])])])])])])])}}},Qe=es(We,[["__scopeId","data-v-f68771cc"]]);export{Qe as D};
@@ -0,0 +1 @@
1
+ .runtime-finding-instance[data-v-c105cd17]{background:#fbfcfe}
@@ -0,0 +1 @@
1
+ import{g as Le,m as Ue}from"./findingsApi.js";import{c as qe}from"./reportTemplatesApi.js";import{u as Ne,_ as We}from"./useReportTemplates.js";import{d as ne,c as V,f as i,g as e,t as l,s as I,i as _,F as b,h as x,o as a,k as te,u as ke,j as g,b as D,w as H,y as He,G as Ze,l as ee,q as Ge,_ as Je}from"./main.js";import{b as Qe,a as Xe}from"./mediaUrls.js";import{u as Ye}from"./useFindingSelectors.js";import{u as et}from"./examinationStore.js";import"./patientStore.js";const tt={class:"card shadow-sm"},nt={class:"card-header d-flex justify-content-between align-items-center"},st={class:"mb-0"},lt={class:"text-muted"},it={class:"card-body"},at={key:0,class:"text-muted small"},rt={key:1,class:"alert alert-danger py-2 mb-0"},ot={key:2,class:"text-muted small"},dt={class:"small text-muted mb-3"},ut={key:0,class:"alert alert-warning py-2 mb-3"},ct={key:0,class:"text-muted"},mt={key:1,class:"mt-1"},ft=["href"],gt={key:1,class:"mb-3"},vt={class:"d-flex justify-content-between gap-2"},ht={class:"small"},pt={key:0,class:"small text-muted"},_t={key:1,class:"small mt-1"},bt=["href"],yt={key:2,class:"mb-3"},kt={class:"d-flex justify-content-between align-items-center gap-2"},xt={class:"small text-muted"},$t={class:"small mt-1"},wt={key:3,class:"mb-3"},Vt={class:"d-flex justify-content-between align-items-center gap-2"},Ct={class:"small text-muted"},Tt={class:"small mt-1"},Bt={key:4,class:"mb-3"},Et={class:"d-flex justify-content-between align-items-center gap-2"},Ft={class:"small text-muted"},Mt={class:"small mt-1"},Dt={key:0,class:"small text-danger mt-1"},It={key:5,class:"mb-3"},Kt={class:"d-flex justify-content-between align-items-center gap-2"},At={key:0,class:"small mt-1"},Ot={key:0},St=["href"],Rt={key:2},zt={key:1,class:"small mt-1"},Pt={key:6},jt={class:"d-flex justify-content-between align-items-center gap-2"},Lt={class:"small text-muted"},Ut={class:"small mt-1"},qt=ne({__name:"ReportTemplateValidationPanel",props:{title:{default:"Prüfung der Berichtsvorlage"},subtitle:{default:"Auswertung der Vorlagenregeln für die aktuelle Befundlage"},loading:{type:Boolean,default:!1},errorMessage:{default:null},result:{default:null},findingAnchors:{default:()=>({})}},setup(p){const d=p,K=V(()=>(d.result?.issues||[]).filter(m=>m.code==="missing_data_requirement")),A=V(()=>(d.result?.issues||[]).filter(m=>m.code!=="missing_data_requirement"));function O(m){const h=m.details?.missingConditionClassifications??m.details?.missing_condition_classifications;return Array.isArray(h)?h.filter(s=>typeof s=="string"&&!!s):[]}function S(m){return m==="template"?"Vorlage":m==="examination_validator"?"Untersuchungsregel":m==="classification_validator"?"Klassifikationsregel":m==="intervention_validator"?"Interventionsregel":m==="unit_validator"?"Einheitenregel":"Befundregel"}function C(m){return m.trim().toLowerCase().replace(/\s+/g,"_").replace(/-/g,"_")}function $(m){return m&&(d.findingAnchors[m]||d.findingAnchors[C(m)])||null}function k(m,h){return!m||!d.result?null:h==="classification_validator"?d.result.classificationValidators.find(s=>s.name===m)?.finding||null:h==="intervention_validator"?d.result.interventionValidators.find(s=>s.name===m)?.finding||null:h==="unit_validator"?d.result.unitValidators.find(s=>s.name===m)?.finding||null:d.result.findingsValidators.find(s=>s.name===m)?.finding||null}function y(m){return $(k(m.validatorName,m.validatorKind))}function E(m){return $(k(m,"findings_validator"))}return(m,h)=>(a(),i("div",tt,[e("div",nt,[e("div",null,[e("h6",st,l(p.title),1),e("small",lt,l(p.subtitle),1)]),p.result?(a(),i("span",{key:0,class:I(["badge",p.result.ok?"bg-success":"bg-warning text-dark"])},l(p.result.ok?"Regeln erfüllt":"Prüfung mit Hinweisen"),3)):_("",!0)]),e("div",it,[p.loading?(a(),i("div",at,"Prüfe Vorlagenregeln...")):p.errorMessage?(a(),i("div",rt,l(p.errorMessage),1)):p.result?(a(),i(b,{key:3},[e("div",dt,l(p.result.evaluatedFindingsCount)+" Befund(e) bewertet · "+l(p.result.classificationValidators.length)+" Klassifikationsregel(n) · "+l(p.result.interventionValidators.length)+" Interventionsregel(n) · "+l(p.result.findingsValidators.length)+" Befundregel(n) · "+l(p.result.examinationValidators.length)+" Untersuchungsregel(n) · "+l(p.result.unitValidators.length)+" Einheitenregel(n) ",1),K.value.length?(a(),i("div",ut,[h[0]||(h[0]=e("h6",{class:"small text-uppercase mb-2"},"Ausstehende Daten",-1)),(a(!0),i(b,null,x(K.value,s=>(a(),i("div",{key:`${s.validatorName||"validator"}::${s.message}`,class:"small mb-2"},[e("div",null,l(s.message),1),O(s).length?(a(),i("div",ct," Nachzutragen: "+l(O(s).join(", ")),1)):_("",!0),y(s)?(a(),i("div",mt,[e("a",{href:`#${y(s)}`},"Zum betroffenen Befund springen",8,ft)])):_("",!0)]))),128))])):_("",!0),A.value.length?(a(),i("div",gt,[h[1]||(h[1]=e("h6",{class:"small text-uppercase text-muted mb-2"},"Hinweise",-1)),(a(!0),i(b,null,x(A.value,s=>(a(),i("div",{key:`${s.code}::${s.message}`,class:"border rounded p-2 mb-2"},[e("div",vt,[e("strong",null,l(s.code),1),e("span",{class:I(["badge",s.level==="warning"?"bg-warning text-dark":"bg-danger"])},l(s.level==="warning"?"Warnung":"Fehler"),3)]),e("div",ht,l(s.message),1),s.validatorName?(a(),i("div",pt,l(S(s.validatorKind))+": "+l(s.validatorName),1)):_("",!0),y(s)?(a(),i("div",_t,[e("a",{href:`#${y(s)}`},"Zum betroffenen Befund springen",8,bt)])):_("",!0)]))),128))])):_("",!0),p.result.classificationValidators.length?(a(),i("div",yt,[h[2]||(h[2]=e("h6",{class:"small text-uppercase text-muted mb-2"},"Klassifikationsregeln",-1)),(a(!0),i(b,null,x(p.result.classificationValidators,s=>(a(),i("div",{key:s.name,class:"border rounded p-2 mb-2"},[e("div",kt,[e("div",null,[e("strong",null,l(s.name),1),e("div",xt,l(s.finding)+" · "+l(s.classification)+" · "+l(s.operator),1)]),e("span",{class:I(["badge",s.ok?"bg-success":"bg-warning text-dark"])},l(s.ok?"OK":"Offen"),3)]),e("div",$t," Treffer: "+l(s.matchedOccurrences)+" · ausgelöst: "+l(s.triggeredOccurrences),1)]))),128))])):_("",!0),p.result.interventionValidators.length?(a(),i("div",wt,[h[3]||(h[3]=e("h6",{class:"small text-uppercase text-muted mb-2"},"Interventionsregeln",-1)),(a(!0),i(b,null,x(p.result.interventionValidators,s=>(a(),i("div",{key:s.name,class:"border rounded p-2 mb-2"},[e("div",Vt,[e("div",null,[e("strong",null,l(s.name),1),e("div",Ct,l(s.finding)+" · "+l(s.intervention)+" · "+l(s.operator),1)]),e("span",{class:I(["badge",s.ok?"bg-success":"bg-warning text-dark"])},l(s.ok?"OK":"Offen"),3)]),e("div",Tt," Treffer: "+l(s.matchedOccurrences)+" · ausgelöst: "+l(s.triggeredOccurrences),1)]))),128))])):_("",!0),p.result.findingsValidators.length?(a(),i("div",Bt,[h[4]||(h[4]=e("h6",{class:"small text-uppercase text-muted mb-2"},"Befundregeln",-1)),(a(!0),i(b,null,x(p.result.findingsValidators,s=>(a(),i("div",{key:s.name,class:"border rounded p-2 mb-2"},[e("div",Et,[e("div",null,[e("strong",null,l(s.name),1),e("div",Ft,l(s.finding)+" · "+l(s.operator),1)]),e("span",{class:I(["badge",s.ok?"bg-success":"bg-warning text-dark"])},l(s.ok?"OK":"Offen"),3)]),e("div",Mt," Treffer: "+l(s.matchedOccurrences)+" · ausgelöst: "+l(s.triggeredOccurrences),1),s.missingRequiredClassifications.length?(a(),i("div",Dt," Fehlende Pflicht-Klassifikationen: "+l(s.missingRequiredClassifications.join(", ")),1)):_("",!0)]))),128))])):_("",!0),p.result.examinationValidators.length?(a(),i("div",It,[h[6]||(h[6]=e("h6",{class:"small text-uppercase text-muted mb-2"},"Untersuchungsregeln",-1)),(a(!0),i(b,null,x(p.result.examinationValidators,s=>(a(),i("div",{key:s.name,class:"border rounded p-2 mb-2"},[e("div",Kt,[e("strong",null,l(s.name),1),e("span",{class:I(["badge",s.ok?"bg-success":"bg-warning text-dark"])},l(s.ok?"OK":"Offen"),3)]),s.findingValidatorStatus.length?(a(),i("div",At,[h[5]||(h[5]=te(" Abhängige Befundregeln: ",-1)),(a(!0),i(b,null,x(s.findingValidatorStatus,(w,P)=>(a(),i(b,{key:w.name},[P?(a(),i("span",Ot,", ")):_("",!0),E(w.name)?(a(),i("a",{key:1,href:`#${E(w.name)}`},l(w.name)+" ("+l(w.ok?"OK":"Fehler")+") · zum Befund ",9,St)):(a(),i("span",Rt,l(w.name)+" ("+l(w.ok?"OK":"Fehler")+")",1))],64))),128))])):_("",!0),s.examinationValidatorStatus.length?(a(),i("div",zt," Abhängige Untersuchungsregeln: "+l(s.examinationValidatorStatus.map(w=>`${w.name} (${w.ok?"OK":"Fehler"})`).join(", ")),1)):_("",!0)]))),128))])):_("",!0),p.result.unitValidators.length?(a(),i("div",Pt,[h[7]||(h[7]=e("h6",{class:"small text-uppercase text-muted mb-2"},"Einheitenregeln",-1)),(a(!0),i(b,null,x(p.result.unitValidators,s=>(a(),i("div",{key:s.name,class:"border rounded p-2 mb-2"},[e("div",jt,[e("div",null,[e("strong",null,l(s.name),1),e("div",Lt,l(s.finding)+" · "+l(s.classification)+" · "+l(s.unit)+" · "+l(s.operator),1)]),e("span",{class:I(["badge",s.ok?"bg-success":"bg-warning text-dark"])},l(s.ok?"OK":"Offen"),3)]),e("div",Ut," Treffer: "+l(s.matchedOccurrences)+" · ausgelöst: "+l(s.triggeredOccurrences),1)]))),128))])):_("",!0)],64)):(a(),i("div",ot," Keine Eingabeprüfung verfügbar. "))])]))}}),Nt={class:"card shadow-sm"},Wt={class:"card-header d-flex justify-content-between align-items-center"},Ht={class:"badge bg-secondary"},Zt={class:"card-body"},Gt={key:0,class:"small text-muted"},Jt={key:1,class:"alert alert-warning py-2 mb-0"},Qt={key:2,class:"small text-muted"},Xt={key:3,class:"row g-3"},Yt={class:"col-md-6"},en={class:"border rounded p-3 h-100"},tn={key:0,class:"small"},nn={class:"d-flex flex-wrap gap-2 mt-2"},sn=["onClick"],ln={key:1,class:"small text-muted"},an={class:"col-md-6"},rn={class:"border rounded p-3 h-100"},on={key:0,class:"small"},dn={class:"d-flex flex-wrap gap-2 mt-2"},un=["onClick"],cn={key:1,class:"small text-muted"},mn=ne({__name:"ReportingMediaPreviewCards",setup(p){const d=ke();function K(C,$,k){return k?(C??[]).map(y=>y.type!=="raw"&&y.type!=="processed"?y:{...y,url:$==="pdf"?Qe(k,y.type):Xe(k,y.type)}):C??[]}const A=V(()=>K(d.mediaPreload?.latestReport?.streamOptions,"pdf",d.mediaPreload?.latestReport?.id)),O=V(()=>K(d.mediaPreload?.latestVideo?.streamOptions,"video",d.mediaPreload?.latestVideo?.id));function S(C){window.open(C,"_blank","noopener,noreferrer")}return(C,$)=>(a(),i("div",Nt,[e("div",Wt,[$[0]||($[0]=e("div",null,[e("h6",{class:"mb-0"},"Media preload"),e("small",{class:"text-muted"},"latest_only timeline payload")],-1)),e("span",Ht,l(g(d).mediaPreloadStatus),1)]),e("div",Zt,[g(d).mediaPreloadStatus==="loading"?(a(),i("div",Gt," Loading latest media... ")):g(d).mediaPreloadStatus==="error"?(a(),i("div",Jt,l(g(d).mediaPreloadError||"Media preload failed."),1)):g(d).mediaPreload?(a(),i("div",Xt,[e("div",Yt,[e("div",en,[$[1]||($[1]=e("div",{class:"fw-semibold mb-2"},"Letzter Befund",-1)),g(d).mediaPreload.latestReport?(a(),i("div",tn,[e("div",null,"ID: "+l(g(d).mediaPreload.latestReport.id),1),e("div",null,"document_type: "+l(g(d).mediaPreload.latestReport.documentType||"n/a"),1),e("div",nn,[(a(!0),i(b,null,x(A.value,k=>(a(),i("button",{key:`report-${k.type}`,class:"btn btn-outline-secondary btn-sm",onClick:y=>S(k.url)},l(k.type),9,sn))),128))])])):(a(),i("div",ln,"No report available."))])]),e("div",an,[e("div",rn,[$[2]||($[2]=e("div",{class:"fw-semibold mb-2"},"Letztes Video",-1)),g(d).mediaPreload.latestVideo?(a(),i("div",on,[e("div",null,"ID: "+l(g(d).mediaPreload.latestVideo.id),1),e("div",dn,[(a(!0),i(b,null,x(O.value,k=>(a(),i("button",{key:`video-${k.type}`,class:"btn btn-outline-secondary btn-sm",onClick:y=>S(k.url)},l(k.type),9,un))),128))])])):(a(),i("div",cn,"No video available."))])])])):(a(),i("div",Qt," No preload data available. "))])]))}}),fn={class:"d-flex flex-column gap-3"},gn={class:"row g-3 mb-3"},vn={class:"col-md-4"},hn=["value","disabled"],pn={class:"col-md-4"},_n=["value"],bn={class:"col-md-4"},yn=["value","disabled"],kn={value:"",disabled:""},xn=["value"],$n={class:"d-flex flex-wrap gap-2 mb-3"},wn=["disabled"],Vn=["disabled"],Cn={key:0,class:"alert alert-danger py-2 mb-2"},Tn={key:1,class:"alert alert-success py-2 mb-2"},Bn={key:2,class:"small text-muted mb-2"},En={key:3,class:"small text-muted"},Fn={class:"card shadow-sm"},Mn={class:"card-header d-flex justify-content-between align-items-center"},Dn={class:"small text-muted"},In={class:"card-body"},Kn={key:0,class:"alert alert-danger py-2"},An={key:1,class:"alert alert-success py-2"},On={key:2,class:"alert alert-warning"},Sn={key:3,class:"alert alert-warning"},Rn={key:4,class:"alert alert-info"},zn={class:"card-header bg-light"},Pn={class:"d-flex justify-content-between align-items-center gap-3"},jn={class:"mb-0"},Ln={class:"text-muted"},Un={class:"text-muted"},qn={class:"card-body d-flex flex-column gap-3"},Nn=["id"],Wn={class:"d-flex justify-content-between align-items-start gap-3 mb-3"},Hn={class:"fw-semibold"},Zn={class:"small text-muted"},Gn=["disabled","onClick"],Jn={key:0,class:"alert alert-warning py-2 small"},Qn={key:1,class:"d-flex flex-column gap-3"},Xn={class:"d-flex justify-content-between align-items-center mb-3"},Yn={class:"small text-muted"},es=["onClick"],ts={class:"row g-3"},ns={class:"form-label"},ss={key:0,class:"text-danger"},ls=["value","onChange"],is=["value"],as={class:"form-label form-label-sm"},rs=["type","value","onInput"],os={key:0,class:"invalid-feedback d-block"},ds={key:2,class:"small text-muted"},us={class:"mt-3 p-3 bg-light rounded small"},cs={class:"mt-3"},ms=ne({__name:"FindingsCapturePage",setup(p){const d=ke(),K=et(),{catalogFindings:A,loading:O,ensureCatalogLoaded:S}=Ye(),C=D(null),$=D(null),k=D(!1),y=D(null),E=D(null),m=D({}),h=D(!1),s=D(!1);let w=null;const{moduleName:P,selectedTemplateName:F,templateOptions:se,selectedTemplate:Z,sectionBlocks:j,loading:R,errorMessage:le,fetchTemplatesByExamination:xe,selectTemplateByName:$e,setModuleName:we}=Ne({initialModuleName:d.selectedKbModule,initialTemplateName:d.selectedTemplateName}),M=V(()=>d.currentRuntimeDraft),B=V(()=>M.value?.payload||null),ie=V(()=>!!F.value&&!!B.value),ae=V(()=>K.examinationsDropdown.find(t=>t.id===d.selectedExaminationId)||null),L=V(()=>ae.value?.name||null),Ve=V(()=>ae.value?.displayName||L.value||null),re=V(()=>{const t=Z.value?.validators;return{examination:Array.isArray(t?.examinationValidators)?t.examinationValidators.length:0,findings:Array.isArray(t?.findingsValidators)?t.findingsValidators.length:0}}),Ce=V(()=>{const t=A.value.map(n=>[f(n.name),n]);return new Map(t)}),U=V(()=>{const t=(d.lastTemplateValidation?.findingsValidators||[]).flatMap(n=>n.missingRequiredClassifications.length?[[f(n.finding),n.missingRequiredClassifications]]:[]);return Object.fromEntries(t)}),Te=V(()=>{const t=(d.lastTemplateValidation?.findingsValidators||[]).map(n=>[f(n.finding),n.issues.map(u=>u.message)]);return Object.fromEntries(t)}),Be=V(()=>{const t=j.value.flatMap(n=>n.findings).map(n=>[f(n.finding),oe(n.finding)]);return Object.fromEntries(t)});function f(t){return t.trim().toLowerCase().replace(/\s+/g,"_").replace(/-/g,"_")}function oe(t){return`finding-${f(t)}`}function G(){C.value=null,$.value=null}function de(t,n){return t?.response?.data?.detail||t?.response?.data?.error||t?.message||n}function Ee(t){const n=new Date(t.at).toLocaleTimeString("de-DE");return t.type==="finding_added"?`${n}: Befund ${t.findingId} hinzugefügt`:`${n}: Klassifikation ${t.classificationId} für Befund ${t.findingId} aktualisiert`}function J(t,n){return`${t}:${f(n)}`}function ue(t,n){m.value={...m.value,[J(t,n)]:!0}}function Fe(){m.value={},h.value=!1,s.value=!1}function q(t){return Ce.value.get(f(t))||null}function ce(t){return Le(q(t)??{id:0,name:t})}function Me(t){const n=q(t);return Ue(n)}function me(t){const n=Me(t),u=U.value[f(t)]||[],r=new Map;for(const o of n)r.set(f(o.name),o);for(const o of u)r.get(f(o))||r.set(f(o),{id:0,name:o,displayName:o,required:!0,classificationTypes:[],choices:[]});return Array.from(r.values())}function N(t){const n=f(t);return(B.value?.patientFindings||[]).filter(u=>f(u.finding)===n)}function De(t){return B.value?t.multipleAllowed?!0:N(t.finding).length===0:!1}function Q(t,n){const u=j.value.flatMap(o=>o.findings).find(o=>f(o.finding)===f(t))?.classifications.find(o=>f(o.classification)===f(n))?.required||!1,r=(U.value[f(t)]||[]).some(o=>f(o)===f(n));return u||r}function W(t,n){return t.classificationChoices.find(u=>f(u.classification)===f(n))||null}function z(t,n){return W(t,n)?.classificationChoice||""}function Ie(t,n,u){const r=me(t).find(c=>f(c.name)===f(n)),o=z(u,n);return!r||!o?null:r.choices.find(c=>f(c.name)===f(o))||null}function fe(t,n,u){const r=Ie(t,n,u),o=Object.keys(r?.numericalDescriptors||{});if(o.length)return o;const c=W(u,n);if(c?.descriptors.length)return c.descriptors.map(T=>T.classificationChoiceDescriptor);const v=f(n);return v.includes("mm")||v.includes("size")||v.includes("length")||v.includes("distance")?[`${v}_descriptor`]:[]}function Ke(t,n,u){const r=W(t,n)?.descriptors.find(o=>o.classificationChoiceDescriptor===u)||null;return r?.descriptorValue==null?"":String(r.descriptorValue)}function Ae(t){return t.replace(/_/g," ").replace(/\b\w/g,n=>n.toUpperCase())}function ge(t){return/(mm|cm|length|size|distance|count|number)/i.test(t)?"number":"text"}function ve(t,n,u,r){const o=W(t,n)?.descriptors||[],c=fe(t.finding,n,t),v=new Map(o.map(T=>[T.classificationChoiceDescriptor,T]));if(r?.descriptorKey)if(r.descriptorValue==null||r.descriptorValue==="")v.delete(r.descriptorKey);else{const T=v.get(r.descriptorKey);v.set(r.descriptorKey,{localId:T?.localId,classificationChoiceDescriptor:r.descriptorKey,descriptorValue:ge(r.descriptorKey)==="number"?Number(r.descriptorValue):r.descriptorValue})}return(c.length?c:Array.from(v.keys())).map(T=>v.get(T)||null).filter(T=>T!==null)}function he(t,n,u){const r=z(t,u),o=Q(n,u)&&!r.trim()&&(h.value||m.value[J(t.localId||"",u)]),c=(U.value[f(n)]||[]).some(v=>f(v)===f(u))&&(h.value||m.value[J(t.localId||"",u)]);return o||c}function pe(t,n,u){if(!he(t,n,u))return[];const r=[];return Q(n,u)&&!z(t,u)&&r.push("Dieses Feld ist fuer den aktuellen Entwurfszustand erforderlich."),(U.value[f(n)]||[]).some(o=>f(o)===f(u))&&r.push("Die Validierung verlangt diese Klassifikation fuer den aktuellen Befund."),Array.from(new Set(r))}function _e(t){const n=Te.value[f(t)]||[];return Array.from(new Set(n.filter(Boolean)))}async function X(){E.value=null;const t=L.value;if(!t)return;const n=await xe(t);n.length?E.value=`${n.length} Template(s) fuer "${t}" geladen.`:E.value=`Keine Templates fuer "${t}" gefunden.`}function Oe(t){we(t.trim()||"report_template_examples"),X()}function Se(t){$e(t||null),h.value=!1}function Re(t){if(G(),!d.addFinding({findingName:t})){C.value="Der Befund konnte dem lokalen Entwurf nicht hinzugefuegt werden.";return}s.value=!0,d.noteFindingAdded(q(t)?.id||0),$.value=`Befund "${ce(t)}" wurde dem lokalen Entwurf hinzugefuegt.`}function ze(t){G(),t&&(d.removeFinding(t),s.value=!0,$.value="Befundinstanz aus dem lokalen Entwurf entfernt.")}function Pe(t,n,u){G(),ue(t,n),s.value=!0;const r=(B.value?.patientFindings||[]).find(o=>o.localId===t);r&&(d.updateClassificationValue({findingLocalId:t,classificationName:n,classificationChoice:u||null,descriptors:u?ve(r,n):[]}),d.noteClassificationUpdated(q(r.finding)?.id||0,0,null))}function je(t,n,u,r){ue(t,n),s.value=!0;const o=(B.value?.patientFindings||[]).find(v=>v.localId===t);if(!o)return;const c=z(o,n);c&&d.updateClassificationValue({findingLocalId:t,classificationName:n,classificationChoice:c,descriptors:ve(o,n,c,{descriptorKey:u,descriptorValue:r})})}async function be(t=!1){const n=M.value,u=F.value,r=d.patientExaminationId;if(!n||!u||!r){y.value=null,d.setLastTemplateValidation(null);return}t&&(h.value=!0),k.value=!0,y.value=null;let o=!1;try{const c=await qe(d.selectedKbModule,u,n.payload);d.setLastTemplateValidation(c)}catch(c){o=!0,d.setLastTemplateValidation(null),y.value=de(c,"Template-Validierung konnte nicht ausgefuehrt werden.")}finally{try{await d.persistCurrentRuntimeDraft()}catch(c){o||(y.value=de(c,"Der Reporting-Entwurf konnte nach der Validierung nicht gespeichert werden."))}k.value=!1}}function Y(){w&&clearTimeout(w),w=setTimeout(()=>{be(!1)},350)}function ye(t){s.value&&(t.preventDefault(),t.returnValue="")}return H([P,F],([t,n])=>{d.setTemplateSelection({moduleName:t,templateName:n})}),H(()=>d.patientExaminationId,()=>{Fe(),y.value=null,d.setLastTemplateValidation(null)}),H(()=>B.value?.patientFindings,()=>{!F.value||!B.value||Y()},{deep:!0}),H(()=>F.value,()=>{if(!F.value){d.setLastTemplateValidation(null),y.value=null;return}Y()}),He(async()=>{window.addEventListener("beforeunload",ye),await S(),L.value&&await X(),ie.value&&Y()}),Ze(()=>{window.removeEventListener("beforeunload",ye),w&&(clearTimeout(w),w=null)}),(t,n)=>(a(),i("div",fn,[ee(We,{title:"Template & Dokumentationsregeln",subtitle:"Template wählen, Abschnitte prüfen und den lokalen Befund-Entwurf gegen die Wissensbasis validieren",icon:"description","icon-bg-class":"bg-gradient-primary","is-complete":!!g(F)&&!!M.value,"is-active":!0,"show-action":!1,loading:g(R)||g(O)||k.value},{default:Ge(()=>[e("div",gn,[e("div",vn,[n[3]||(n[3]=e("label",{class:"form-label"},"KB-Modul",-1)),e("input",{class:"form-control",value:g(P),disabled:g(R),onChange:n[0]||(n[0]=u=>Oe(u.target.value))},null,40,hn)]),e("div",pn,[n[4]||(n[4]=e("label",{class:"form-label"},"Untersuchung",-1)),e("input",{class:"form-control",value:Ve.value||"",readonly:""},null,8,_n)]),e("div",bn,[n[5]||(n[5]=e("label",{class:"form-label"},"Template",-1)),e("select",{class:"form-select",value:g(F)||"",disabled:g(R)||!g(se).length,onChange:n[1]||(n[1]=u=>Se(u.target.value))},[e("option",kn,l(g(R)?"Templates laden...":"Template wählen"),1),(a(!0),i(b,null,x(g(se),u=>(a(),i("option",{key:u.name,value:u.name},l(u.name),9,xn))),128))],40,yn)])]),e("div",$n,[e("button",{class:"btn btn-outline-secondary btn-sm",disabled:g(R)||!L.value,onClick:X}," Templates für Untersuchung laden ",8,wn),e("button",{class:"btn btn-primary btn-sm",disabled:k.value||!ie.value,onClick:n[2]||(n[2]=u=>be(!0))}," Bericht prüfen ",8,Vn)]),g(le)?(a(),i("div",Cn,l(g(le)),1)):_("",!0),E.value?(a(),i("div",Tn,l(E.value),1)):_("",!0),g(Z)?(a(),i("div",Bn," Abschnitte: "+l(g(j).length)+" · Validierungen: "+l(re.value.examination)+" auf Untersuchungsebene, "+l(re.value.findings)+" auf Befundebene ",1)):_("",!0),M.value?(a(),i("div",En," Entwurf: "+l(M.value.hydratedFrom==="session_storage"||M.value.hydratedFrom==="draft_api"?"wiederhergestellt":"initialisiert")+" · Befunde: "+l(B.value?.patientFindings.length||0)+" · Aktualisiert: "+l(new Date(M.value.updatedAt).toLocaleTimeString("de-DE")),1)):_("",!0)]),_:1},8,["is-complete","loading"]),e("div",Fn,[e("div",Mn,[n[6]||(n[6]=e("div",null,[e("h5",{class:"mb-0"},"Befunderfassung"),e("small",{class:"text-muted"},"Frontend-eigene Befundgraphen pflegen und gegen das Template validieren")],-1)),e("div",Dn,l(B.value?.patientFindings.length||0)+" Befundinstanz(en) ",1)]),e("div",In,[C.value?(a(),i("div",Kn,l(C.value),1)):_("",!0),$.value?(a(),i("div",An,l($.value),1)):_("",!0),ee(mn,{class:"mb-3"}),!g(d).patientExaminationId||!g(d).selectedExaminationId?(a(),i("div",On," Bitte zuerst das Fall-Setup abschließen (Patient + Untersuchung + PatientExamination). ")):!M.value||!B.value?(a(),i("div",Sn," Kein lokaler Reporting-Entwurf vorhanden. Bitte den Reporting-Shell-Kontext erneut laden. ")):g(Z)?(a(),i(b,{key:5},[(a(!0),i(b,null,x(g(j),u=>(a(),i("div",{key:u.name,class:"card border mb-3"},[e("div",zn,[e("div",Pn,[e("div",null,[e("h6",jn,l(u.title),1),e("small",Ln,l(u.subtitle),1)]),e("small",Un,l(u.findings.length)+" Befunddefinition(en) ",1)])]),e("div",qn,[(a(!0),i(b,null,x(u.findings,r=>(a(),i("div",{key:`${u.name}:${r.finding}`,id:oe(r.finding),class:"border rounded p-3"},[e("div",Wn,[e("div",null,[e("div",Hn,l(ce(r.finding)),1),e("div",Zn,l(r.multipleAllowed?"Mehrfach erlaubt":"Einmalig")+" · "+l(r.required?"erforderlich":"optional"),1)]),e("button",{class:"btn btn-outline-primary btn-sm",disabled:!De(r),onClick:o=>Re(r.finding)},l(N(r.finding).length?"Weitere Instanz hinzufügen":"Befund hinzufügen"),9,Gn)]),_e(r.finding).length?(a(),i("div",Jn,[(a(!0),i(b,null,x(_e(r.finding),o=>(a(),i("div",{key:o},l(o),1))),128))])):_("",!0),N(r.finding).length?(a(),i("div",Qn,[(a(!0),i(b,null,x(N(r.finding),o=>(a(),i("div",{key:o.localId||o.finding,class:"runtime-finding-instance border rounded p-3"},[e("div",Xn,[e("div",Yn," Instanz "+l(o.localId||o.finding),1),e("button",{class:"btn btn-outline-danger btn-sm",onClick:c=>ze(o.localId||"")}," Entfernen ",8,es)]),e("div",ts,[(a(!0),i(b,null,x(me(r.finding),c=>(a(),i("div",{key:`${o.localId}:${c.name}`,class:"col-md-6"},[e("label",ns,[te(l(c.displayName||c.name)+" ",1),Q(r.finding,c.name)?(a(),i("span",ss,"*")):_("",!0)]),e("select",{class:I(["form-select",{"is-invalid":he(o,r.finding,c.name)}]),value:z(o,c.name),onChange:v=>Pe(o.localId||"",c.name,v.target.value)},[n[7]||(n[7]=e("option",{value:""}," Auswahl treffen ",-1)),(a(!0),i(b,null,x(c.choices,v=>(a(),i("option",{key:v.id,value:v.name},l(v.displayName||v.name),9,is))),128))],42,ls),(a(!0),i(b,null,x(fe(r.finding,c.name,o),v=>(a(),i("div",{key:`${o.localId}:${c.name}:${v}`,class:"mt-2"},[e("label",as,l(Ae(v)),1),e("input",{class:"form-control form-control-sm",type:ge(v),value:Ke(o,c.name,v),onInput:T=>je(o.localId||"",c.name,v,T.target.value)},null,40,rs)]))),128)),pe(o,r.finding,c.name).length?(a(),i("div",os,[(a(!0),i(b,null,x(pe(o,r.finding,c.name),v=>(a(),i("div",{key:v},l(v),1))),128))])):_("",!0)]))),128))])]))),128))])):(a(),i("div",ds," Noch keine Instanz dieses Befunds im lokalen Entwurf. "))],8,Nn))),128))])]))),128)),e("div",us,[e("div",null,[n[8]||(n[8]=e("strong",null,"Letztes Befund-Ereignis:",-1)),te(" "+l(g(d).lastFindingsEvent?Ee(g(d).lastFindingsEvent):"keins"),1)])]),e("div",cs,[ee(qt,{loading:k.value,"error-message":y.value,result:g(d).lastTemplateValidation,"finding-anchors":Be.value},null,8,["loading","error-message","result","finding-anchors"])])],64)):(a(),i("div",Rn," Bitte zuerst ein Template wählen, damit die Befunde abschnittsweise gerendert werden können. "))])])]))}}),ks=Je(ms,[["__scopeId","data-v-c105cd17"]]);export{ks as default};
@@ -0,0 +1 @@
1
+ .frame-card[data-v-ebc8561c]{min-height:320px}.task-meta[data-v-ebc8561c]{font-size:.875rem}.label-grid[data-v-ebc8561c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.label-option[data-v-ebc8561c]{background:#fff}.sidebar-action-button[data-v-ebc8561c]{border-radius:.5rem;border-width:1px;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.sidebar-action-button[data-v-ebc8561c]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #0000001f}.sidebar-action-button[data-v-ebc8561c]:focus-visible{outline:2px solid #9dc2ff;outline-offset:1px}
@@ -0,0 +1 @@
1
+ import{d as de,O as ce,b as x,c as y,w as W,y as me,f as r,g as n,j as I,t as g,i as _,z as k,A as H,F as N,h as J,B as F,C as X,a as U,r as j,e as D,o as u,k as Y,_ as be}from"./main.js";import{u as pe}from"./annotationQueue.js";import"./applicationSettingsApi.js";const b=[];for(let o=0;o<256;++o)b.push((o+256).toString(16).slice(1));function ve(o,l=0){return(b[o[l+0]]+b[o[l+1]]+b[o[l+2]]+b[o[l+3]]+"-"+b[o[l+4]]+b[o[l+5]]+"-"+b[o[l+6]]+b[o[l+7]]+"-"+b[o[l+8]]+b[o[l+9]]+"-"+b[o[l+10]]+b[o[l+11]]+b[o[l+12]]+b[o[l+13]]+b[o[l+14]]+b[o[l+15]]).toLowerCase()}let E;const ge=new Uint8Array(16);function fe(){if(!E){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");E=crypto.getRandomValues.bind(crypto)}return E(ge)}const z={};function ye(o,l,m){let i;{const s=Date.now(),d=fe();_e(z,s,d),i=he(d,z.msecs,z.seq,l,m)}return l??ve(i)}function _e(o,l,m){return o.msecs??=-1/0,o.seq??=0,l>o.msecs?(o.seq=m[6]<<23|m[7]<<16|m[8]<<8|m[9],o.msecs=l):(o.seq=o.seq+1|0,o.seq===0&&o.msecs++),o}function he(o,l,m,i,s=0){if(o.length<16)throw new Error("Random bytes length must be >= 16");if(!i)i=new Uint8Array(16),s=0;else if(s<0||s+16>i.length)throw new RangeError(`UUID byte range ${s}:${s+15} is out of buffer bounds`);return l??=Date.now(),m??=o[6]*127<<24|o[7]<<16|o[8]<<8|o[9],i[s++]=l/1099511627776&255,i[s++]=l/4294967296&255,i[s++]=l/16777216&255,i[s++]=l/65536&255,i[s++]=l/256&255,i[s++]=l&255,i[s++]=112|m>>>28&15,i[s++]=m>>>20&255,i[s++]=128|m>>>14&63,i[s++]=m>>>6&255,i[s++]=m<<2&255|o[10]&3,i[s++]=o[11],i[s++]=o[12],i[s++]=o[13],i[s++]=o[14],i[s++]=o[15],i}const xe={class:"container-fluid py-4"},ke={class:"row mb-3"},Le={class:"col-12"},we={key:0,class:"text-sm text-primary mb-0"},Ie={class:"col-12 col-md-6 col-lg-4"},Ae=["value"],Se={class:"d-flex align-items-center gap-2 mt-2"},Ge=["disabled"],Ne={key:0,class:"text-muted"},Fe={key:1,class:"text-muted"},Ve={key:2,class:"text-danger d-block mt-1"},Ce={class:"col-12 col-md-6 col-lg-4"},Me={key:0,class:"text-muted d-block mt-1"},Te={class:"col-12 col-md-6 col-lg-4"},Ue={class:"col-12 col-md-6 col-lg-4"},je={key:0,class:"col-12 col-md-6 col-lg-4"},De={key:1,class:"col-12 col-md-6 col-lg-4 d-flex align-items-end"},Ee={class:"form-check mb-2"},ze={class:"row g-3"},Be={class:"col-12 col-xl-8"},Re={class:"card frame-card"},Oe={class:"card-body"},$e={key:0,class:"text-muted"},Ke={key:1,class:"text-muted"},Ze={key:2,class:"text-muted"},Pe={class:"task-meta mb-2"},qe={class:"badge bg-light text-dark me-2"},Qe={class:"badge bg-light text-dark"},We=["src"],He={class:"mt-3"},Je={class:"d-flex align-items-center justify-content-between flex-wrap gap-2 mb-2"},Xe=["disabled"],Ye={key:0,class:"text-muted"},et={key:1,class:"label-grid"},tt={class:"form-check mb-1"},at=["id","value"],lt={class:"form-check-label"},nt={class:"d-flex gap-1 flex-wrap"},ot={key:0,class:"badge bg-success-subtle text-success-emphasis"},st={key:1,class:"badge bg-secondary-subtle text-secondary-emphasis"},it={key:2,class:"badge bg-info-subtle text-info-emphasis"},rt={class:"mt-3 d-flex gap-2 flex-wrap"},ut=["disabled"],dt=["disabled"],ct=["disabled"],mt=["disabled"],bt=["disabled"],pt={class:"col-12"},vt={key:0,class:"alert alert-danger mb-0",role:"alert"},gt=de({__name:"FrameAnnotation",setup(o){const l=pe(),m=ce(),i=x(!1),s=x(!1),d=x(null),p=x([]),f=x(null),A=x(!1),S=x(null),h=x([]),L=y({get:()=>l.selectedLabelGroupId??"",set:t=>l.setSelectedLabelGroupId(t.trim()||null)}),w=y({get:()=>l.taskMode,set:t=>l.setTaskMode(t==="filtered"?"filtered":"random")}),B=y({get:()=>l.targetLabelName,set:t=>l.setTargetLabelName(t)}),R=y({get:()=>l.filterLabelName??"",set:t=>l.setFilterLabelName(t.trim()||null)}),O=y({get:()=>l.allowRandomFallback,set:t=>l.setAllowRandomFallback(t)}),V=y({get:()=>l.informationSource,set:t=>l.setInformationSource(t)}),$=y(()=>d.value?.data.labelOptions??[]),K=y(()=>Object.fromEntries((d.value?.data.manualAnnotations??[]).map(t=>[t.labelId,t]))),C=y(()=>Object.fromEntries((d.value?.data.predictionAnnotations??[]).map(t=>[t.labelId,t])));function Z(t){if(!t){p.value=[];return}const e=(t.data.manualAnnotations??[]).filter(a=>a.value).map(a=>a.labelId);if(e.length>0){p.value=[...new Set(e)];return}p.value=[...new Set(t.data.suggestedLabelIds??[])]}function ee(){p.value=[]}function te(){p.value=[...new Set(d.value?.data.suggestedLabelIds??[])]}function ae(t){return typeof t!="number"||Number.isNaN(t)?"":`${Math.round(t*100)}%`}function P(){const t=m.user,e=typeof t?.sub=="string"?t.sub.trim():typeof t?.oidcSub=="string"?t.oidcSub.trim():"";if(e)return`oidc:${e}`;const a=typeof m.user?.username=="string"?m.user.username.trim():"";return a||"unknown"}function le(t){if(Array.isArray(t))return t.filter(a=>!!a&&typeof a=="object");if(!t||typeof t!="object")return[];const e=t;return Array.isArray(e.results)?e.results.filter(a=>!!a&&typeof a=="object"):Array.isArray(e.labels)?e.labels.filter(a=>!!a&&typeof a=="object"):Array.isArray(e.groups)?e.groups.filter(a=>!!a&&typeof a=="object"):[]}function ne(t){const e=t.labelGroup&&typeof t.labelGroup=="object"?t.labelGroup:t.label_group&&typeof t.label_group=="object"?t.label_group:null,a=t.labelGroupId??t.label_group_id??t.groupId??t.group_id??e?.id??t.id;if(a==null||typeof a!="string"&&typeof a!="number")return null;const v=String(a).trim();if(!v)return null;const c=t.labelGroupName??t.label_group_name??t.groupName??t.group_name??e?.name??t.name,T=typeof c=="string"&&c.trim()?c.trim():`Group ${v}`;return{id:v,name:T}}async function q(){A.value=!0,S.value=null;try{const t=await U.get(j(D.media.videoLabelsList)),e=le(t.data),a=new Map;for(const v of e){const c=ne(v);c&&(a.has(c.id)||a.set(c.id,c))}h.value=[...a.values()].sort((v,c)=>v.name.localeCompare(c.name)),!L.value&&h.value.length>0&&(L.value=h.value[0].id)}catch(t){h.value=[],S.value=t?.response?.data?.detail||t?.response?.data?.error||t?.message||"Label-Gruppen konnten nicht geladen werden."}finally{A.value=!1}}async function G(){if(!l.selectedLabelGroupId){d.value=null;return}i.value=!0,f.value=null;try{l.taskQueue.length||await l.fetchBatch(10),d.value=l.popNextTask()??null,Z(d.value)}finally{i.value=!1}}function Q(t){const e=l.targetLabelName.trim().toLowerCase();return e?(t.data.labelOptions??[]).find(v=>v.name.trim().toLowerCase()===e)?.id??null:null}async function M(t){if(!d.value)return;const e=d.value,a=e.data.labelOptions??[];if(a.length===0){f.value="Für diesen Frame sind keine Labels verfügbar.";return}s.value=!0,f.value=null;const v=new Set(t);try{await U.post(j(D.annotation.bulkUpsert),a.map(c=>{const T=(e.data.manualAnnotations??[]).find(ue=>ue.labelId===c.id);return{frameId:e.data.frameId,labelId:c.id,value:v.has(c.id),floatValue:null,informationSourceName:V.value,annotator:P(),externalAnnotationId:T?.externalAnnotationId||(e.data.existingExternalId&&e.data.existingExternalId.trim()?`${e.data.existingExternalId}:${c.id}`:ye()),modelMetaId:null}})),await G()}catch(c){f.value=c?.response?.data?.detail||c?.response?.data?.error||c?.message||"Annotation konnte nicht gespeichert werden."}finally{s.value=!1}}async function oe(){await M(p.value)}async function se(){if(!d.value)return;const t=Q(d.value);if(t===null){f.value=`Ziel-Label "${l.targetLabelName}" ist für diesen Frame nicht verfügbar.`;return}const e=new Set(p.value);e.add(t),p.value=[...e],await M(p.value)}async function ie(){if(!d.value)return;const t=Q(d.value);if(t===null){f.value=`Ziel-Label "${l.targetLabelName}" ist für diesen Frame nicht verfügbar.`;return}const e=new Set(p.value);e.delete(t),p.value=[...e],await M(p.value)}async function re(){if(d.value){s.value=!0,f.value=null;try{await U.post(j(D.annotation.skip),{frameId:d.value.data.frameId,annotator:P()}),await G()}catch(t){f.value=t?.response?.data?.detail||t?.response?.data?.error||t?.message||"Aufgabe konnte nicht übersprungen werden."}finally{s.value=!1}}}return W(()=>d.value?.id,()=>{Z(d.value)}),W(()=>[l.selectedLabelGroupId,l.taskQuerySignature],async()=>{l.clearQueue(),await G()}),me(async()=>{await q(),await G()}),(t,e)=>(u(),r("div",xe,[n("div",ke,[n("div",Le,[e[8]||(e[8]=n("h4",{class:"mb-2"},"Frame-Annotation",-1)),e[9]||(e[9]=n("p",{class:"text-sm text-muted mb-3"}," Einfache Frame-basierte Annotation für zufällige oder gefilterte Aufgaben. ",-1)),I(l).aiDatasetName&&I(l).aiDatasetType?(u(),r("p",we," Aktive KI-Datensatz-Warteschlange: "+g(I(l).aiDatasetName)+" ("+g(I(l).aiDatasetType)+") ",1)):_("",!0)]),n("div",Ie,[e[11]||(e[11]=n("label",{for:"label-group-id",class:"form-label"},"Label-Gruppe",-1)),h.value.length>0?k((u(),r("select",{key:0,id:"label-group-id","onUpdate:modelValue":e[0]||(e[0]=a=>L.value=a),class:"form-select"},[e[10]||(e[10]=n("option",{value:""},"Label-Gruppe auswählen",-1)),(u(!0),r(N,null,J(h.value,a=>(u(),r("option",{key:a.id,value:a.id},g(a.name)+" (ID: "+g(a.id)+") ",9,Ae))),128))],512)),[[H,L.value]]):k((u(),r("input",{key:1,id:"label-group-id","onUpdate:modelValue":e[1]||(e[1]=a=>L.value=a),type:"text",class:"form-control",placeholder:"e.g. 1"},null,512)),[[F,L.value]]),n("div",Se,[n("button",{class:"btn btn-outline-secondary btn-sm mb-0",disabled:A.value,onClick:q},g(A.value?"Gruppen werden geladen...":"Gruppen neu laden"),9,Ge),h.value.length>0?(u(),r("small",Ne,g(h.value.length)+" Gruppe(n) verfügbar ",1)):(u(),r("small",Fe," Keine Gruppen gefunden. Sie können eine Gruppen-ID manuell eingeben. "))]),S.value?(u(),r("small",Ve,g(S.value),1)):_("",!0)]),n("div",Ce,[e[13]||(e[13]=n("label",{for:"task-mode",class:"form-label"},"Aufgabenquelle",-1)),k(n("select",{id:"task-mode","onUpdate:modelValue":e[2]||(e[2]=a=>w.value=a),class:"form-select"},[...e[12]||(e[12]=[n("option",{value:"random"},"Zufällige Frames",-1),n("option",{value:"filtered"},"Nach vorherigem Label gefiltert",-1)])],512),[[H,w.value]]),w.value==="random"?(u(),r("small",Me," Zufallsmodus ist aktiv. ")):_("",!0)]),n("div",Te,[e[14]||(e[14]=n("label",{for:"target-label-name",class:"form-label"},"Zu annotierendes Label",-1)),k(n("input",{id:"target-label-name","onUpdate:modelValue":e[3]||(e[3]=a=>B.value=a),type:"text",class:"form-control",placeholder:"z. B. Polyp"},null,512),[[F,B.value,void 0,{lazy:!0}]])]),n("div",Ue,[e[15]||(e[15]=n("label",{for:"information-source",class:"form-label"},"Informationsquelle",-1)),k(n("input",{id:"information-source","onUpdate:modelValue":e[4]||(e[4]=a=>V.value=a),type:"text",class:"form-control",placeholder:"e.g. frame_annotation_frontend",list:"information-source-options"},null,512),[[F,V.value,void 0,{lazy:!0}]]),e[16]||(e[16]=n("datalist",{id:"information-source-options"},[n("option",{value:"frame_annotation_frontend"}),n("option",{value:"human_annotation"}),n("option",{value:"model_prediction"})],-1))]),w.value==="filtered"?(u(),r("div",je,[e[17]||(e[17]=n("label",{for:"filter-label-name",class:"form-label"},"Nach vorherigem Label filtern",-1)),k(n("input",{id:"filter-label-name","onUpdate:modelValue":e[5]||(e[5]=a=>R.value=a),type:"text",class:"form-control",placeholder:"z. B. Blut"},null,512),[[F,R.value,void 0,{lazy:!0}]])])):_("",!0),w.value==="filtered"?(u(),r("div",De,[n("div",Ee,[k(n("input",{id:"random-fallback","onUpdate:modelValue":e[6]||(e[6]=a=>O.value=a),class:"form-check-input",type:"checkbox"},null,512),[[X,O.value]]),e[18]||(e[18]=n("label",{class:"form-check-label",for:"random-fallback"}," Auf zufällige Frames zurückfallen, wenn der Filter keine Treffer liefert ",-1))])])):_("",!0)]),n("div",ze,[n("div",Be,[n("div",Re,[n("div",Oe,[i.value?(u(),r("div",$e,"Aufgabe wird geladen...")):I(l).selectedLabelGroupId?d.value?(u(),r(N,{key:3},[n("div",Pe,[n("span",qe,"Frame #"+g(d.value.data.frameId),1),n("span",Qe,"Aufgabe "+g(d.value.id),1)]),n("img",{src:d.value.data.imageUrl,class:"img-fluid rounded border",alt:"Zu annotierender Frame"},null,8,We),n("div",He,[n("div",Je,[e[19]||(e[19]=n("h6",{class:"mb-0"},"Multilabel-Status",-1)),n("button",{class:"btn btn-outline-primary btn-sm mb-0",disabled:s.value,onClick:te}," KI-Vorschlag übernehmen ",8,Xe)]),$.value.length===0?(u(),r("div",Ye," Keine Labels für diese Frame-Aufgabe verfügbar. ")):(u(),r("div",et,[(u(!0),r(N,null,J($.value,a=>(u(),r("label",{key:a.id,class:"label-option border rounded p-2"},[n("div",tt,[k(n("input",{id:`frame-label-${a.id}`,"onUpdate:modelValue":e[7]||(e[7]=v=>p.value=v),class:"form-check-input",type:"checkbox",value:a.id},null,8,at),[[X,p.value]]),n("span",lt,g(a.name),1)]),n("div",nt,[K.value[a.id]?.value?(u(),r("span",ot," Manual ")):K.value[a.id]?(u(),r("span",st," Manuell nein ")):_("",!0),C.value[a.id]?.value?(u(),r("span",it,[e[20]||(e[20]=Y(" KI ",-1)),C.value[a.id]?.floatValue!==null?(u(),r(N,{key:0},[Y(g(ae(C.value[a.id]?.floatValue)),1)],64)):_("",!0)])):_("",!0)])]))),128))]))]),n("div",rt,[n("button",{class:"btn btn-success sidebar-action-button",disabled:s.value,onClick:oe}," Labels speichern ",8,ut),n("button",{class:"btn btn-outline-success sidebar-action-button",disabled:s.value,"data-test":"positive-example-button",onClick:se}," Positives Beispiel ",8,dt),n("button",{class:"btn btn-outline-danger sidebar-action-button",disabled:s.value,"data-test":"negative-example-button",onClick:ie}," Negatives Beispiel ",8,ct),n("button",{class:"btn btn-outline-secondary sidebar-action-button",disabled:s.value,onClick:ee}," Auswahl leeren ",8,mt),n("button",{class:"btn btn-outline-warning sidebar-action-button",disabled:s.value,"data-test":"exclude-dataset-button",onClick:re}," Nicht im Datensatz aufnehmen ",8,bt)])],64)):(u(),r("div",Ze," Keine Annotationsaufgaben verfügbar. ")):(u(),r("div",Ke," Wählen Sie eine Label-Gruppe aus, um mit der Annotation zu starten. "))])])]),n("div",pt,[f.value?(u(),r("div",vt,g(f.value),1)):_("",!0)])])]))}}),ht=be(gt,[["__scopeId","data-v-ebc8561c"]]);export{ht as default};
@@ -0,0 +1 @@
1
+ .training-page[data-v-1ecd524d]{color:#17324d}.training-hero[data-v-1ecd524d]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.training-eyebrow[data-v-1ecd524d]{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;color:#2f6f94;margin-bottom:.35rem}.training-title[data-v-1ecd524d]{margin:0;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700}.training-intro[data-v-1ecd524d]{margin-top:.75rem;max-width:50rem;color:#587086}.training-status-chip[data-v-1ecd524d]{border-radius:999px;padding:.65rem 1rem;background:#edf3f7;color:#17324d;font-weight:600}.training-status-running[data-v-1ecd524d]{background:#fff3cd;color:#7a5a00}.training-status-success[data-v-1ecd524d]{background:#d7f5e5;color:#176c49}.training-status-failed[data-v-1ecd524d]{background:#f9d7d7;color:#8f2020}.training-card[data-v-1ecd524d]{background:linear-gradient(180deg,#fff,#f5f8fb);border-radius:1.25rem;padding:1.5rem;box-shadow:0 20px 55px #10263a14;border:1px solid rgba(47,111,148,.12)}.training-card-contrast[data-v-1ecd524d]{background:linear-gradient(180deg,#17324d,#224f71);color:#f7fbff}.card-header-row[data-v-1ecd524d]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.card-header-row h2[data-v-1ecd524d],.training-card-contrast h2[data-v-1ecd524d]{margin:0}.card-header-row p[data-v-1ecd524d],.status-intro[data-v-1ecd524d]{margin:.35rem 0 0;color:#6c8092}.training-card-contrast .status-intro[data-v-1ecd524d]{color:#f7fbffb8}.training-form[data-v-1ecd524d]{display:grid;gap:1rem}.training-grid[data-v-1ecd524d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem}.training-field[data-v-1ecd524d]{display:grid;gap:.45rem;font-weight:600}.training-checkbox[data-v-1ecd524d]{margin-top:.25rem}.actions-row[data-v-1ecd524d]{display:flex;justify-content:flex-start;margin-top:.5rem}.training-summary[data-v-1ecd524d]{display:grid;gap:.9rem;margin:0}.training-summary div[data-v-1ecd524d]{display:grid;gap:.2rem}.training-summary dt[data-v-1ecd524d]{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;opacity:.72}.training-summary dd[data-v-1ecd524d]{margin:0;font-weight:600;word-break:break-word}.training-log[data-v-1ecd524d]{margin:0;min-height:18rem;max-height:30rem;overflow:auto;border-radius:1rem;padding:1rem;background:#0f2030;color:#d8f1ff;font-size:.85rem;line-height:1.5;white-space:pre-wrap}.loading-state[data-v-1ecd524d]{display:grid;gap:.85rem}.skeleton-line[data-v-1ecd524d]{height:.95rem;border-radius:999px;background:linear-gradient(90deg,#e7eef4,#dce7ef,#e7eef4)}.skeleton-line-short[data-v-1ecd524d]{width:65%}@media(max-width:767px){.training-hero[data-v-1ecd524d]{flex-direction:column}}
@@ -0,0 +1 @@
1
+ import{a as A,r as x,d as $,P as q,b as c,Q as H,c as y,w as j,y as Z,G as J,f as o,g as e,s as X,t as i,N as Y,i as v,z as u,A as I,F as T,h as M,C as F,B as N,o as r,_ as ee}from"./main.js";import{u as te}from"./annotationQueue.js";import"./applicationSettingsApi.js";const ne="settings/application/model_training/options/",B="settings/application/model_training/runs/";async function ae(){const{data:p}=await A.get(x(ne));return p}async function se(p){const{data:g}=await A.post(x(B),p);return g}async function le(p){const{data:g}=await A.get(x(`${B}${p}/`));return g}const ie={class:"training-page container-fluid py-4 px-3 px-lg-4"},oe={class:"training-hero"},re={class:"row g-4 align-items-start"},de={class:"col-12 col-xl-7"},ue={class:"training-card"},ce={class:"card-header-row"},ge=["disabled"],be={key:0,class:"loading-state"},pe={key:0,class:"alert alert-warning mb-3",role:"alert"},ve={class:"training-field"},me=["disabled"],fe=["value"],he={class:"training-field"},ke=["disabled"],ye=["value"],Se={class:"text-muted mt-1"},_e={key:1,class:"form-check training-checkbox"},Ie=["disabled"],Te={class:"training-field"},Me=["disabled"],Ne=["value"],we={class:"text-muted mt-1"},De={class:"training-field"},Ae=["disabled"],xe=["value"],Ce={class:"text-muted mt-1"},Ue={class:"training-grid"},Ve={class:"training-field"},Oe=["disabled"],ze={class:"training-field"},Pe=["disabled"],Fe={class:"training-field"},Be=["disabled"],Re={class:"training-field"},Le=["disabled"],Ee={class:"form-check training-checkbox"},Ke=["disabled"],Qe={class:"actions-row"},We=["disabled"],Ge={class:"col-12 col-xl-5"},$e={class:"training-card training-card-contrast"},qe={key:0,class:"training-summary"},He={key:0},je={key:1},Ze={key:2},Je={key:1,class:"text-muted mb-0"},Xe={key:2,class:"alert alert-danger mt-3 mb-0",role:"alert"},Ye={class:"training-card mt-4"},et={class:"training-log","data-test":"training-run-log"},tt=$({__name:"ModelTrainingPage",setup(p){const g=q(),m=te(),f=c(!0),d=c(!1),S=c(""),b=c(""),l=c(null),h=c([]),w=c([]),D=c([]),_=c(null),n=H({datasetId:"",samplingStrategy:m.samplingStrategy,predictionSegmentsOnly:m.predictionSegmentsOnly,backboneName:"gastro_rn50",featureMode:"freeze_backbone",epochs:10,batchSize:32,labelsetVersion:2,backboneCheckpoint:"",treatUnlabeledAsNegative:!0}),C=[{value:"balanced",label:"Ausgewogen: Annotationen und KI-Segmente",description:"Wählt Frames aus Dataset-Annotationen und KI-Segmenten und priorisiert unterrepräsentierte Labels."},{value:"segments",label:"KI-Segmentierungen",description:"Wählt Frames aus Segmentbereichen des Datensatzes, optional nur aus Modellvorhersagen."},{value:"annotations",label:"Annotationen",description:"Wählt Frames aus positiven Frame-Annotationen des Datensatzes."},{value:"none",label:"Zufällig",description:"Deaktiviert Dataset-basiertes Sampling und nutzt die normale zufällige Auswahl."}],R=y(()=>w.value.find(a=>a.value===n.backboneName)?.description??""),L=y(()=>D.value.find(a=>a.value===n.featureMode)?.description??""),E=y(()=>C.find(a=>a.value===n.samplingStrategy)?.description??""),K=y(()=>l.value?l.value.status==="queued"?"In Warteschlange":l.value.status==="running"?"Training läuft":l.value.status==="completed"?"Training abgeschlossen":"Training fehlgeschlagen":f.value?"Lade Optionen":"Bereit"),Q=y(()=>({"training-status-running":l.value?.status==="queued"||l.value?.status==="running","training-status-success":l.value?.status==="completed","training-status-failed":l.value?.status==="failed"}));function k(){_.value!==null&&(window.clearInterval(_.value),_.value=null)}function W(){const a=h.value.find(t=>t.isActive)??h.value[0];!n.datasetId&&a&&(n.datasetId=String(a.id))}function U(){m.setSamplingStrategy(n.samplingStrategy),m.setPredictionSegmentsOnly(n.predictionSegmentsOnly);const a=h.value.find(t=>String(t.id)===n.datasetId);m.setAiDataset(a?.value||a?.label||null,a?.datasetType||null)}async function V(){f.value=!0,S.value="",b.value="";try{const a=await ae();h.value=a.aiDatasets,w.value=a.backbones,D.value=a.featureModes,n.backboneName=a.defaults.backboneName,n.featureMode=a.defaults.featureMode,n.epochs=a.defaults.epochs,n.batchSize=a.defaults.batchSize,n.labelsetVersion=a.defaults.labelsetVersion,n.backboneCheckpoint=a.defaults.backboneCheckpoint??"",n.treatUnlabeledAsNegative=a.defaults.treatUnlabeledAsNegative,W(),U()}catch(a){console.error("Failed to load model training options:",a),S.value="Die Trainingsoptionen konnten nicht geladen werden."}finally{f.value=!1}}j(()=>[n.datasetId,n.samplingStrategy,n.predictionSegmentsOnly],()=>{U()});async function O(a){try{const t=await le(a);l.value=t,t.status==="completed"?(d.value=!1,k(),g.success({text:"Training abgeschlossen."})):t.status==="failed"&&(d.value=!1,k(),b.value=t.error||"Training fehlgeschlagen.",g.error({text:"Training fehlgeschlagen."}))}catch(t){console.error("Failed to refresh training run:",t),d.value=!1,k(),b.value="Der Trainingsstatus konnte nicht aktualisiert werden."}}function G(a){k(),_.value=window.setInterval(()=>{O(a)},2e3)}async function z(){b.value="";try{const a=await se({datasetId:Number(n.datasetId),backboneName:n.backboneName,featureMode:n.featureMode,epochs:n.epochs,batchSize:n.batchSize,labelsetVersion:n.labelsetVersion,treatUnlabeledAsNegative:n.treatUnlabeledAsNegative,backboneCheckpoint:n.backboneCheckpoint.trim()||null});l.value=a,d.value=!0,g.success({text:"Training gestartet."}),G(a.runId),O(a.runId)}catch(a){console.error("Failed to start training run:",a),b.value="Der Trainingslauf konnte nicht gestartet werden.",g.error({text:"Training konnte nicht gestartet werden."})}}function P(a){return a?new Intl.DateTimeFormat("de-DE",{dateStyle:"medium",timeStyle:"short"}).format(new Date(a)):"n/a"}return Z(()=>{V()}),J(()=>{k()}),(a,t)=>(r(),o("div",ie,[e("section",oe,[t[10]||(t[10]=e("div",null,[e("p",{class:"training-eyebrow"},"AI Training"),e("h1",{class:"training-title"},"Image Multilabel Model Training"),e("p",{class:"training-intro"}," Start a training run from the selected AI dataset and choose both the model backbone and the feature training mode directly from the frontend. ")],-1)),e("div",{class:X(["training-status-chip",Q.value])},i(K.value),3)]),e("div",re,[e("div",de,[e("section",ue,[e("div",ce,[t[11]||(t[11]=e("div",null,[e("h2",null,"Training Run"),e("p",null,"Pick the dataset, backbone, and feature strategy for the next training job.")],-1)),e("button",{type:"button",class:"btn btn-outline-secondary btn-sm",disabled:f.value||d.value,onClick:V}," Neu laden ",8,ge)]),f.value?(r(),o("div",be,[...t[12]||(t[12]=[e("div",{class:"skeleton-line"},null,-1),e("div",{class:"skeleton-line skeleton-line-short"},null,-1),e("div",{class:"skeleton-line"},null,-1)])])):(r(),o("form",{key:1,class:"training-form",onSubmit:Y(z,["prevent"])},[S.value?(r(),o("div",pe,i(S.value),1)):v("",!0),e("label",ve,[t[14]||(t[14]=e("span",null,"AI Dataset",-1)),u(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>n.datasetId=s),class:"form-select","data-test":"training-dataset-select",disabled:d.value},[t[13]||(t[13]=e("option",{value:""},"Datensatz auswählen",-1)),(r(!0),o(T,null,M(h.value,s=>(r(),o("option",{key:s.id,value:String(s.id)},i(s.label)+" (ID: "+i(s.id)+") ",9,fe))),128))],8,me),[[I,n.datasetId]]),t[15]||(t[15]=e("small",{class:"text-muted mt-1"}," Nur aktive Image-Multilabel-Datensätze werden angeboten. ",-1))]),e("label",he,[t[16]||(t[16]=e("span",null,"Samplingstrategie",-1)),u(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>n.samplingStrategy=s),class:"form-select","data-test":"training-sampling-strategy-select",disabled:d.value},[(r(),o(T,null,M(C,s=>e("option",{key:s.value,value:s.value},i(s.label),9,ye)),64))],8,ke),[[I,n.samplingStrategy]]),e("small",Se,i(E.value),1)]),n.samplingStrategy==="balanced"||n.samplingStrategy==="segments"?(r(),o("div",_e,[u(e("input",{id:"prediction-segments-only","onUpdate:modelValue":t[2]||(t[2]=s=>n.predictionSegmentsOnly=s),class:"form-check-input",type:"checkbox","data-test":"training-prediction-segments-only",disabled:d.value},null,8,Ie),[[F,n.predictionSegmentsOnly]]),t[17]||(t[17]=e("label",{class:"form-check-label",for:"prediction-segments-only"}," Nur KI-Segmentierungen für Segment-Sampling verwenden ",-1))])):v("",!0),e("label",Te,[t[18]||(t[18]=e("span",null,"Model Backbone",-1)),u(e("select",{"onUpdate:modelValue":t[3]||(t[3]=s=>n.backboneName=s),class:"form-select","data-test":"training-backbone-select",disabled:d.value},[(r(!0),o(T,null,M(w.value,s=>(r(),o("option",{key:s.value,value:s.value},i(s.label),9,Ne))),128))],8,Me),[[I,n.backboneName]]),e("small",we,i(R.value),1)]),e("label",De,[t[19]||(t[19]=e("span",null,"Feature Strategy",-1)),u(e("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>n.featureMode=s),class:"form-select","data-test":"training-feature-mode-select",disabled:d.value},[(r(!0),o(T,null,M(D.value,s=>(r(),o("option",{key:s.value,value:s.value},i(s.label),9,xe))),128))],8,Ae),[[I,n.featureMode]]),e("small",Ce,i(L.value),1)]),e("div",Ue,[e("label",Ve,[t[20]||(t[20]=e("span",null,"Epochs",-1)),u(e("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>n.epochs=s),type:"number",min:"1",class:"form-control","data-test":"training-epochs-input",disabled:d.value},null,8,Oe),[[N,n.epochs,void 0,{number:!0}]])]),e("label",ze,[t[21]||(t[21]=e("span",null,"Batch Size",-1)),u(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>n.batchSize=s),type:"number",min:"1",class:"form-control","data-test":"training-batch-size-input",disabled:d.value},null,8,Pe),[[N,n.batchSize,void 0,{number:!0}]])]),e("label",Fe,[t[22]||(t[22]=e("span",null,"LabelSet Version",-1)),u(e("input",{"onUpdate:modelValue":t[7]||(t[7]=s=>n.labelsetVersion=s),type:"number",min:"1",class:"form-control","data-test":"training-labelset-version-input",disabled:d.value},null,8,Be),[[N,n.labelsetVersion,void 0,{number:!0}]])])]),e("label",Re,[t[23]||(t[23]=e("span",null,"Backbone Checkpoint",-1)),u(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>n.backboneCheckpoint=s),type:"text",class:"form-control","data-test":"training-backbone-checkpoint-input",disabled:d.value,placeholder:"/absolute/path/to/checkpoint.pth"},null,8,Le),[[N,n.backboneCheckpoint]]),t[24]||(t[24]=e("small",{class:"text-muted mt-1"}," Optional. Used only if the chosen backbone supports checkpoint loading. ",-1))]),e("div",Ee,[u(e("input",{id:"treat-unlabeled-as-negative","onUpdate:modelValue":t[9]||(t[9]=s=>n.treatUnlabeledAsNegative=s),class:"form-check-input",type:"checkbox",disabled:d.value},null,8,Ke),[[F,n.treatUnlabeledAsNegative]]),t[25]||(t[25]=e("label",{class:"form-check-label",for:"treat-unlabeled-as-negative"}," Treat unlabeled entries as negatives ",-1))]),e("div",Qe,[e("button",{type:"button",class:"btn btn-primary","data-test":"start-training-run",disabled:d.value||!n.datasetId,onClick:z},i(d.value?"Training läuft…":"Training starten"),9,We)])],32))])]),e("div",Ge,[e("aside",$e,[t[35]||(t[35]=e("h2",null,"Run Status",-1)),t[36]||(t[36]=e("p",{class:"status-intro"}," Current state of the latest run started from this page. ",-1)),l.value?(r(),o("dl",qe,[e("div",null,[t[26]||(t[26]=e("dt",null,"Run ID",-1)),e("dd",null,i(l.value.runId),1)]),e("div",null,[t[27]||(t[27]=e("dt",null,"Status",-1)),e("dd",null,i(l.value.status),1)]),e("div",null,[t[28]||(t[28]=e("dt",null,"Dataset",-1)),e("dd",null,i(l.value.datasetName||`ID ${l.value.datasetId}`),1)]),e("div",null,[t[29]||(t[29]=e("dt",null,"Backbone",-1)),e("dd",null,i(l.value.backboneName),1)]),e("div",null,[t[30]||(t[30]=e("dt",null,"Feature Mode",-1)),e("dd",null,i(l.value.featureMode),1)]),e("div",null,[t[31]||(t[31]=e("dt",null,"Created",-1)),e("dd",null,i(P(l.value.createdAt)),1)]),l.value.finishedAt?(r(),o("div",He,[t[32]||(t[32]=e("dt",null,"Finished",-1)),e("dd",null,i(P(l.value.finishedAt)),1)])):v("",!0),l.value.result?.modelPath?(r(),o("div",je,[t[33]||(t[33]=e("dt",null,"Model Path",-1)),e("dd",null,i(l.value.result.modelPath),1)])):v("",!0),l.value.result?.metaPath?(r(),o("div",Ze,[t[34]||(t[34]=e("dt",null,"Meta Path",-1)),e("dd",null,i(l.value.result.metaPath),1)])):v("",!0)])):(r(),o("p",Je,"Noch kein Training gestartet.")),b.value?(r(),o("div",Xe,i(b.value),1)):v("",!0)]),e("aside",Ye,[t[37]||(t[37]=e("div",{class:"card-header-row"},[e("div",null,[e("h2",null,"Output Log"),e("p",null,"Captured command output from the current run.")])],-1)),e("pre",et,i(l.value?.stdout||"No output yet."),1)])])])]))}}),lt=ee(tt,[["__scopeId","data-v-1ecd524d"]]);export{lt as default};
@@ -1 +1 @@
1
- .patient-create-form[data-v-99fca3e4]{max-width:800px}.form-section[data-v-99fca3e4]{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e9ecef}.form-section[data-v-99fca3e4]:last-of-type{border-bottom:none;margin-bottom:1rem}.form-section h4[data-v-99fca3e4]{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center}.form-section h4 i[data-v-99fca3e4]{margin-right:.5rem;color:#3498db}.form-group[data-v-99fca3e4]{margin-bottom:1rem}.form-group label[data-v-99fca3e4]{font-weight:500;color:#495057;margin-bottom:.5rem;display:block}.form-group label.required[data-v-99fca3e4]:after{content:" *";color:#dc3545}.form-control[data-v-99fca3e4]{border-radius:6px;border:1px solid #ced4da;padding:.75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control[data-v-99fca3e4]:focus{border-color:#3498db;box-shadow:0 0 0 .2rem #3498db40}.form-control.is-invalid[data-v-99fca3e4]{border-color:#dc3545}.form-control.is-invalid[data-v-99fca3e4]:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.invalid-feedback[data-v-99fca3e4]{display:block;width:100%;margin-top:.25rem;font-size:.875rem;color:#dc3545}.form-check-input[data-v-99fca3e4]{margin-right:.5rem}.form-text[data-v-99fca3e4]{font-size:.875rem;color:#6c757d;margin-top:.25rem}.form-actions[data-v-99fca3e4]{padding-top:1.5rem;border-top:1px solid #e9ecef;display:flex;align-items:center}.btn[data-v-99fca3e4]{border-radius:6px;font-weight:500;padding:.75rem 1.5rem;display:flex;align-items:center;transition:all .2s ease}.btn[data-v-99fca3e4]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-99fca3e4]{background:#3498db;border-color:#3498db}.btn-primary[data-v-99fca3e4]:hover:not(:disabled){background:#2980b9;border-color:#2980b9}.btn-secondary[data-v-99fca3e4]{background:#6c757d;border-color:#6c757d}.btn-secondary[data-v-99fca3e4]:hover:not(:disabled){background:#545b62;border-color:#545b62}.spinner-border-sm[data-v-99fca3e4]{width:1rem;height:1rem}@media(max-width:768px){.form-actions[data-v-99fca3e4]{flex-direction:column;gap:.5rem}.form-actions .btn[data-v-99fca3e4]{width:100%;justify-content:center}}.patient-edit-form[data-v-cfb54122]{max-width:800px}.edit-form[data-v-cfb54122]{display:flex;flex-direction:column;gap:2rem}.form-grid[data-v-cfb54122]{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.form-section[data-v-cfb54122]{display:flex;flex-direction:column;gap:1.5rem}.section-title[data-v-cfb54122]{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0;padding-bottom:.5rem;border-bottom:2px solid #e9ecef}.section-title i[data-v-cfb54122]{margin-right:.5rem;color:#3498db}.form-group[data-v-cfb54122]{display:flex;flex-direction:column;gap:.5rem}.form-label[data-v-cfb54122]{font-weight:600;color:#495057;margin:0}.form-label.required[data-v-cfb54122]:after{content:" *";color:#dc3545}.form-control[data-v-cfb54122],.form-select[data-v-cfb54122]{border:2px solid #e9ecef;border-radius:6px;padding:.75rem;font-size:.9rem;transition:border-color .2s ease}.form-control[data-v-cfb54122]:focus,.form-select[data-v-cfb54122]:focus{border-color:#3498db;box-shadow:0 0 0 .2rem #3498db40}.form-control.is-invalid[data-v-cfb54122],.form-select.is-invalid[data-v-cfb54122]{border-color:#dc3545}.invalid-feedback[data-v-cfb54122]{color:#dc3545;font-size:.875rem;margin-top:.25rem}.form-check[data-v-cfb54122]{display:flex;align-items:flex-start;gap:.5rem}.form-check-input[data-v-cfb54122]{margin-top:.25rem}.form-check-label[data-v-cfb54122]{flex:1}.form-text[data-v-cfb54122]{font-size:.8rem;margin-top:.25rem}.form-actions[data-v-cfb54122]{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:2px solid #e9ecef}.action-group[data-v-cfb54122]{display:flex;gap:1rem}.delete-section[data-v-cfb54122]{display:flex}.btn[data-v-cfb54122]{border-radius:6px;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.btn-primary[data-v-cfb54122]{background:#3498db;border-color:#3498db}.btn-primary[data-v-cfb54122]:hover:not(:disabled){background:#2980b9;border-color:#2980b9;transform:translateY(-1px)}.btn-secondary[data-v-cfb54122]{background:#6c757d;border-color:#6c757d}.btn-outline-danger[data-v-cfb54122]{color:#dc3545;border-color:#dc3545}.btn-outline-danger[data-v-cfb54122]:hover:not(:disabled){background:#dc3545;color:#fff}.btn[data-v-cfb54122]:disabled{opacity:.6;cursor:not-allowed}.alert[data-v-cfb54122]{border-radius:6px;padding:1rem;margin-bottom:1rem}.alert-danger[data-v-cfb54122]{background:#f8d7da;border:1px solid #f5c2c7;color:#721c24}.alert-warning[data-v-cfb54122]{background:#fff3cd;border:1px solid #ffecb5;color:#664d03}.modal-overlay[data-v-cfb54122]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1050}.modal-dialog[data-v-cfb54122]{max-width:500px;width:90%;margin:1rem}.modal-content[data-v-cfb54122]{background:#fff;border-radius:8px;box-shadow:0 10px 30px #0000004d;overflow:hidden}.modal-header[data-v-cfb54122]{padding:1rem 1.5rem;border-bottom:1px solid #e9ecef;background:#f8f9fa}.modal-title[data-v-cfb54122]{margin:0;font-size:1.1rem;font-weight:600;color:#495057}.modal-body[data-v-cfb54122]{padding:1.5rem}.modal-footer[data-v-cfb54122]{padding:1rem 1.5rem;border-top:1px solid #e9ecef;background:#f8f9fa;display:flex;justify-content:flex-end;gap:.5rem}.deletion-info[data-v-cfb54122]{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:6px}.deletion-info h6[data-v-cfb54122]{margin-bottom:.5rem;color:#495057}.deletion-info ul[data-v-cfb54122]{color:#6c757d;font-size:.9rem}@media(max-width:768px){.form-grid[data-v-cfb54122]{grid-template-columns:1fr;gap:1.5rem}.form-actions[data-v-cfb54122]{flex-direction:column;gap:1rem;align-items:stretch}.action-group[data-v-cfb54122]{order:2;justify-content:center}.delete-section[data-v-cfb54122]{order:1;justify-content:center}.modal-dialog[data-v-cfb54122]{margin:.5rem}}.patient-detail-view[data-v-fdd3cc8b]{max-width:1000px}.detail-header[data-v-fdd3cc8b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e9ecef}.patient-header-info[data-v-fdd3cc8b]{display:flex;align-items:center;gap:1rem}.patient-title[data-v-fdd3cc8b]{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0}.patient-title i[data-v-fdd3cc8b]{margin-right:.5rem;color:#3498db}.detail-actions[data-v-fdd3cc8b]{display:flex;gap:.5rem}.edit-section[data-v-fdd3cc8b]{margin-bottom:2rem}.info-card[data-v-fdd3cc8b]{margin-bottom:1.5rem}.card-title[data-v-fdd3cc8b]{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0}.card-title i[data-v-fdd3cc8b]{margin-right:.5rem;color:#3498db}.info-grid[data-v-fdd3cc8b]{display:grid;gap:1rem}.info-item[data-v-fdd3cc8b]{display:flex;flex-direction:column;gap:.25rem}.info-item label[data-v-fdd3cc8b]{font-weight:600;color:#495057;font-size:.9rem}.info-item span[data-v-fdd3cc8b]{color:#2c3e50}.font-mono[data-v-fdd3cc8b]{font-family:Courier New,monospace;font-size:.9rem}.link[data-v-fdd3cc8b]{color:#3498db;text-decoration:none}.link[data-v-fdd3cc8b]:hover{text-decoration:underline}.badge[data-v-fdd3cc8b]{font-size:.8rem;padding:.5rem .75rem}.badge i[data-v-fdd3cc8b]{margin-right:.25rem}.modal-overlay[data-v-fdd3cc8b]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1050}.modal-dialog[data-v-fdd3cc8b]{max-width:600px;width:90%;margin:1rem}.modal-content[data-v-fdd3cc8b]{background:#fff;border-radius:8px;box-shadow:0 10px 30px #0000004d;overflow:hidden}.modal-header[data-v-fdd3cc8b]{padding:1rem 1.5rem;border-bottom:1px solid #e9ecef;background:#f8f9fa}.modal-title[data-v-fdd3cc8b]{margin:0;font-size:1.1rem;font-weight:600;color:#495057}.modal-body[data-v-fdd3cc8b]{padding:1.5rem}.modal-footer[data-v-fdd3cc8b]{padding:1rem 1.5rem;border-top:1px solid #e9ecef;background:#f8f9fa;display:flex;justify-content:flex-end;gap:.5rem}.related-objects[data-v-fdd3cc8b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.object-count[data-v-fdd3cc8b]{padding:.5rem;background:#f8f9fa;border-radius:4px;font-size:.9rem;text-align:center}.object-count i[data-v-fdd3cc8b]{margin-right:.5rem;color:#6c757d}.alert[data-v-fdd3cc8b]{border-radius:6px;margin-bottom:1rem}.btn[data-v-fdd3cc8b]{border-radius:6px;font-weight:500;transition:all .2s ease}.btn-sm[data-v-fdd3cc8b]{padding:.5rem 1rem;font-size:.875rem}@media(max-width:768px){.detail-header[data-v-fdd3cc8b]{flex-direction:column;gap:1rem;align-items:stretch}.patient-header-info[data-v-fdd3cc8b]{flex-direction:column;align-items:flex-start;gap:.5rem}.detail-actions[data-v-fdd3cc8b]{justify-content:center}.modal-dialog[data-v-fdd3cc8b]{margin:.5rem}}.patient-dashboard[data-v-8a212e39]{max-width:1400px;margin:0 auto;padding:2rem}.dashboard-header[data-v-8a212e39]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-title[data-v-8a212e39]{color:#2c3e50;font-size:2rem;font-weight:600;margin:0}.dashboard-title i[data-v-8a212e39]{margin-right:.5rem;color:#3498db}.header-actions[data-v-8a212e39]{display:flex;gap:1rem}.form-card[data-v-8a212e39]{margin-bottom:2rem}.card-title[data-v-8a212e39]{color:#2c3e50;font-size:1.25rem;font-weight:600;margin:0}.card-title i[data-v-8a212e39]{margin-right:.5rem;color:#3498db}.search-box[data-v-8a212e39]{min-width:300px}.patients-grid[data-v-8a212e39]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:1rem}.patient-card[data-v-8a212e39]{border:2px solid #e9ecef;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;background:#fff;box-shadow:0 2px 4px #0000001a}.patient-card[data-v-8a212e39]:hover{border-color:#3498db;box-shadow:0 4px 8px #3498db33;transform:translateY(-2px)}.patient-card.selected[data-v-8a212e39]{border-color:#3498db;background:#f8fafb;box-shadow:0 4px 8px #3498db4d}.patient-card-header[data-v-8a212e39]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e9ecef}.patient-name[data-v-8a212e39]{font-size:1.1rem;font-weight:600;color:#2c3e50;margin:0}.patient-id[data-v-8a212e39]{font-size:.85rem;color:#6c757d;background:#f8f9fa;padding:.25rem .5rem;border-radius:4px}.patient-card-body[data-v-8a212e39]{margin-bottom:1rem}.patient-info[data-v-8a212e39]{display:flex;flex-direction:column;gap:.5rem}.info-item[data-v-8a212e39]{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#495057}.info-item i[data-v-8a212e39]{width:16px;color:#6c757d}.info-item small[data-v-8a212e39]{color:#6c757d;margin-left:.25rem}.patient-card-footer[data-v-8a212e39]{padding-top:.75rem;border-top:1px solid #e9ecef;text-align:center}.empty-state[data-v-8a212e39]{text-align:center;padding:4rem 2rem}.empty-state i[data-v-8a212e39]{margin-bottom:1rem}.empty-state h4[data-v-8a212e39]{color:#2c3e50;margin-bottom:.5rem}.loading-container[data-v-8a212e39]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-container .spinner-border[data-v-8a212e39]{margin-bottom:1rem}.patient-detail-section[data-v-8a212e39]{margin-top:2rem}.alert[data-v-8a212e39]{border-radius:8px;margin-bottom:1rem}.btn[data-v-8a212e39]{border-radius:6px;font-weight:500;transition:all .2s ease}.btn-primary[data-v-8a212e39]{background:#3498db;border-color:#3498db}.btn-primary[data-v-8a212e39]:hover{background:#2980b9;border-color:#2980b9;transform:translateY(-1px)}.btn-close[data-v-8a212e39]{background:none;border:none;font-size:1.2rem;opacity:.7}.btn-close[data-v-8a212e39]:hover{opacity:1}@media(max-width:768px){.patient-dashboard[data-v-8a212e39]{padding:1rem}.dashboard-header[data-v-8a212e39]{flex-direction:column;gap:1rem;align-items:stretch}.patients-grid[data-v-8a212e39]{grid-template-columns:1fr}.search-box[data-v-8a212e39]{min-width:auto}.patient-card[data-v-8a212e39]{padding:1rem}.patient-card-header[data-v-8a212e39]{flex-direction:column;gap:.5rem;align-items:flex-start}}
1
+ .patient-create-form[data-v-99fca3e4]{max-width:800px}.form-section[data-v-99fca3e4]{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e9ecef}.form-section[data-v-99fca3e4]:last-of-type{border-bottom:none;margin-bottom:1rem}.form-section h4[data-v-99fca3e4]{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center}.form-section h4 i[data-v-99fca3e4]{margin-right:.5rem;color:#3498db}.form-group[data-v-99fca3e4]{margin-bottom:1rem}.form-group label[data-v-99fca3e4]{font-weight:500;color:#495057;margin-bottom:.5rem;display:block}.form-group label.required[data-v-99fca3e4]:after{content:" *";color:#dc3545}.form-control[data-v-99fca3e4]{border-radius:6px;border:1px solid #ced4da;padding:.75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control[data-v-99fca3e4]:focus{border-color:#3498db;box-shadow:0 0 0 .2rem #3498db40}.form-control.is-invalid[data-v-99fca3e4]{border-color:#dc3545}.form-control.is-invalid[data-v-99fca3e4]:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.invalid-feedback[data-v-99fca3e4]{display:block;width:100%;margin-top:.25rem;font-size:.875rem;color:#dc3545}.form-check-input[data-v-99fca3e4]{margin-right:.5rem}.form-text[data-v-99fca3e4]{font-size:.875rem;color:#6c757d;margin-top:.25rem}.form-actions[data-v-99fca3e4]{padding-top:1.5rem;border-top:1px solid #e9ecef;display:flex;align-items:center}.btn[data-v-99fca3e4]{border-radius:6px;font-weight:500;padding:.75rem 1.5rem;display:flex;align-items:center;transition:all .2s ease}.btn[data-v-99fca3e4]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-99fca3e4]{background:#3498db;border-color:#3498db}.btn-primary[data-v-99fca3e4]:hover:not(:disabled){background:#2980b9;border-color:#2980b9}.btn-secondary[data-v-99fca3e4]{background:#6c757d;border-color:#6c757d}.btn-secondary[data-v-99fca3e4]:hover:not(:disabled){background:#545b62;border-color:#545b62}.spinner-border-sm[data-v-99fca3e4]{width:1rem;height:1rem}@media(max-width:768px){.form-actions[data-v-99fca3e4]{flex-direction:column;gap:.5rem}.form-actions .btn[data-v-99fca3e4]{width:100%;justify-content:center}}.patient-edit-form[data-v-cfb54122]{max-width:800px}.edit-form[data-v-cfb54122]{display:flex;flex-direction:column;gap:2rem}.form-grid[data-v-cfb54122]{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.form-section[data-v-cfb54122]{display:flex;flex-direction:column;gap:1.5rem}.section-title[data-v-cfb54122]{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0;padding-bottom:.5rem;border-bottom:2px solid #e9ecef}.section-title i[data-v-cfb54122]{margin-right:.5rem;color:#3498db}.form-group[data-v-cfb54122]{display:flex;flex-direction:column;gap:.5rem}.form-label[data-v-cfb54122]{font-weight:600;color:#495057;margin:0}.form-label.required[data-v-cfb54122]:after{content:" *";color:#dc3545}.form-control[data-v-cfb54122],.form-select[data-v-cfb54122]{border:2px solid #e9ecef;border-radius:6px;padding:.75rem;font-size:.9rem;transition:border-color .2s ease}.form-control[data-v-cfb54122]:focus,.form-select[data-v-cfb54122]:focus{border-color:#3498db;box-shadow:0 0 0 .2rem #3498db40}.form-control.is-invalid[data-v-cfb54122],.form-select.is-invalid[data-v-cfb54122]{border-color:#dc3545}.invalid-feedback[data-v-cfb54122]{color:#dc3545;font-size:.875rem;margin-top:.25rem}.form-check[data-v-cfb54122]{display:flex;align-items:flex-start;gap:.5rem}.form-check-input[data-v-cfb54122]{margin-top:.25rem}.form-check-label[data-v-cfb54122]{flex:1}.form-text[data-v-cfb54122]{font-size:.8rem;margin-top:.25rem}.form-actions[data-v-cfb54122]{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:2px solid #e9ecef}.action-group[data-v-cfb54122]{display:flex;gap:1rem}.delete-section[data-v-cfb54122]{display:flex}.btn[data-v-cfb54122]{border-radius:6px;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.btn-primary[data-v-cfb54122]{background:#3498db;border-color:#3498db}.btn-primary[data-v-cfb54122]:hover:not(:disabled){background:#2980b9;border-color:#2980b9;transform:translateY(-1px)}.btn-secondary[data-v-cfb54122]{background:#6c757d;border-color:#6c757d}.btn-outline-danger[data-v-cfb54122]{color:#dc3545;border-color:#dc3545}.btn-outline-danger[data-v-cfb54122]:hover:not(:disabled){background:#dc3545;color:#fff}.btn[data-v-cfb54122]:disabled{opacity:.6;cursor:not-allowed}.alert[data-v-cfb54122]{border-radius:6px;padding:1rem;margin-bottom:1rem}.alert-danger[data-v-cfb54122]{background:#f8d7da;border:1px solid #f5c2c7;color:#721c24}.alert-warning[data-v-cfb54122]{background:#fff3cd;border:1px solid #ffecb5;color:#664d03}.modal-overlay[data-v-cfb54122]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1050}.modal-dialog[data-v-cfb54122]{max-width:500px;width:90%;margin:1rem}.modal-content[data-v-cfb54122]{background:#fff;border-radius:8px;box-shadow:0 10px 30px #0000004d;overflow:hidden}.modal-header[data-v-cfb54122]{padding:1rem 1.5rem;border-bottom:1px solid #e9ecef;background:#f8f9fa}.modal-title[data-v-cfb54122]{margin:0;font-size:1.1rem;font-weight:600;color:#495057}.modal-body[data-v-cfb54122]{padding:1.5rem}.modal-footer[data-v-cfb54122]{padding:1rem 1.5rem;border-top:1px solid #e9ecef;background:#f8f9fa;display:flex;justify-content:flex-end;gap:.5rem}.deletion-info[data-v-cfb54122]{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:6px}.deletion-info h6[data-v-cfb54122]{margin-bottom:.5rem;color:#495057}.deletion-info ul[data-v-cfb54122]{color:#6c757d;font-size:.9rem}@media(max-width:768px){.form-grid[data-v-cfb54122]{grid-template-columns:1fr;gap:1.5rem}.form-actions[data-v-cfb54122]{flex-direction:column;gap:1rem;align-items:stretch}.action-group[data-v-cfb54122]{order:2;justify-content:center}.delete-section[data-v-cfb54122]{order:1;justify-content:center}.modal-dialog[data-v-cfb54122]{margin:.5rem}}.patient-detail-view[data-v-f07c898c]{max-width:1000px}.detail-header[data-v-f07c898c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e9ecef}.patient-header-info[data-v-f07c898c]{display:flex;align-items:center;gap:1rem}.patient-title[data-v-f07c898c]{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0}.patient-title i[data-v-f07c898c]{margin-right:.5rem;color:#3498db}.detail-actions[data-v-f07c898c]{display:flex;gap:.5rem}.edit-section[data-v-f07c898c]{margin-bottom:2rem}.info-card[data-v-f07c898c]{margin-bottom:1.5rem}.card-title[data-v-f07c898c]{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0}.card-title i[data-v-f07c898c]{margin-right:.5rem;color:#3498db}.info-grid[data-v-f07c898c]{display:grid;gap:1rem}.info-item[data-v-f07c898c]{display:flex;flex-direction:column;gap:.25rem}.info-item label[data-v-f07c898c]{font-weight:600;color:#495057;font-size:.9rem}.info-item span[data-v-f07c898c]{color:#2c3e50}.font-mono[data-v-f07c898c]{font-family:Courier New,monospace;font-size:.9rem}.link[data-v-f07c898c]{color:#3498db;text-decoration:none}.link[data-v-f07c898c]:hover{text-decoration:underline}.badge[data-v-f07c898c]{font-size:.8rem;padding:.5rem .75rem}.badge i[data-v-f07c898c]{margin-right:.25rem}.modal-overlay[data-v-f07c898c]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1050}.modal-dialog[data-v-f07c898c]{max-width:600px;width:90%;margin:1rem}.modal-content[data-v-f07c898c]{background:#fff;border-radius:8px;box-shadow:0 10px 30px #0000004d;overflow:hidden}.modal-header[data-v-f07c898c]{padding:1rem 1.5rem;border-bottom:1px solid #e9ecef;background:#f8f9fa}.modal-title[data-v-f07c898c]{margin:0;font-size:1.1rem;font-weight:600;color:#495057}.modal-body[data-v-f07c898c]{padding:1.5rem}.modal-footer[data-v-f07c898c]{padding:1rem 1.5rem;border-top:1px solid #e9ecef;background:#f8f9fa;display:flex;justify-content:flex-end;gap:.5rem}.related-objects[data-v-f07c898c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.object-count[data-v-f07c898c]{padding:.5rem;background:#f8f9fa;border-radius:4px;font-size:.9rem;text-align:center}.object-count i[data-v-f07c898c]{margin-right:.5rem;color:#6c757d}.alert[data-v-f07c898c]{border-radius:6px;margin-bottom:1rem}.btn[data-v-f07c898c]{border-radius:6px;font-weight:500;transition:all .2s ease}.btn-sm[data-v-f07c898c]{padding:.5rem 1rem;font-size:.875rem}@media(max-width:768px){.detail-header[data-v-f07c898c]{flex-direction:column;gap:1rem;align-items:stretch}.patient-header-info[data-v-f07c898c]{flex-direction:column;align-items:flex-start;gap:.5rem}.detail-actions[data-v-f07c898c]{justify-content:center}.modal-dialog[data-v-f07c898c]{margin:.5rem}}.patient-dashboard[data-v-8a212e39]{max-width:1400px;margin:0 auto;padding:2rem}.dashboard-header[data-v-8a212e39]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-title[data-v-8a212e39]{color:#2c3e50;font-size:2rem;font-weight:600;margin:0}.dashboard-title i[data-v-8a212e39]{margin-right:.5rem;color:#3498db}.header-actions[data-v-8a212e39]{display:flex;gap:1rem}.form-card[data-v-8a212e39]{margin-bottom:2rem}.card-title[data-v-8a212e39]{color:#2c3e50;font-size:1.25rem;font-weight:600;margin:0}.card-title i[data-v-8a212e39]{margin-right:.5rem;color:#3498db}.search-box[data-v-8a212e39]{min-width:300px}.patients-grid[data-v-8a212e39]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:1rem}.patient-card[data-v-8a212e39]{border:2px solid #e9ecef;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;background:#fff;box-shadow:0 2px 4px #0000001a}.patient-card[data-v-8a212e39]:hover{border-color:#3498db;box-shadow:0 4px 8px #3498db33;transform:translateY(-2px)}.patient-card.selected[data-v-8a212e39]{border-color:#3498db;background:#f8fafb;box-shadow:0 4px 8px #3498db4d}.patient-card-header[data-v-8a212e39]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e9ecef}.patient-name[data-v-8a212e39]{font-size:1.1rem;font-weight:600;color:#2c3e50;margin:0}.patient-id[data-v-8a212e39]{font-size:.85rem;color:#6c757d;background:#f8f9fa;padding:.25rem .5rem;border-radius:4px}.patient-card-body[data-v-8a212e39]{margin-bottom:1rem}.patient-info[data-v-8a212e39]{display:flex;flex-direction:column;gap:.5rem}.info-item[data-v-8a212e39]{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#495057}.info-item i[data-v-8a212e39]{width:16px;color:#6c757d}.info-item small[data-v-8a212e39]{color:#6c757d;margin-left:.25rem}.patient-card-footer[data-v-8a212e39]{padding-top:.75rem;border-top:1px solid #e9ecef;text-align:center}.empty-state[data-v-8a212e39]{text-align:center;padding:4rem 2rem}.empty-state i[data-v-8a212e39]{margin-bottom:1rem}.empty-state h4[data-v-8a212e39]{color:#2c3e50;margin-bottom:.5rem}.loading-container[data-v-8a212e39]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-container .spinner-border[data-v-8a212e39]{margin-bottom:1rem}.patient-detail-section[data-v-8a212e39]{margin-top:2rem}.alert[data-v-8a212e39]{border-radius:8px;margin-bottom:1rem}.btn[data-v-8a212e39]{border-radius:6px;font-weight:500;transition:all .2s ease}.btn-primary[data-v-8a212e39]{background:#3498db;border-color:#3498db}.btn-primary[data-v-8a212e39]:hover{background:#2980b9;border-color:#2980b9;transform:translateY(-1px)}.btn-close[data-v-8a212e39]{background:none;border:none;font-size:1.2rem;opacity:.7}.btn-close[data-v-8a212e39]:hover{opacity:1}@media(max-width:768px){.patient-dashboard[data-v-8a212e39]{padding:1rem}.dashboard-header[data-v-8a212e39]{flex-direction:column;gap:1rem;align-items:stretch}.patients-grid[data-v-8a212e39]{grid-template-columns:1fr}.search-box[data-v-8a212e39]{min-width:auto}.patient-card[data-v-8a212e39]{padding:1rem}.patient-card-header[data-v-8a212e39]{flex-direction:column;gap:.5rem;align-items:flex-start}}