From 31a7caf9b7cf0f551ceb523f6a742915cd3e578a Mon Sep 17 00:00:00 2001 From: yin-kangning <747919591@qq.com> Date: Fri, 21 Jun 2024 10:28:20 +0800 Subject: [PATCH] first commit --- .idea/.gitignore | 8 + .idea/alg_display.iml | 9 + .idea/compiler.xml | 22 + .idea/encodings.xml | 6 + .idea/jarRepositories.xml | 20 + ..._ch_qos_logback_logback_classic_1_4_14.xml | 13 + ...en__ch_qos_logback_logback_core_1_4_14.xml | 13 + ...com_alibaba_fastjson2_fastjson2_2_0_25.xml | 13 + ...a_fastjson2_fastjson2_extension_2_0_25.xml | 13 + .../Maven__com_alibaba_fastjson_2_0_25.xml | 13 + ...earch_thirdparty_simple_xml_safe_2_7_1.xml | 13 + .../Maven__com_fasterxml_classmate_1_6_0.xml | 13 + ...ackson_core_jackson_annotations_2_15_3.xml | 13 + ...erxml_jackson_core_jackson_core_2_15_3.xml | 13 + ...l_jackson_core_jackson_databind_2_15_3.xml | 13 + ..._datatype_jackson_datatype_jdk8_2_15_3.xml | 13 + ...atatype_jackson_datatype_jsr310_2_15_3.xml | 13 + ..._jackson_module_parameter_names_2_15_3.xml | 13 + ...__com_github_jsqlparser_jsqlparser_4_6.xml | 13 + ..._com_google_code_findbugs_jsr305_3_0_2.xml | 13 + ...rorprone_error_prone_annotations_2_5_1.xml | 13 + ...__com_google_guava_failureaccess_1_0_1.xml | 13 + ...ven__com_google_guava_guava_30_1_1_jre.xml | 13 + ...9_0_empty_to_avoid_conflict_with_guava.xml | 13 + ...m_google_j2objc_j2objc_annotations_1_3.xml | 13 + ...n__com_jayway_jsonpath_json_path_2_8_0.xml | 13 + ...ven__com_mysql_mysql_connector_j_8_1_0.xml | 13 + ...en__com_squareup_okhttp3_okhttp_4_12_0.xml | 13 + .../Maven__com_squareup_okio_okio_3_6_0.xml | 13 + ...aven__com_squareup_okio_okio_jvm_3_6_0.xml | 13 + ...un_istack_istack_commons_runtime_4_1_2.xml | 13 + ...ogle_android_json_0_0_20131108_vaadin1.xml | 13 + .../Maven__com_zaxxer_HikariCP_5_0_1.xml | 13 + ...o_micrometer_micrometer_commons_1_12_1.xml | 13 + ...crometer_micrometer_observation_1_12_1.xml | 13 + .../libraries/Maven__io_minio_minio_8_3_9.xml | 13 + .../Maven__io_smallrye_jandex_3_1_2.xml | 13 + ...ctivation_jakarta_activation_api_2_1_2.xml | 13 + ...nnotation_jakarta_annotation_api_2_1_1.xml | 13 + ...akarta_inject_jakarta_inject_api_2_0_1.xml | 13 + ...sistence_jakarta_persistence_api_3_1_0.xml | 13 + ...nsaction_jakarta_transaction_api_2_0_1.xml | 13 + ...ta_xml_bind_jakarta_xml_bind_api_4_0_1.xml | 13 + ...aven__net_bytebuddy_byte_buddy_1_14_10.xml | 13 + ...net_bytebuddy_byte_buddy_agent_1_14_10.xml | 13 + ...ven__net_minidev_accessors_smart_2_5_0.xml | 13 + .../Maven__net_minidev_json_smart_2_5_0.xml | 13 + ...Maven__org_antlr_antlr4_runtime_4_13_0.xml | 13 + ...g_apache_commons_commons_compress_1_21.xml | 13 + ..._apache_logging_log4j_log4j_api_2_21_1.xml | 13 + ...he_logging_log4j_log4j_to_slf4j_2_21_1.xml | 13 + ...tomcat_embed_tomcat_embed_core_10_1_17.xml | 13 + ...e_tomcat_embed_tomcat_embed_el_10_1_17.xml | 13 + ...t_embed_tomcat_embed_websocket_10_1_17.xml | 13 + ..._org_apiguardian_apiguardian_api_1_1_2.xml | 13 + ...aven__org_aspectj_aspectjweaver_1_9_21.xml | 13 + ...Maven__org_assertj_assertj_core_3_24_2.xml | 13 + ...Maven__org_awaitility_awaitility_4_2_0.xml | 13 + ...__org_bouncycastle_bcprov_jdk15on_1_69.xml | 13 + ...rg_checkerframework_checker_qual_3_8_0.xml | 13 + ...g_eclipse_angus_angus_activation_2_0_1.xml | 13 + ...en__org_glassfish_jaxb_jaxb_core_4_0_4.xml | 13 + ..._org_glassfish_jaxb_jaxb_runtime_4_0_4.xml | 13 + .../Maven__org_glassfish_jaxb_txw2_4_0_4.xml | 13 + .../Maven__org_hamcrest_hamcrest_2_2.xml | 13 + ...ernate_commons_annotations_6_0_6_Final.xml | 13 + ...bernate_orm_hibernate_core_6_4_1_Final.xml | 13 + ...boss_logging_jboss_logging_3_5_3_Final.xml | 13 + .../Maven__org_jetbrains_annotations_13_0.xml | 13 + ..._jetbrains_kotlin_kotlin_stdlib_1_9_21.xml | 13 + ...ins_kotlin_kotlin_stdlib_common_1_9_21.xml | 13 + ...rains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml | 13 + ...rains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml | 13 + ...org_junit_jupiter_junit_jupiter_5_10_1.xml | 13 + ...junit_jupiter_junit_jupiter_api_5_10_1.xml | 13 + ...it_jupiter_junit_jupiter_engine_5_10_1.xml | 13 + ...it_jupiter_junit_jupiter_params_5_10_1.xml | 13 + ...platform_junit_platform_commons_1_10_1.xml | 13 + ..._platform_junit_platform_engine_1_10_1.xml | 13 + .../Maven__org_mockito_mockito_core_5_7_0.xml | 13 + ...rg_mockito_mockito_junit_jupiter_5_7_0.xml | 13 + .../Maven__org_mybatis_mybatis_3_5_14.xml | 13 + ...aven__org_mybatis_mybatis_spring_3_0_3.xml | 13 + ...ybatis_spring_boot_autoconfigure_3_0_3.xml | 13 + ...boot_mybatis_spring_boot_starter_3_0_3.xml | 13 + ...mybatis_spring_boot_starter_test_3_0_3.xml | 13 + ...s_spring_boot_test_autoconfigure_3_0_3.xml | 13 + .../Maven__org_objenesis_objenesis_3_3.xml | 13 + ...Maven__org_opentest4j_opentest4j_1_3_0.xml | 13 + .../libraries/Maven__org_ow2_asm_asm_9_3.xml | 13 + ...aven__org_projectlombok_lombok_1_18_30.xml | 13 + ...aven__org_skyscreamer_jsonassert_1_5_1.xml | 13 + .../Maven__org_slf4j_jul_to_slf4j_2_0_9.xml | 13 + .../Maven__org_slf4j_slf4j_api_2_0_9.xml | 13 + ...springframework_boot_spring_boot_3_2_1.xml | 13 + ...k_boot_spring_boot_autoconfigure_3_2_1.xml | 13 + ...amework_boot_spring_boot_starter_3_2_1.xml | 13 + ...ork_boot_spring_boot_starter_aop_3_2_1.xml | 13 + ...ot_spring_boot_starter_data_jdbc_3_2_1.xml | 13 + ...oot_spring_boot_starter_data_jpa_3_2_1.xml | 13 + ...rk_boot_spring_boot_starter_jdbc_3_2_1.xml | 13 + ...rk_boot_spring_boot_starter_json_3_2_1.xml | 13 + ...boot_spring_boot_starter_logging_3_2_1.xml | 13 + ...oot_spring_boot_starter_security_3_2_1.xml | 13 + ...rk_boot_spring_boot_starter_test_3_2_1.xml | 13 + ..._boot_spring_boot_starter_tomcat_3_2_1.xml | 13 + ...ork_boot_spring_boot_starter_web_3_2_1.xml | 13 + ...gframework_boot_spring_boot_test_3_2_1.xml | 13 + ...t_spring_boot_test_autoconfigure_3_2_1.xml | 13 + ...amework_data_spring_data_commons_3_2_1.xml | 13 + ...gframework_data_spring_data_jdbc_3_2_1.xml | 13 + ...ngframework_data_spring_data_jpa_3_2_1.xml | 13 + ...work_data_spring_data_relational_3_2_1.xml | 13 + ..._security_spring_security_config_6_2_1.xml | 13 + ...rk_security_spring_security_core_6_2_1.xml | 13 + ..._security_spring_security_crypto_6_2_1.xml | 13 + ...rk_security_spring_security_test_6_2_1.xml | 13 + ...ork_security_spring_security_web_6_2_1.xml | 13 + ...__org_springframework_spring_aop_6_1_2.xml | 13 + ...g_springframework_spring_aspects_6_1_2.xml | 13 + ...org_springframework_spring_beans_6_1_2.xml | 13 + ...g_springframework_spring_context_6_1_2.xml | 13 + ..._org_springframework_spring_core_6_1_2.xml | 13 + ...pringframework_spring_expression_6_1_2.xml | 13 + ...__org_springframework_spring_jcl_6_1_2.xml | 13 + ..._org_springframework_spring_jdbc_6_1_2.xml | 13 + ...__org_springframework_spring_orm_6_1_2.xml | 13 + ..._org_springframework_spring_test_6_1_2.xml | 13 + ...n__org_springframework_spring_tx_6_1_2.xml | 13 + ...__org_springframework_spring_web_6_1_2.xml | 13 + ...rg_springframework_spring_webmvc_6_1_2.xml | 13 + ..._org_xerial_snappy_snappy_java_1_1_8_4.xml | 13 + .../Maven__org_xmlunit_xmlunit_core_2_9_1.xml | 13 + .../Maven__org_yaml_snakeyaml_2_2.xml | 13 + .idea/misc.xml | 11 + .idea/modules.xml | 8 + camera_rtsp.sql | 84 + sfj-backend/.idea/.gitignore | 8 + sfj-backend/.idea/compiler.xml | 21 + sfj-backend/.idea/dataSources.xml | 12 + sfj-backend/.idea/encodings.xml | 6 + sfj-backend/.idea/jarRepositories.xml | 25 + sfj-backend/.idea/leetcode/editor.xml | 207 ++ sfj-backend/.idea/leetcode/statistics.xml | 20 + ..._ch_qos_logback_logback_classic_1_4_14.xml | 13 + ...en__ch_qos_logback_logback_core_1_4_14.xml | 13 + ...com_alibaba_fastjson2_fastjson2_2_0_25.xml | 13 + ...a_fastjson2_fastjson2_extension_2_0_25.xml | 13 + .../Maven__com_alibaba_fastjson_2_0_25.xml | 13 + ...earch_thirdparty_simple_xml_safe_2_7_1.xml | 13 + .../Maven__com_fasterxml_classmate_1_6_0.xml | 13 + ...ackson_core_jackson_annotations_2_15_3.xml | 13 + ...erxml_jackson_core_jackson_core_2_15_3.xml | 13 + ...l_jackson_core_jackson_databind_2_15_3.xml | 13 + ..._datatype_jackson_datatype_jdk8_2_15_3.xml | 13 + ...atatype_jackson_datatype_jsr310_2_15_3.xml | 13 + ..._jackson_module_parameter_names_2_15_3.xml | 13 + ...__com_github_jsqlparser_jsqlparser_4_6.xml | 13 + ..._com_google_code_findbugs_jsr305_3_0_2.xml | 13 + ...rorprone_error_prone_annotations_2_5_1.xml | 13 + ...__com_google_guava_failureaccess_1_0_1.xml | 13 + ...ven__com_google_guava_guava_30_1_1_jre.xml | 13 + ...9_0_empty_to_avoid_conflict_with_guava.xml | 13 + ...m_google_j2objc_j2objc_annotations_1_3.xml | 13 + ...n__com_jayway_jsonpath_json_path_2_8_0.xml | 13 + ...ven__com_mysql_mysql_connector_j_8_1_0.xml | 13 + ...en__com_squareup_okhttp3_okhttp_4_12_0.xml | 13 + .../Maven__com_squareup_okio_okio_3_6_0.xml | 13 + ...aven__com_squareup_okio_okio_jvm_3_6_0.xml | 13 + ...un_istack_istack_commons_runtime_4_1_2.xml | 13 + ...ogle_android_json_0_0_20131108_vaadin1.xml | 13 + .../Maven__com_zaxxer_HikariCP_5_0_1.xml | 13 + ...o_micrometer_micrometer_commons_1_12_1.xml | 13 + ...crometer_micrometer_observation_1_12_1.xml | 13 + .../libraries/Maven__io_minio_minio_8_3_9.xml | 13 + .../Maven__io_smallrye_jandex_3_1_2.xml | 13 + ...ctivation_jakarta_activation_api_2_1_2.xml | 13 + ...nnotation_jakarta_annotation_api_2_1_1.xml | 13 + ...akarta_inject_jakarta_inject_api_2_0_1.xml | 13 + ...sistence_jakarta_persistence_api_3_1_0.xml | 13 + ...nsaction_jakarta_transaction_api_2_0_1.xml | 13 + ...ta_xml_bind_jakarta_xml_bind_api_4_0_1.xml | 13 + ...aven__net_bytebuddy_byte_buddy_1_14_10.xml | 13 + ...net_bytebuddy_byte_buddy_agent_1_14_10.xml | 13 + ...ven__net_minidev_accessors_smart_2_5_0.xml | 13 + .../Maven__net_minidev_json_smart_2_5_0.xml | 13 + ...Maven__org_antlr_antlr4_runtime_4_13_0.xml | 13 + ...g_apache_commons_commons_compress_1_21.xml | 13 + ..._apache_logging_log4j_log4j_api_2_21_1.xml | 13 + ...he_logging_log4j_log4j_to_slf4j_2_21_1.xml | 13 + ...tomcat_embed_tomcat_embed_core_10_1_17.xml | 13 + ...e_tomcat_embed_tomcat_embed_el_10_1_17.xml | 13 + ...t_embed_tomcat_embed_websocket_10_1_17.xml | 13 + ..._org_apiguardian_apiguardian_api_1_1_2.xml | 13 + ...aven__org_aspectj_aspectjweaver_1_9_21.xml | 13 + ...Maven__org_assertj_assertj_core_3_24_2.xml | 13 + ...Maven__org_awaitility_awaitility_4_2_0.xml | 13 + ...__org_bouncycastle_bcprov_jdk15on_1_69.xml | 13 + ...rg_checkerframework_checker_qual_3_8_0.xml | 13 + ...g_eclipse_angus_angus_activation_2_0_1.xml | 13 + ...en__org_glassfish_jaxb_jaxb_core_4_0_4.xml | 13 + ..._org_glassfish_jaxb_jaxb_runtime_4_0_4.xml | 13 + .../Maven__org_glassfish_jaxb_txw2_4_0_4.xml | 13 + .../Maven__org_hamcrest_hamcrest_2_2.xml | 13 + ...ernate_commons_annotations_6_0_6_Final.xml | 13 + ...bernate_orm_hibernate_core_6_4_1_Final.xml | 13 + ...boss_logging_jboss_logging_3_5_3_Final.xml | 13 + .../Maven__org_jetbrains_annotations_13_0.xml | 13 + ..._jetbrains_kotlin_kotlin_stdlib_1_9_21.xml | 13 + ...ins_kotlin_kotlin_stdlib_common_1_9_21.xml | 13 + ...rains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml | 13 + ...rains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml | 13 + ...org_junit_jupiter_junit_jupiter_5_10_1.xml | 13 + ...junit_jupiter_junit_jupiter_api_5_10_1.xml | 13 + ...it_jupiter_junit_jupiter_engine_5_10_1.xml | 13 + ...it_jupiter_junit_jupiter_params_5_10_1.xml | 13 + ...platform_junit_platform_commons_1_10_1.xml | 13 + ..._platform_junit_platform_engine_1_10_1.xml | 13 + .../Maven__org_mockito_mockito_core_5_7_0.xml | 13 + ...rg_mockito_mockito_junit_jupiter_5_7_0.xml | 13 + .../Maven__org_mybatis_mybatis_3_5_14.xml | 13 + ...aven__org_mybatis_mybatis_spring_3_0_3.xml | 13 + ...ybatis_spring_boot_autoconfigure_3_0_3.xml | 13 + ...boot_mybatis_spring_boot_starter_3_0_3.xml | 13 + ...mybatis_spring_boot_starter_test_3_0_3.xml | 13 + ...s_spring_boot_test_autoconfigure_3_0_3.xml | 13 + .../Maven__org_objenesis_objenesis_3_3.xml | 13 + ...Maven__org_opentest4j_opentest4j_1_3_0.xml | 13 + .../libraries/Maven__org_ow2_asm_asm_9_3.xml | 13 + ...aven__org_projectlombok_lombok_1_18_30.xml | 13 + ...aven__org_skyscreamer_jsonassert_1_5_1.xml | 13 + .../Maven__org_slf4j_jul_to_slf4j_2_0_9.xml | 13 + .../Maven__org_slf4j_slf4j_api_2_0_9.xml | 13 + ...springframework_boot_spring_boot_3_2_1.xml | 13 + ...k_boot_spring_boot_autoconfigure_3_2_1.xml | 13 + ...amework_boot_spring_boot_starter_3_2_1.xml | 13 + ...ork_boot_spring_boot_starter_aop_3_2_1.xml | 13 + ...ot_spring_boot_starter_data_jdbc_3_2_1.xml | 13 + ...oot_spring_boot_starter_data_jpa_3_2_1.xml | 13 + ...rk_boot_spring_boot_starter_jdbc_3_2_1.xml | 13 + ...rk_boot_spring_boot_starter_json_3_2_1.xml | 13 + ...boot_spring_boot_starter_logging_3_2_1.xml | 13 + ...oot_spring_boot_starter_security_3_2_1.xml | 13 + ...rk_boot_spring_boot_starter_test_3_2_1.xml | 13 + ..._boot_spring_boot_starter_tomcat_3_2_1.xml | 13 + ...ork_boot_spring_boot_starter_web_3_2_1.xml | 13 + ...gframework_boot_spring_boot_test_3_2_1.xml | 13 + ...t_spring_boot_test_autoconfigure_3_2_1.xml | 13 + ...amework_data_spring_data_commons_3_2_1.xml | 13 + ...gframework_data_spring_data_jdbc_3_2_1.xml | 13 + ...ngframework_data_spring_data_jpa_3_2_1.xml | 13 + ...work_data_spring_data_relational_3_2_1.xml | 13 + ..._security_spring_security_config_6_2_1.xml | 13 + ...rk_security_spring_security_core_6_2_1.xml | 13 + ..._security_spring_security_crypto_6_2_1.xml | 13 + ...rk_security_spring_security_test_6_2_1.xml | 13 + ...ork_security_spring_security_web_6_2_1.xml | 13 + ...__org_springframework_spring_aop_6_1_2.xml | 13 + ...g_springframework_spring_aspects_6_1_2.xml | 13 + ...org_springframework_spring_beans_6_1_2.xml | 13 + ...g_springframework_spring_context_6_1_2.xml | 13 + ..._org_springframework_spring_core_6_1_2.xml | 13 + ...pringframework_spring_expression_6_1_2.xml | 13 + ...__org_springframework_spring_jcl_6_1_2.xml | 13 + ..._org_springframework_spring_jdbc_6_1_2.xml | 13 + ...__org_springframework_spring_orm_6_1_2.xml | 13 + ..._org_springframework_spring_test_6_1_2.xml | 13 + ...n__org_springframework_spring_tx_6_1_2.xml | 13 + ...__org_springframework_spring_web_6_1_2.xml | 13 + ...rg_springframework_spring_webmvc_6_1_2.xml | 13 + ..._org_xerial_snappy_snappy_java_1_1_8_4.xml | 13 + .../Maven__org_xmlunit_xmlunit_core_2_9_1.xml | 13 + .../Maven__org_yaml_snakeyaml_2_2.xml | 13 + sfj-backend/.idea/misc.xml | 13 + sfj-backend/.idea/modules.xml | 9 + sfj-backend/.idea/uiDesigner.xml | 124 + sfj-backend/.idea/vcs.xml | 6 + sfj-backend/sfj-project-backend/.gitignore | 33 + sfj-backend/sfj-project-backend/pom.xml | 111 + .../SfjProjectBackendApplication.java | 13 + .../sfjprojectbackend/config/CorsConfig.java | 25 + .../config/MinioConfiguration.java | 19 + .../config/SecurityConfiguration.java | 87 + .../config/WebConfiguration.java | 20 + .../controller/AlgorithmController.java | 95 + .../controller/FieldController.java | 33 + .../controller/FileController.java | 60 + .../controller/LoginController.java | 28 + .../controller/UseController.java | 37 + .../controller/UserController.java | 19 + .../sfjprojectbackend/entity/Algorithm.java | 39 + .../entity/AlgorithmField.java | 25 + .../entity/AlgorithmFieldDescription.java | 7 + .../entity/AlgorithmFieldId.java | 13 + .../entity/AlgorithmUseCaseId.java | 14 + .../entity/AlgorithmUserCase.java | 26 + .../upsfj/sfjprojectbackend/entity/Field.java | 21 + .../sfjprojectbackend/entity/RestBean.java | 32 + .../sfjprojectbackend/entity/UseCase.java | 22 + .../entity/auth/AccountBean.java | 19 + .../entity/user/AccountUser.java | 10 + .../interceptor/AuthorizeInterceptor.java | 37 + .../mapper/AlgorithmMapper.java | 114 + .../sfjprojectbackend/mapper/FieldMapper.java | 27 + .../sfjprojectbackend/mapper/UseMapper.java | 29 + .../sfjprojectbackend/mapper/UserMapper.java | 17 + .../service/AlgorithmService.java | 25 + .../service/AuthorizeService.java | 37 + .../service/FieldService.java | 14 + .../service/UsecaseService.java | 15 + .../service/impl/AlgorithmServiceImpl.java | 141 + .../service/impl/FieldServiceImpl.java | 34 + .../service/impl/UsecaseServiceImpl.java | 32 + .../src/main/resources/application.yaml | 6 + .../SfjProjectBackendApplicationTests.java | 16 + sfj-backend/sfj-project.iml | 9 + sfj-vue3/.gitignore | 30 + sfj-vue3/.vscode/extensions.json | 3 + sfj-vue3/Dockerfile | 20 + sfj-vue3/README.md | 40 + sfj-vue3/env.d.ts | 1 + sfj-vue3/index.html | 18 + sfj-vue3/package-lock.json | 2912 +++++++++++++++++ sfj-vue3/package.json | 35 + sfj-vue3/public/favicon.ico | Bin 0 -> 4286 bytes sfj-vue3/src/App.vue | 25 + sfj-vue3/src/api/data.ts | 103 + sfj-vue3/src/api/interface.ts | 47 + sfj-vue3/src/api/uesr.ts | 43 + sfj-vue3/src/assets/1-1.png | Bin 0 -> 7575 bytes sfj-vue3/src/assets/1-2.png | Bin 0 -> 7594 bytes sfj-vue3/src/assets/1-3.png | Bin 0 -> 6950 bytes sfj-vue3/src/assets/1-4.png | Bin 0 -> 7364 bytes sfj-vue3/src/assets/1-5.png | Bin 0 -> 8271 bytes sfj-vue3/src/assets/1-6.png | Bin 0 -> 1408 bytes sfj-vue3/src/assets/1.png | Bin 0 -> 360906 bytes sfj-vue3/src/assets/11.jpg | Bin 0 -> 1173961 bytes sfj-vue3/src/assets/2.png | Bin 0 -> 6955 bytes sfj-vue3/src/assets/bankbg.jpg | Bin 0 -> 136266 bytes sfj-vue3/src/assets/bg.jpg | Bin 0 -> 143733 bytes sfj-vue3/src/assets/bg3.jpg | Bin 0 -> 148611 bytes sfj-vue3/src/assets/campusBg.jpg | Bin 0 -> 142896 bytes sfj-vue3/src/assets/dcbg.jpg | Bin 0 -> 147131 bytes sfj-vue3/src/assets/image/anquanmao.jpg | Bin 0 -> 207403 bytes sfj-vue3/src/assets/image/banyi.jpg | Bin 0 -> 168274 bytes sfj-vue3/src/assets/image/chedaoxian.jpg | Bin 0 -> 221553 bytes sfj-vue3/src/assets/image/chepai.jpg | Bin 0 -> 260774 bytes sfj-vue3/src/assets/image/climb.jpg | Bin 0 -> 252400 bytes sfj-vue3/src/assets/image/duanxiu.jpg | Bin 0 -> 315176 bytes sfj-vue3/src/assets/image/e-bike.jpg | Bin 0 -> 57162 bytes sfj-vue3/src/assets/image/facesb.png | Bin 0 -> 575325 bytes sfj-vue3/src/assets/image/fall.jpg | Bin 0 -> 222955 bytes sfj-vue3/src/assets/image/fanguangyi.jpg | Bin 0 -> 188231 bytes sfj-vue3/src/assets/image/fight.jpg | Bin 0 -> 139686 bytes sfj-vue3/src/assets/image/fire.jpg | Bin 0 -> 138138 bytes sfj-vue3/src/assets/image/gaokongpw.jpg | Bin 0 -> 216741 bytes sfj-vue3/src/assets/image/gather.jpg | Bin 0 -> 334362 bytes sfj-vue3/src/assets/image/gongfu.jpg | Bin 0 -> 164923 bytes sfj-vue3/src/assets/image/helmet.jpg | Bin 0 -> 73242 bytes sfj-vue3/src/assets/image/icon.png | Bin 0 -> 13801 bytes sfj-vue3/src/assets/image/keliu.jpg | Bin 0 -> 256949 bytes sfj-vue3/src/assets/image/llyfangx.jpg | Bin 0 -> 102094 bytes sfj-vue3/src/assets/image/mask.jpg | Bin 0 -> 144822 bytes sfj-vue3/src/assets/image/midu.jpg | Bin 0 -> 76190 bytes sfj-vue3/src/assets/image/miehuoqi.jpg | Bin 0 -> 144115 bytes sfj-vue3/src/assets/image/paihuai.jpg | Bin 0 -> 140165 bytes sfj-vue3/src/assets/image/phone.jpg | Bin 0 -> 79019 bytes sfj-vue3/src/assets/image/pilao.jpg | Bin 0 -> 465244 bytes sfj-vue3/src/assets/image/playphone.jpg | Bin 0 -> 142463 bytes sfj-vue3/src/assets/image/redlight.jpg | Bin 0 -> 69079 bytes sfj-vue3/src/assets/image/safe.jpg | Bin 0 -> 288175 bytes sfj-vue3/src/assets/image/sleep.jpg | Bin 0 -> 145329 bytes sfj-vue3/src/assets/image/smoke.jpg | Bin 0 -> 83924 bytes sfj-vue3/src/assets/image/trafficbz.jpg | Bin 0 -> 128932 bytes sfj-vue3/src/assets/image/tuogang.jpg | Bin 0 -> 61643 bytes sfj-vue3/src/assets/image/weiting.jpg | Bin 0 -> 216672 bytes sfj-vue3/src/assets/image/yanwu.jpg | Bin 0 -> 164216 bytes sfj-vue3/src/assets/image/yiliu.jpg | Bin 0 -> 59345 bytes sfj-vue3/src/assets/image/yongdu.jpg | Bin 0 -> 292940 bytes sfj-vue3/src/assets/image/zhandao.jpg | Bin 0 -> 102094 bytes sfj-vue3/src/assets/image/zhuapai.jpg | Bin 0 -> 252194 bytes sfj-vue3/src/assets/jtbg.jpg | Bin 0 -> 174599 bytes sfj-vue3/src/assets/logo.png | Bin 0 -> 6849 bytes sfj-vue3/src/assets/lsbg.jpg | Bin 0 -> 163124 bytes sfj-vue3/src/components/Algorithm.vue | 308 ++ sfj-vue3/src/components/detail.vue | 369 +++ sfj-vue3/src/components/home.vue | 453 +++ sfj-vue3/src/main.ts | 18 + sfj-vue3/src/pages/AlgorithmShowcase.vue | 0 sfj-vue3/src/pages/anquan.vue | 366 +++ sfj-vue3/src/pages/gengduo.vue | 31 + sfj-vue3/src/router/index.ts | 36 + sfj-vue3/src/utils/axios.ts | 37 + sfj-vue3/tsconfig.app.json | 13 + sfj-vue3/tsconfig.json | 11 + sfj-vue3/tsconfig.node.json | 17 + sfj-vue3/vite.config.ts | 17 + sfj.sql | 514 +++ 398 files changed, 10801 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/alg_display.iml create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_14.xml create mode 100644 .idea/libraries/Maven__ch_qos_logback_logback_core_1_4_14.xml create mode 100644 .idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_25.xml create mode 100644 .idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_25.xml create mode 100644 .idea/libraries/Maven__com_alibaba_fastjson_2_0_25.xml create mode 100644 .idea/libraries/Maven__com_carrotsearch_thirdparty_simple_xml_safe_2_7_1.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_classmate_1_6_0.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_3.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_3.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_3.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_3.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_3.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_3.xml create mode 100644 .idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_6.xml create mode 100644 .idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml create mode 100644 .idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_5_1.xml create mode 100644 .idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml create mode 100644 .idea/libraries/Maven__com_google_guava_guava_30_1_1_jre.xml create mode 100644 .idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml create mode 100644 .idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml create mode 100644 .idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml create mode 100644 .idea/libraries/Maven__com_mysql_mysql_connector_j_8_1_0.xml create mode 100644 .idea/libraries/Maven__com_squareup_okhttp3_okhttp_4_12_0.xml create mode 100644 .idea/libraries/Maven__com_squareup_okio_okio_3_6_0.xml create mode 100644 .idea/libraries/Maven__com_squareup_okio_okio_jvm_3_6_0.xml create mode 100644 .idea/libraries/Maven__com_sun_istack_istack_commons_runtime_4_1_2.xml create mode 100644 .idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml create mode 100644 .idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml create mode 100644 .idea/libraries/Maven__io_micrometer_micrometer_commons_1_12_1.xml create mode 100644 .idea/libraries/Maven__io_micrometer_micrometer_observation_1_12_1.xml create mode 100644 .idea/libraries/Maven__io_minio_minio_8_3_9.xml create mode 100644 .idea/libraries/Maven__io_smallrye_jandex_3_1_2.xml create mode 100644 .idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml create mode 100644 .idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml create mode 100644 .idea/libraries/Maven__jakarta_inject_jakarta_inject_api_2_0_1.xml create mode 100644 .idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml create mode 100644 .idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml create mode 100644 .idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_1.xml create mode 100644 .idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_10.xml create mode 100644 .idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_10.xml create mode 100644 .idea/libraries/Maven__net_minidev_accessors_smart_2_5_0.xml create mode 100644 .idea/libraries/Maven__net_minidev_json_smart_2_5_0.xml create mode 100644 .idea/libraries/Maven__org_antlr_antlr4_runtime_4_13_0.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml create mode 100644 .idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_21_1.xml create mode 100644 .idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_21_1.xml create mode 100644 .idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_17.xml create mode 100644 .idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_17.xml create mode 100644 .idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_17.xml create mode 100644 .idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml create mode 100644 .idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_21.xml create mode 100644 .idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml create mode 100644 .idea/libraries/Maven__org_awaitility_awaitility_4_2_0.xml create mode 100644 .idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_69.xml create mode 100644 .idea/libraries/Maven__org_checkerframework_checker_qual_3_8_0.xml create mode 100644 .idea/libraries/Maven__org_eclipse_angus_angus_activation_2_0_1.xml create mode 100644 .idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_4_0_4.xml create mode 100644 .idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_4_0_4.xml create mode 100644 .idea/libraries/Maven__org_glassfish_jaxb_txw2_4_0_4.xml create mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml create mode 100644 .idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml create mode 100644 .idea/libraries/Maven__org_hibernate_orm_hibernate_core_6_4_1_Final.xml create mode 100644 .idea/libraries/Maven__org_jboss_logging_jboss_logging_3_5_3_Final.xml create mode 100644 .idea/libraries/Maven__org_jetbrains_annotations_13_0.xml create mode 100644 .idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml create mode 100644 .idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_9_21.xml create mode 100644 .idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml create mode 100644 .idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml create mode 100644 .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_10_1.xml create mode 100644 .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_10_1.xml create mode 100644 .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_10_1.xml create mode 100644 .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_10_1.xml create mode 100644 .idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_10_1.xml create mode 100644 .idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_10_1.xml create mode 100644 .idea/libraries/Maven__org_mockito_mockito_core_5_7_0.xml create mode 100644 .idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_7_0.xml create mode 100644 .idea/libraries/Maven__org_mybatis_mybatis_3_5_14.xml create mode 100644 .idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_3.xml create mode 100644 .idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_3.xml create mode 100644 .idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_3.xml create mode 100644 .idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_test_3_0_3.xml create mode 100644 .idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_test_autoconfigure_3_0_3.xml create mode 100644 .idea/libraries/Maven__org_objenesis_objenesis_3_3.xml create mode 100644 .idea/libraries/Maven__org_opentest4j_opentest4j_1_3_0.xml create mode 100644 .idea/libraries/Maven__org_ow2_asm_asm_9_3.xml create mode 100644 .idea/libraries/Maven__org_projectlombok_lombok_1_18_30.xml create mode 100644 .idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml create mode 100644 .idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_9.xml create mode 100644 .idea/libraries/Maven__org_slf4j_slf4j_api_2_0_9.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_data_spring_data_commons_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_data_spring_data_jdbc_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_data_spring_data_jpa_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_data_spring_data_relational_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_config_6_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_core_6_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_crypto_6_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_test_6_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_web_6_2_1.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_aop_6_1_2.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_aspects_6_1_2.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_beans_6_1_2.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_context_6_1_2.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_core_6_1_2.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_expression_6_1_2.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_jcl_6_1_2.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_jdbc_6_1_2.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_orm_6_1_2.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_test_6_1_2.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_tx_6_1_2.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_web_6_1_2.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_webmvc_6_1_2.xml create mode 100644 .idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_8_4.xml create mode 100644 .idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml create mode 100644 .idea/libraries/Maven__org_yaml_snakeyaml_2_2.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 camera_rtsp.sql create mode 100644 sfj-backend/.idea/.gitignore create mode 100644 sfj-backend/.idea/compiler.xml create mode 100644 sfj-backend/.idea/dataSources.xml create mode 100644 sfj-backend/.idea/encodings.xml create mode 100644 sfj-backend/.idea/jarRepositories.xml create mode 100644 sfj-backend/.idea/leetcode/editor.xml create mode 100644 sfj-backend/.idea/leetcode/statistics.xml create mode 100644 sfj-backend/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_14.xml create mode 100644 sfj-backend/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_14.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_25.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_25.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson_2_0_25.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_carrotsearch_thirdparty_simple_xml_safe_2_7_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_fasterxml_classmate_1_6_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_3.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_3.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_3.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_3.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_3.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_3.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_6.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_5_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_google_guava_guava_30_1_1_jre.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_1_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_squareup_okhttp3_okhttp_4_12_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_squareup_okio_okio_3_6_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_squareup_okio_okio_jvm_3_6_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_4_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_12_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_12_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__io_minio_minio_8_3_9.xml create mode 100644 sfj-backend/.idea/libraries/Maven__io_smallrye_jandex_3_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__jakarta_inject_jakarta_inject_api_2_0_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_10.xml create mode 100644 sfj-backend/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_10.xml create mode 100644 sfj-backend/.idea/libraries/Maven__net_minidev_accessors_smart_2_5_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__net_minidev_json_smart_2_5_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_13_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_21_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_21_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_17.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_17.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_17.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_21.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_awaitility_awaitility_4_2_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_69.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_checkerframework_checker_qual_3_8_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_eclipse_angus_angus_activation_2_0_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_4_0_4.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_4_0_4.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_txw2_4_0_4.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_hibernate_orm_hibernate_core_6_4_1_Final.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_5_3_Final.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_9_21.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_10_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_10_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_10_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_10_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_10_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_10_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_mockito_mockito_core_5_7_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_7_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_mybatis_mybatis_3_5_14.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_3.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_3.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_3.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_test_3_0_3.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_test_autoconfigure_3_0_3.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_opentest4j_opentest4j_1_3_0.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_projectlombok_lombok_1_18_30.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_9.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_9.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_commons_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_relational_3_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_config_6_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_core_6_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_6_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_test_6_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_web_6_2_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_spring_aop_6_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_spring_aspects_6_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_spring_beans_6_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_spring_context_6_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_spring_core_6_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_spring_expression_6_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_spring_jcl_6_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_spring_jdbc_6_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_spring_orm_6_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_spring_test_6_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_spring_tx_6_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_spring_web_6_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_springframework_spring_webmvc_6_1_2.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_8_4.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml create mode 100644 sfj-backend/.idea/libraries/Maven__org_yaml_snakeyaml_2_2.xml create mode 100644 sfj-backend/.idea/misc.xml create mode 100644 sfj-backend/.idea/modules.xml create mode 100644 sfj-backend/.idea/uiDesigner.xml create mode 100644 sfj-backend/.idea/vcs.xml create mode 100644 sfj-backend/sfj-project-backend/.gitignore create mode 100644 sfj-backend/sfj-project-backend/pom.xml create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/SfjProjectBackendApplication.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/CorsConfig.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/MinioConfiguration.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/SecurityConfiguration.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/WebConfiguration.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/AlgorithmController.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/FieldController.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/FileController.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/LoginController.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/UseController.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/UserController.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/Algorithm.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmField.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmFieldDescription.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmFieldId.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmUseCaseId.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmUserCase.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/Field.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/RestBean.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/UseCase.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/auth/AccountBean.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/user/AccountUser.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/interceptor/AuthorizeInterceptor.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/AlgorithmMapper.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/FieldMapper.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/UseMapper.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/UserMapper.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/AlgorithmService.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/AuthorizeService.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/FieldService.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/UsecaseService.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/AlgorithmServiceImpl.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/FieldServiceImpl.java create mode 100644 sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/UsecaseServiceImpl.java create mode 100644 sfj-backend/sfj-project-backend/src/main/resources/application.yaml create mode 100644 sfj-backend/sfj-project-backend/src/test/java/com/upsfj/sfjprojectbackend/SfjProjectBackendApplicationTests.java create mode 100644 sfj-backend/sfj-project.iml create mode 100644 sfj-vue3/.gitignore create mode 100644 sfj-vue3/.vscode/extensions.json create mode 100644 sfj-vue3/Dockerfile create mode 100644 sfj-vue3/README.md create mode 100644 sfj-vue3/env.d.ts create mode 100644 sfj-vue3/index.html create mode 100644 sfj-vue3/package-lock.json create mode 100644 sfj-vue3/package.json create mode 100644 sfj-vue3/public/favicon.ico create mode 100644 sfj-vue3/src/App.vue create mode 100644 sfj-vue3/src/api/data.ts create mode 100644 sfj-vue3/src/api/interface.ts create mode 100644 sfj-vue3/src/api/uesr.ts create mode 100644 sfj-vue3/src/assets/1-1.png create mode 100644 sfj-vue3/src/assets/1-2.png create mode 100644 sfj-vue3/src/assets/1-3.png create mode 100644 sfj-vue3/src/assets/1-4.png create mode 100644 sfj-vue3/src/assets/1-5.png create mode 100644 sfj-vue3/src/assets/1-6.png create mode 100644 sfj-vue3/src/assets/1.png create mode 100644 sfj-vue3/src/assets/11.jpg create mode 100644 sfj-vue3/src/assets/2.png create mode 100644 sfj-vue3/src/assets/bankbg.jpg create mode 100644 sfj-vue3/src/assets/bg.jpg create mode 100644 sfj-vue3/src/assets/bg3.jpg create mode 100644 sfj-vue3/src/assets/campusBg.jpg create mode 100644 sfj-vue3/src/assets/dcbg.jpg create mode 100644 sfj-vue3/src/assets/image/anquanmao.jpg create mode 100644 sfj-vue3/src/assets/image/banyi.jpg create mode 100644 sfj-vue3/src/assets/image/chedaoxian.jpg create mode 100644 sfj-vue3/src/assets/image/chepai.jpg create mode 100644 sfj-vue3/src/assets/image/climb.jpg create mode 100644 sfj-vue3/src/assets/image/duanxiu.jpg create mode 100644 sfj-vue3/src/assets/image/e-bike.jpg create mode 100644 sfj-vue3/src/assets/image/facesb.png create mode 100644 sfj-vue3/src/assets/image/fall.jpg create mode 100644 sfj-vue3/src/assets/image/fanguangyi.jpg create mode 100644 sfj-vue3/src/assets/image/fight.jpg create mode 100644 sfj-vue3/src/assets/image/fire.jpg create mode 100644 sfj-vue3/src/assets/image/gaokongpw.jpg create mode 100644 sfj-vue3/src/assets/image/gather.jpg create mode 100644 sfj-vue3/src/assets/image/gongfu.jpg create mode 100644 sfj-vue3/src/assets/image/helmet.jpg create mode 100644 sfj-vue3/src/assets/image/icon.png create mode 100644 sfj-vue3/src/assets/image/keliu.jpg create mode 100644 sfj-vue3/src/assets/image/llyfangx.jpg create mode 100644 sfj-vue3/src/assets/image/mask.jpg create mode 100644 sfj-vue3/src/assets/image/midu.jpg create mode 100644 sfj-vue3/src/assets/image/miehuoqi.jpg create mode 100644 sfj-vue3/src/assets/image/paihuai.jpg create mode 100644 sfj-vue3/src/assets/image/phone.jpg create mode 100644 sfj-vue3/src/assets/image/pilao.jpg create mode 100644 sfj-vue3/src/assets/image/playphone.jpg create mode 100644 sfj-vue3/src/assets/image/redlight.jpg create mode 100644 sfj-vue3/src/assets/image/safe.jpg create mode 100644 sfj-vue3/src/assets/image/sleep.jpg create mode 100644 sfj-vue3/src/assets/image/smoke.jpg create mode 100644 sfj-vue3/src/assets/image/trafficbz.jpg create mode 100644 sfj-vue3/src/assets/image/tuogang.jpg create mode 100644 sfj-vue3/src/assets/image/weiting.jpg create mode 100644 sfj-vue3/src/assets/image/yanwu.jpg create mode 100644 sfj-vue3/src/assets/image/yiliu.jpg create mode 100644 sfj-vue3/src/assets/image/yongdu.jpg create mode 100644 sfj-vue3/src/assets/image/zhandao.jpg create mode 100644 sfj-vue3/src/assets/image/zhuapai.jpg create mode 100644 sfj-vue3/src/assets/jtbg.jpg create mode 100644 sfj-vue3/src/assets/logo.png create mode 100644 sfj-vue3/src/assets/lsbg.jpg create mode 100644 sfj-vue3/src/components/Algorithm.vue create mode 100644 sfj-vue3/src/components/detail.vue create mode 100644 sfj-vue3/src/components/home.vue create mode 100644 sfj-vue3/src/main.ts create mode 100644 sfj-vue3/src/pages/AlgorithmShowcase.vue create mode 100644 sfj-vue3/src/pages/anquan.vue create mode 100644 sfj-vue3/src/pages/gengduo.vue create mode 100644 sfj-vue3/src/router/index.ts create mode 100644 sfj-vue3/src/utils/axios.ts create mode 100644 sfj-vue3/tsconfig.app.json create mode 100644 sfj-vue3/tsconfig.json create mode 100644 sfj-vue3/tsconfig.node.json create mode 100644 sfj-vue3/vite.config.ts create mode 100644 sfj.sql diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..1c2fda5 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/alg_display.iml b/.idea/alg_display.iml new file mode 100644 index 0000000..bf135f7 --- /dev/null +++ b/.idea/alg_display.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..e34d475 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..6695ba8 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..a468a99 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_14.xml b/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_14.xml new file mode 100644 index 0000000..aeb9731 --- /dev/null +++ b/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_14.xml b/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_14.xml new file mode 100644 index 0000000..04bfda7 --- /dev/null +++ b/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_25.xml b/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_25.xml new file mode 100644 index 0000000..eae2e3f --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_25.xml b/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_25.xml new file mode 100644 index 0000000..caed937 --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_fastjson_2_0_25.xml b/.idea/libraries/Maven__com_alibaba_fastjson_2_0_25.xml new file mode 100644 index 0000000..2bb7ef5 --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_fastjson_2_0_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_carrotsearch_thirdparty_simple_xml_safe_2_7_1.xml b/.idea/libraries/Maven__com_carrotsearch_thirdparty_simple_xml_safe_2_7_1.xml new file mode 100644 index 0000000..7268d95 --- /dev/null +++ b/.idea/libraries/Maven__com_carrotsearch_thirdparty_simple_xml_safe_2_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_classmate_1_6_0.xml b/.idea/libraries/Maven__com_fasterxml_classmate_1_6_0.xml new file mode 100644 index 0000000..f32a171 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_classmate_1_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_3.xml new file mode 100644 index 0000000..b62f392 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_3.xml new file mode 100644 index 0000000..9b585d6 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_3.xml new file mode 100644 index 0000000..a1a78f5 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_3.xml new file mode 100644 index 0000000..371d7fc --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_3.xml new file mode 100644 index 0000000..cf1bf0f --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_3.xml new file mode 100644 index 0000000..202d901 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_6.xml b/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_6.xml new file mode 100644 index 0000000..61f92df --- /dev/null +++ b/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml new file mode 100644 index 0000000..05bc174 --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_5_1.xml b/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_5_1.xml new file mode 100644 index 0000000..b04f3ad --- /dev/null +++ b/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_5_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml b/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml new file mode 100644 index 0000000..c70d93b --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_guava_30_1_1_jre.xml b/.idea/libraries/Maven__com_google_guava_guava_30_1_1_jre.xml new file mode 100644 index 0000000..1e686b0 --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_guava_30_1_1_jre.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml b/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml new file mode 100644 index 0000000..d5b1f39 --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml b/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml new file mode 100644 index 0000000..6451915 --- /dev/null +++ b/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml b/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml new file mode 100644 index 0000000..48bf10d --- /dev/null +++ b/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_1_0.xml b/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_1_0.xml new file mode 100644 index 0000000..1ab3ac0 --- /dev/null +++ b/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_squareup_okhttp3_okhttp_4_12_0.xml b/.idea/libraries/Maven__com_squareup_okhttp3_okhttp_4_12_0.xml new file mode 100644 index 0000000..a9312d4 --- /dev/null +++ b/.idea/libraries/Maven__com_squareup_okhttp3_okhttp_4_12_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_squareup_okio_okio_3_6_0.xml b/.idea/libraries/Maven__com_squareup_okio_okio_3_6_0.xml new file mode 100644 index 0000000..dd7f750 --- /dev/null +++ b/.idea/libraries/Maven__com_squareup_okio_okio_3_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_squareup_okio_okio_jvm_3_6_0.xml b/.idea/libraries/Maven__com_squareup_okio_okio_jvm_3_6_0.xml new file mode 100644 index 0000000..c80a02e --- /dev/null +++ b/.idea/libraries/Maven__com_squareup_okio_okio_jvm_3_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_4_1_2.xml b/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_4_1_2.xml new file mode 100644 index 0000000..7a854e3 --- /dev/null +++ b/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_4_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml b/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml new file mode 100644 index 0000000..c987dd2 --- /dev/null +++ b/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml b/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml new file mode 100644 index 0000000..bb6280d --- /dev/null +++ b/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_12_1.xml b/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_12_1.xml new file mode 100644 index 0000000..7f61849 --- /dev/null +++ b/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_12_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_12_1.xml b/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_12_1.xml new file mode 100644 index 0000000..df8f368 --- /dev/null +++ b/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_12_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_minio_minio_8_3_9.xml b/.idea/libraries/Maven__io_minio_minio_8_3_9.xml new file mode 100644 index 0000000..1991b8e --- /dev/null +++ b/.idea/libraries/Maven__io_minio_minio_8_3_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_smallrye_jandex_3_1_2.xml b/.idea/libraries/Maven__io_smallrye_jandex_3_1_2.xml new file mode 100644 index 0000000..18bf152 --- /dev/null +++ b/.idea/libraries/Maven__io_smallrye_jandex_3_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml b/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml new file mode 100644 index 0000000..48ce366 --- /dev/null +++ b/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml b/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml new file mode 100644 index 0000000..c522aec --- /dev/null +++ b/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_inject_jakarta_inject_api_2_0_1.xml b/.idea/libraries/Maven__jakarta_inject_jakarta_inject_api_2_0_1.xml new file mode 100644 index 0000000..5dd945b --- /dev/null +++ b/.idea/libraries/Maven__jakarta_inject_jakarta_inject_api_2_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml b/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml new file mode 100644 index 0000000..b5b6066 --- /dev/null +++ b/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml b/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml new file mode 100644 index 0000000..437c18c --- /dev/null +++ b/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_1.xml b/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_1.xml new file mode 100644 index 0000000..17a318d --- /dev/null +++ b/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_10.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_10.xml new file mode 100644 index 0000000..f01360f --- /dev/null +++ b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_10.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_10.xml new file mode 100644 index 0000000..3eab128 --- /dev/null +++ b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_minidev_accessors_smart_2_5_0.xml b/.idea/libraries/Maven__net_minidev_accessors_smart_2_5_0.xml new file mode 100644 index 0000000..1eaa2f5 --- /dev/null +++ b/.idea/libraries/Maven__net_minidev_accessors_smart_2_5_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_minidev_json_smart_2_5_0.xml b/.idea/libraries/Maven__net_minidev_json_smart_2_5_0.xml new file mode 100644 index 0000000..39e37ec --- /dev/null +++ b/.idea/libraries/Maven__net_minidev_json_smart_2_5_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_13_0.xml b/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_13_0.xml new file mode 100644 index 0000000..1b41147 --- /dev/null +++ b/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml b/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml new file mode 100644 index 0000000..ce1c48d --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_21_1.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_21_1.xml new file mode 100644 index 0000000..eb80bdf --- /dev/null +++ b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_21_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_21_1.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_21_1.xml new file mode 100644 index 0000000..fba45b9 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_21_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_17.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_17.xml new file mode 100644 index 0000000..c592d8c --- /dev/null +++ b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_17.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_17.xml new file mode 100644 index 0000000..b2dea72 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_17.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_17.xml new file mode 100644 index 0000000..fa9031e --- /dev/null +++ b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml new file mode 100644 index 0000000..0d806e6 --- /dev/null +++ b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_21.xml b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_21.xml new file mode 100644 index 0000000..b42bf67 --- /dev/null +++ b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml b/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml new file mode 100644 index 0000000..0144dd4 --- /dev/null +++ b/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_awaitility_awaitility_4_2_0.xml b/.idea/libraries/Maven__org_awaitility_awaitility_4_2_0.xml new file mode 100644 index 0000000..2268814 --- /dev/null +++ b/.idea/libraries/Maven__org_awaitility_awaitility_4_2_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_69.xml b/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_69.xml new file mode 100644 index 0000000..f326d56 --- /dev/null +++ b/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_69.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_checkerframework_checker_qual_3_8_0.xml b/.idea/libraries/Maven__org_checkerframework_checker_qual_3_8_0.xml new file mode 100644 index 0000000..7bbf943 --- /dev/null +++ b/.idea/libraries/Maven__org_checkerframework_checker_qual_3_8_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_angus_angus_activation_2_0_1.xml b/.idea/libraries/Maven__org_eclipse_angus_angus_activation_2_0_1.xml new file mode 100644 index 0000000..690dd29 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_angus_angus_activation_2_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_4_0_4.xml b/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_4_0_4.xml new file mode 100644 index 0000000..d3dac0d --- /dev/null +++ b/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_4_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_4_0_4.xml b/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_4_0_4.xml new file mode 100644 index 0000000..cd93320 --- /dev/null +++ b/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_4_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_glassfish_jaxb_txw2_4_0_4.xml b/.idea/libraries/Maven__org_glassfish_jaxb_txw2_4_0_4.xml new file mode 100644 index 0000000..31a0a60 --- /dev/null +++ b/.idea/libraries/Maven__org_glassfish_jaxb_txw2_4_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml new file mode 100644 index 0000000..130329b --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml new file mode 100644 index 0000000..6219bb5 --- /dev/null +++ b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_orm_hibernate_core_6_4_1_Final.xml b/.idea/libraries/Maven__org_hibernate_orm_hibernate_core_6_4_1_Final.xml new file mode 100644 index 0000000..15288db --- /dev/null +++ b/.idea/libraries/Maven__org_hibernate_orm_hibernate_core_6_4_1_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_5_3_Final.xml b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_5_3_Final.xml new file mode 100644 index 0000000..c0cd638 --- /dev/null +++ b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_5_3_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml b/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml new file mode 100644 index 0000000..7296fd5 --- /dev/null +++ b/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml new file mode 100644 index 0000000..af41853 --- /dev/null +++ b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_9_21.xml b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_9_21.xml new file mode 100644 index 0000000..d6ad630 --- /dev/null +++ b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml new file mode 100644 index 0000000..d68e520 --- /dev/null +++ b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml new file mode 100644 index 0000000..39d5c6a --- /dev/null +++ b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_10_1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_10_1.xml new file mode 100644 index 0000000..3d9dd25 --- /dev/null +++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_10_1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_10_1.xml new file mode 100644 index 0000000..4308abf --- /dev/null +++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_10_1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_10_1.xml new file mode 100644 index 0000000..f776160 --- /dev/null +++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_10_1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_10_1.xml new file mode 100644 index 0000000..be094b3 --- /dev/null +++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_10_1.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_10_1.xml new file mode 100644 index 0000000..dabb105 --- /dev/null +++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_10_1.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_10_1.xml new file mode 100644 index 0000000..1a234e5 --- /dev/null +++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mockito_mockito_core_5_7_0.xml b/.idea/libraries/Maven__org_mockito_mockito_core_5_7_0.xml new file mode 100644 index 0000000..0fbf819 --- /dev/null +++ b/.idea/libraries/Maven__org_mockito_mockito_core_5_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_7_0.xml b/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_7_0.xml new file mode 100644 index 0000000..d6e911b --- /dev/null +++ b/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_mybatis_3_5_14.xml b/.idea/libraries/Maven__org_mybatis_mybatis_3_5_14.xml new file mode 100644 index 0000000..3902f19 --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_mybatis_3_5_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_3.xml b/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_3.xml new file mode 100644 index 0000000..493f822 --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_3.xml b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_3.xml new file mode 100644 index 0000000..6807977 --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_3.xml b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_3.xml new file mode 100644 index 0000000..e229957 --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_test_3_0_3.xml b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_test_3_0_3.xml new file mode 100644 index 0000000..7b9e132 --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_test_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_test_autoconfigure_3_0_3.xml b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_test_autoconfigure_3_0_3.xml new file mode 100644 index 0000000..438493c --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_test_autoconfigure_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml b/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml new file mode 100644 index 0000000..e287991 --- /dev/null +++ b/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_opentest4j_opentest4j_1_3_0.xml b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_3_0.xml new file mode 100644 index 0000000..e5bf322 --- /dev/null +++ b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml b/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml new file mode 100644 index 0000000..9c1d551 --- /dev/null +++ b/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_projectlombok_lombok_1_18_30.xml b/.idea/libraries/Maven__org_projectlombok_lombok_1_18_30.xml new file mode 100644 index 0000000..f6de09c --- /dev/null +++ b/.idea/libraries/Maven__org_projectlombok_lombok_1_18_30.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml b/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml new file mode 100644 index 0000000..c72e34e --- /dev/null +++ b/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_9.xml b/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_9.xml new file mode 100644 index 0000000..00e2cb7 --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_9.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_9.xml new file mode 100644 index 0000000..d9fa3ed --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_2_1.xml new file mode 100644 index 0000000..2046cc6 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_2_1.xml new file mode 100644 index 0000000..36fbedc --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_2_1.xml new file mode 100644 index 0000000..8fa8569 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_3_2_1.xml new file mode 100644 index 0000000..dad7099 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_3_2_1.xml new file mode 100644 index 0000000..0fee9de --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_2_1.xml new file mode 100644 index 0000000..15bf96f --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_2_1.xml new file mode 100644 index 0000000..6408b99 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_2_1.xml new file mode 100644 index 0000000..7ff3fb5 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_2_1.xml new file mode 100644 index 0000000..08a28e3 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_3_2_1.xml new file mode 100644 index 0000000..c182ab0 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_2_1.xml new file mode 100644 index 0000000..90d4ce7 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_2_1.xml new file mode 100644 index 0000000..8eca71e --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_2_1.xml new file mode 100644 index 0000000..a2b8ea2 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_2_1.xml new file mode 100644 index 0000000..12c98d0 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_2_1.xml new file mode 100644 index 0000000..e0a7280 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_commons_3_2_1.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_commons_3_2_1.xml new file mode 100644 index 0000000..4582fe9 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_data_spring_data_commons_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_3_2_1.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_3_2_1.xml new file mode 100644 index 0000000..d2f0173 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_3_2_1.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_3_2_1.xml new file mode 100644 index 0000000..12d8974 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_relational_3_2_1.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_relational_3_2_1.xml new file mode 100644 index 0000000..50e0423 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_data_spring_data_relational_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_config_6_2_1.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_config_6_2_1.xml new file mode 100644 index 0000000..4c6c928 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_config_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_core_6_2_1.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_core_6_2_1.xml new file mode 100644 index 0000000..310082d --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_core_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_6_2_1.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_6_2_1.xml new file mode 100644 index 0000000..0ebd0da --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_test_6_2_1.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_test_6_2_1.xml new file mode 100644 index 0000000..b9a8d9b --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_test_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_web_6_2_1.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_web_6_2_1.xml new file mode 100644 index 0000000..42c7e3e --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_web_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aop_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_aop_6_1_2.xml new file mode 100644 index 0000000..f2e7c39 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_aop_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aspects_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_aspects_6_1_2.xml new file mode 100644 index 0000000..ef7976c --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_aspects_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_beans_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_beans_6_1_2.xml new file mode 100644 index 0000000..8cbc596 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_beans_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_context_6_1_2.xml new file mode 100644 index 0000000..33985c5 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_context_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_core_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_core_6_1_2.xml new file mode 100644 index 0000000..5bfd8d8 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_core_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_expression_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_expression_6_1_2.xml new file mode 100644 index 0000000..8c28778 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_expression_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_jcl_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_jcl_6_1_2.xml new file mode 100644 index 0000000..1cf3c57 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_jcl_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_jdbc_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_jdbc_6_1_2.xml new file mode 100644 index 0000000..2239495 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_jdbc_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_orm_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_orm_6_1_2.xml new file mode 100644 index 0000000..03adffb --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_orm_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_test_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_test_6_1_2.xml new file mode 100644 index 0000000..31fe352 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_test_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_tx_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_tx_6_1_2.xml new file mode 100644 index 0000000..383a038 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_tx_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_web_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_web_6_1_2.xml new file mode 100644 index 0000000..178b315 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_web_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_webmvc_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_webmvc_6_1_2.xml new file mode 100644 index 0000000..7b9fc4d --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_webmvc_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_8_4.xml b/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_8_4.xml new file mode 100644 index 0000000..475a69f --- /dev/null +++ b/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_8_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml b/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml new file mode 100644 index 0000000..e6909df --- /dev/null +++ b/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_yaml_snakeyaml_2_2.xml b/.idea/libraries/Maven__org_yaml_snakeyaml_2_2.xml new file mode 100644 index 0000000..d05e4a1 --- /dev/null +++ b/.idea/libraries/Maven__org_yaml_snakeyaml_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..604dfb3 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..2b59948 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/camera_rtsp.sql b/camera_rtsp.sql new file mode 100644 index 0000000..ee66e4e --- /dev/null +++ b/camera_rtsp.sql @@ -0,0 +1,84 @@ +/* + Navicat Premium Data Transfer + + Source Server : 10.51.10.122_3306 + Source Server Type : MySQL + Source Server Version : 80028 + Source Host : 10.51.10.122:3306 + Source Schema : camera_rtsp + + Target Server Type : MySQL + Target Server Version : 80028 + File Encoding : 65001 + + Date: 21/06/2024 10:23:31 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for algorithm +-- ---------------------------- +DROP TABLE IF EXISTS `algorithm`; +CREATE TABLE `algorithm` ( + `id` int NULL DEFAULT NULL, + `algorithm` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of algorithm +-- ---------------------------- +INSERT INTO `algorithm` VALUES (1, '行人检测'); +INSERT INTO `algorithm` VALUES (2, '车辆检测'); +INSERT INTO `algorithm` VALUES (3, '火焰检测'); +INSERT INTO `algorithm` VALUES (4, '疲劳检测'); +INSERT INTO `algorithm` VALUES (5, '烟雾检测'); +INSERT INTO `algorithm` VALUES (6, '人脸识别'); +INSERT INTO `algorithm` VALUES (7, '表情识别'); +INSERT INTO `algorithm` VALUES (8, 'OCR'); +INSERT INTO `algorithm` VALUES (9, '实例分割'); +INSERT INTO `algorithm` VALUES (10, '车道线检测'); +INSERT INTO `algorithm` VALUES (11, 'PCB缺陷检测'); +INSERT INTO `algorithm` VALUES (12, '遥感目标检测'); +INSERT INTO `algorithm` VALUES (13, '姿态检测'); +INSERT INTO `algorithm` VALUES (14, '未佩戴头盔检测'); +INSERT INTO `algorithm` VALUES (15, '口罩检测'); +INSERT INTO `algorithm` VALUES (16, '电动车检测'); +INSERT INTO `algorithm` VALUES (17, '手套检测'); +INSERT INTO `algorithm` VALUES (18, '肝脏图像分割'); +INSERT INTO `algorithm` VALUES (19, '反光衣检测'); +INSERT INTO `algorithm` VALUES (20, '使用手机检测'); +INSERT INTO `algorithm` VALUES (21, '语音识别'); +INSERT INTO `algorithm` VALUES (22, '红绿灯检测'); +INSERT INTO `algorithm` VALUES (23, '安全检测'); + +-- ---------------------------- +-- Table structure for camera +-- ---------------------------- +DROP TABLE IF EXISTS `camera`; +CREATE TABLE `camera` ( + `cameraID` int NOT NULL, + `cameraRtsp` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `camearLocation` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + PRIMARY KEY (`cameraID`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of camera +-- ---------------------------- +INSERT INTO `camera` VALUES (1, 'rtsp://192.168.30.18:8557/h264', '2楼北办公区1'); +INSERT INTO `camera` VALUES (2, 'rtsp://192.168.30.11:8557/h264', '1楼大厅电梯玻璃门'); +INSERT INTO `camera` VALUES (3, 'rtsp://192.168.30.12:8557/h264', '1楼办公区办公室'); +INSERT INTO `camera` VALUES (4, 'rtsp://192.168.30.13:8557/h264', '1楼大厅近强电井侧玻璃门'); +INSERT INTO `camera` VALUES (5, 'rtsp://192.168.30.14:8557/h264', '1楼办公区'); +INSERT INTO `camera` VALUES (6, 'rtsp://192.168.30.150:8557/h264', '1楼电梯玻璃门'); +INSERT INTO `camera` VALUES (7, 'rtsp://192.168.30.16:8557/h264', '1楼大厅朝外'); +INSERT INTO `camera` VALUES (8, 'rtsp://192.168.30.17:8557/h264', '1楼大厅朝大厅正门'); +INSERT INTO `camera` VALUES (9, 'rtsp://192.168.30.19:8557/h264', '1楼东办公区'); +INSERT INTO `camera` VALUES (10, 'rtsp://192.168.30.21:8557/h264', '2楼北办公区2'); +INSERT INTO `camera` VALUES (11, 'rtsp://192.168.30.23:8557/h264', '2楼南办公区2'); +INSERT INTO `camera` VALUES (12, 'rtsp://192.168.30.24:8557/h264', '2楼休息区'); +INSERT INTO `camera` VALUES (13, 'rtsp://192.168.30.22:8557/h264', '2楼南办公区1'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/sfj-backend/.idea/.gitignore b/sfj-backend/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/sfj-backend/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/sfj-backend/.idea/compiler.xml b/sfj-backend/.idea/compiler.xml new file mode 100644 index 0000000..855cbac --- /dev/null +++ b/sfj-backend/.idea/compiler.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/dataSources.xml b/sfj-backend/.idea/dataSources.xml new file mode 100644 index 0000000..12c0a0b --- /dev/null +++ b/sfj-backend/.idea/dataSources.xml @@ -0,0 +1,12 @@ + + + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306/sfj + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/sfj-backend/.idea/encodings.xml b/sfj-backend/.idea/encodings.xml new file mode 100644 index 0000000..a96d384 --- /dev/null +++ b/sfj-backend/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/jarRepositories.xml b/sfj-backend/.idea/jarRepositories.xml new file mode 100644 index 0000000..22e83c6 --- /dev/null +++ b/sfj-backend/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/leetcode/editor.xml b/sfj-backend/.idea/leetcode/editor.xml new file mode 100644 index 0000000..203fb9c --- /dev/null +++ b/sfj-backend/.idea/leetcode/editor.xml @@ -0,0 +1,207 @@ + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/leetcode/statistics.xml b/sfj-backend/.idea/leetcode/statistics.xml new file mode 100644 index 0000000..28be487 --- /dev/null +++ b/sfj-backend/.idea/leetcode/statistics.xml @@ -0,0 +1,20 @@ + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_14.xml b/sfj-backend/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_14.xml new file mode 100644 index 0000000..ac6986a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_14.xml b/sfj-backend/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_14.xml new file mode 100644 index 0000000..7a38623 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_25.xml b/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_25.xml new file mode 100644 index 0000000..1c55beb --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_25.xml b/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_25.xml new file mode 100644 index 0000000..3913683 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson_2_0_25.xml b/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson_2_0_25.xml new file mode 100644 index 0000000..b348431 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson_2_0_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_carrotsearch_thirdparty_simple_xml_safe_2_7_1.xml b/sfj-backend/.idea/libraries/Maven__com_carrotsearch_thirdparty_simple_xml_safe_2_7_1.xml new file mode 100644 index 0000000..a918945 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_carrotsearch_thirdparty_simple_xml_safe_2_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_fasterxml_classmate_1_6_0.xml b/sfj-backend/.idea/libraries/Maven__com_fasterxml_classmate_1_6_0.xml new file mode 100644 index 0000000..fb8a548 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_fasterxml_classmate_1_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_3.xml b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_3.xml new file mode 100644 index 0000000..b194d9d --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_3.xml b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_3.xml new file mode 100644 index 0000000..b1af432 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_3.xml b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_3.xml new file mode 100644 index 0000000..86cd658 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_3.xml b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_3.xml new file mode 100644 index 0000000..bffd290 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_3.xml b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_3.xml new file mode 100644 index 0000000..50fc069 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_3.xml b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_3.xml new file mode 100644 index 0000000..65bce52 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_6.xml b/sfj-backend/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_6.xml new file mode 100644 index 0000000..889972a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml b/sfj-backend/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml new file mode 100644 index 0000000..1c380d0 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_5_1.xml b/sfj-backend/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_5_1.xml new file mode 100644 index 0000000..800c4b4 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_5_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml b/sfj-backend/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml new file mode 100644 index 0000000..36e948e --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_google_guava_guava_30_1_1_jre.xml b/sfj-backend/.idea/libraries/Maven__com_google_guava_guava_30_1_1_jre.xml new file mode 100644 index 0000000..c937fa2 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_google_guava_guava_30_1_1_jre.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml b/sfj-backend/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml new file mode 100644 index 0000000..4e15702 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml b/sfj-backend/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml new file mode 100644 index 0000000..bacaa45 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml b/sfj-backend/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml new file mode 100644 index 0000000..2cb631f --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_1_0.xml b/sfj-backend/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_1_0.xml new file mode 100644 index 0000000..68368de --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_squareup_okhttp3_okhttp_4_12_0.xml b/sfj-backend/.idea/libraries/Maven__com_squareup_okhttp3_okhttp_4_12_0.xml new file mode 100644 index 0000000..f9d3d6b --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_squareup_okhttp3_okhttp_4_12_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_squareup_okio_okio_3_6_0.xml b/sfj-backend/.idea/libraries/Maven__com_squareup_okio_okio_3_6_0.xml new file mode 100644 index 0000000..0d9725c --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_squareup_okio_okio_3_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_squareup_okio_okio_jvm_3_6_0.xml b/sfj-backend/.idea/libraries/Maven__com_squareup_okio_okio_jvm_3_6_0.xml new file mode 100644 index 0000000..ec1ad85 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_squareup_okio_okio_jvm_3_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_4_1_2.xml b/sfj-backend/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_4_1_2.xml new file mode 100644 index 0000000..b7cd780 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_4_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml b/sfj-backend/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml new file mode 100644 index 0000000..b8581a6 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml b/sfj-backend/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml new file mode 100644 index 0000000..40ae747 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_12_1.xml b/sfj-backend/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_12_1.xml new file mode 100644 index 0000000..7d2821a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_12_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_12_1.xml b/sfj-backend/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_12_1.xml new file mode 100644 index 0000000..ceb1115 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_12_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__io_minio_minio_8_3_9.xml b/sfj-backend/.idea/libraries/Maven__io_minio_minio_8_3_9.xml new file mode 100644 index 0000000..ba443d7 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__io_minio_minio_8_3_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__io_smallrye_jandex_3_1_2.xml b/sfj-backend/.idea/libraries/Maven__io_smallrye_jandex_3_1_2.xml new file mode 100644 index 0000000..30f6f47 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__io_smallrye_jandex_3_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml b/sfj-backend/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml new file mode 100644 index 0000000..58afa68 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml b/sfj-backend/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml new file mode 100644 index 0000000..3f660ae --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__jakarta_inject_jakarta_inject_api_2_0_1.xml b/sfj-backend/.idea/libraries/Maven__jakarta_inject_jakarta_inject_api_2_0_1.xml new file mode 100644 index 0000000..2ac1a9b --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__jakarta_inject_jakarta_inject_api_2_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml b/sfj-backend/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml new file mode 100644 index 0000000..b5b2267 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml b/sfj-backend/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml new file mode 100644 index 0000000..605cbd9 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_1.xml b/sfj-backend/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_1.xml new file mode 100644 index 0000000..75d958a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_10.xml b/sfj-backend/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_10.xml new file mode 100644 index 0000000..4c5d9c6 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_10.xml b/sfj-backend/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_10.xml new file mode 100644 index 0000000..734884c --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__net_minidev_accessors_smart_2_5_0.xml b/sfj-backend/.idea/libraries/Maven__net_minidev_accessors_smart_2_5_0.xml new file mode 100644 index 0000000..67b8687 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__net_minidev_accessors_smart_2_5_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__net_minidev_json_smart_2_5_0.xml b/sfj-backend/.idea/libraries/Maven__net_minidev_json_smart_2_5_0.xml new file mode 100644 index 0000000..32246c4 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__net_minidev_json_smart_2_5_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_13_0.xml b/sfj-backend/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_13_0.xml new file mode 100644 index 0000000..cecaf8e --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml b/sfj-backend/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml new file mode 100644 index 0000000..49cd123 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_21_1.xml b/sfj-backend/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_21_1.xml new file mode 100644 index 0000000..ba17f0e --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_21_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_21_1.xml b/sfj-backend/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_21_1.xml new file mode 100644 index 0000000..30065dd --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_21_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_17.xml b/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_17.xml new file mode 100644 index 0000000..3468595 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_17.xml b/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_17.xml new file mode 100644 index 0000000..da8d99e --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_17.xml b/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_17.xml new file mode 100644 index 0000000..d7cebc9 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml new file mode 100644 index 0000000..6ac1c42 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_21.xml b/sfj-backend/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_21.xml new file mode 100644 index 0000000..af68770 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml b/sfj-backend/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml new file mode 100644 index 0000000..8fa9524 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_awaitility_awaitility_4_2_0.xml b/sfj-backend/.idea/libraries/Maven__org_awaitility_awaitility_4_2_0.xml new file mode 100644 index 0000000..cd03dd9 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_awaitility_awaitility_4_2_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_69.xml b/sfj-backend/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_69.xml new file mode 100644 index 0000000..004e4d3 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_69.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_checkerframework_checker_qual_3_8_0.xml b/sfj-backend/.idea/libraries/Maven__org_checkerframework_checker_qual_3_8_0.xml new file mode 100644 index 0000000..8c0570b --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_checkerframework_checker_qual_3_8_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_eclipse_angus_angus_activation_2_0_1.xml b/sfj-backend/.idea/libraries/Maven__org_eclipse_angus_angus_activation_2_0_1.xml new file mode 100644 index 0000000..166f6ae --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_eclipse_angus_angus_activation_2_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_4_0_4.xml b/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_4_0_4.xml new file mode 100644 index 0000000..2484f99 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_4_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_4_0_4.xml b/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_4_0_4.xml new file mode 100644 index 0000000..a453d90 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_4_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_txw2_4_0_4.xml b/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_txw2_4_0_4.xml new file mode 100644 index 0000000..81e19b6 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_txw2_4_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml b/sfj-backend/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml new file mode 100644 index 0000000..6b5496f --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml b/sfj-backend/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml new file mode 100644 index 0000000..f191f57 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_hibernate_orm_hibernate_core_6_4_1_Final.xml b/sfj-backend/.idea/libraries/Maven__org_hibernate_orm_hibernate_core_6_4_1_Final.xml new file mode 100644 index 0000000..1276831 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_hibernate_orm_hibernate_core_6_4_1_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_5_3_Final.xml b/sfj-backend/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_5_3_Final.xml new file mode 100644 index 0000000..d63874a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_5_3_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml b/sfj-backend/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml new file mode 100644 index 0000000..e2c8297 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml new file mode 100644 index 0000000..16385da --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_9_21.xml b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_9_21.xml new file mode 100644 index 0000000..0125d4a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml new file mode 100644 index 0000000..40be6cd --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml new file mode 100644 index 0000000..64d1fde --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_10_1.xml b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_10_1.xml new file mode 100644 index 0000000..6e86eeb --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_10_1.xml b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_10_1.xml new file mode 100644 index 0000000..3135587 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_10_1.xml b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_10_1.xml new file mode 100644 index 0000000..68b7903 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_10_1.xml b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_10_1.xml new file mode 100644 index 0000000..dad8df0 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_10_1.xml b/sfj-backend/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_10_1.xml new file mode 100644 index 0000000..a0f728d --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_10_1.xml b/sfj-backend/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_10_1.xml new file mode 100644 index 0000000..90b8509 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mockito_mockito_core_5_7_0.xml b/sfj-backend/.idea/libraries/Maven__org_mockito_mockito_core_5_7_0.xml new file mode 100644 index 0000000..99bc624 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mockito_mockito_core_5_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_7_0.xml b/sfj-backend/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_7_0.xml new file mode 100644 index 0000000..2b6be62 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mybatis_mybatis_3_5_14.xml b/sfj-backend/.idea/libraries/Maven__org_mybatis_mybatis_3_5_14.xml new file mode 100644 index 0000000..c16e264 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mybatis_mybatis_3_5_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_3.xml b/sfj-backend/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_3.xml new file mode 100644 index 0000000..5100020 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_3.xml b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_3.xml new file mode 100644 index 0000000..8a657ae --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_3.xml b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_3.xml new file mode 100644 index 0000000..538eb82 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_test_3_0_3.xml b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_test_3_0_3.xml new file mode 100644 index 0000000..39dbbb4 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_test_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_test_autoconfigure_3_0_3.xml b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_test_autoconfigure_3_0_3.xml new file mode 100644 index 0000000..06a391e --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_test_autoconfigure_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml b/sfj-backend/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml new file mode 100644 index 0000000..3a3576c --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_opentest4j_opentest4j_1_3_0.xml b/sfj-backend/.idea/libraries/Maven__org_opentest4j_opentest4j_1_3_0.xml new file mode 100644 index 0000000..87e7ec8 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_opentest4j_opentest4j_1_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml b/sfj-backend/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml new file mode 100644 index 0000000..ce5a26c --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_projectlombok_lombok_1_18_30.xml b/sfj-backend/.idea/libraries/Maven__org_projectlombok_lombok_1_18_30.xml new file mode 100644 index 0000000..291270e --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_projectlombok_lombok_1_18_30.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml b/sfj-backend/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml new file mode 100644 index 0000000..56582d6 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_9.xml b/sfj-backend/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_9.xml new file mode 100644 index 0000000..0baef43 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_9.xml b/sfj-backend/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_9.xml new file mode 100644 index 0000000..4a7ab1d --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_2_1.xml new file mode 100644 index 0000000..a38a657 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_2_1.xml new file mode 100644 index 0000000..e583437 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_2_1.xml new file mode 100644 index 0000000..cd1d1b5 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_3_2_1.xml new file mode 100644 index 0000000..8f5f333 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_3_2_1.xml new file mode 100644 index 0000000..7f8b4bb --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_2_1.xml new file mode 100644 index 0000000..5ba10a4 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_2_1.xml new file mode 100644 index 0000000..6bd2e7a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_2_1.xml new file mode 100644 index 0000000..5fdbce5 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_2_1.xml new file mode 100644 index 0000000..224d644 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_3_2_1.xml new file mode 100644 index 0000000..1b87070 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_2_1.xml new file mode 100644 index 0000000..8118a0c --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_2_1.xml new file mode 100644 index 0000000..91d5cd9 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_2_1.xml new file mode 100644 index 0000000..3eca095 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_2_1.xml new file mode 100644 index 0000000..f0a92cf --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_2_1.xml new file mode 100644 index 0000000..3b10baf --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_commons_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_commons_3_2_1.xml new file mode 100644 index 0000000..ccf2462 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_commons_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_3_2_1.xml new file mode 100644 index 0000000..532a7d2 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_3_2_1.xml new file mode 100644 index 0000000..cb1be44 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_relational_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_relational_3_2_1.xml new file mode 100644 index 0000000..40f5869 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_relational_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_config_6_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_config_6_2_1.xml new file mode 100644 index 0000000..88ded5f --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_config_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_core_6_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_core_6_2_1.xml new file mode 100644 index 0000000..c30851e --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_core_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_6_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_6_2_1.xml new file mode 100644 index 0000000..9dec22c --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_test_6_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_test_6_2_1.xml new file mode 100644 index 0000000..a539200 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_test_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_web_6_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_web_6_2_1.xml new file mode 100644 index 0000000..47d1870 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_web_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_aop_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_aop_6_1_2.xml new file mode 100644 index 0000000..ed9d6bf --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_aop_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_aspects_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_aspects_6_1_2.xml new file mode 100644 index 0000000..495a7b3 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_aspects_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_beans_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_beans_6_1_2.xml new file mode 100644 index 0000000..9732021 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_beans_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_context_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_context_6_1_2.xml new file mode 100644 index 0000000..7b2f4a6 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_context_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_core_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_core_6_1_2.xml new file mode 100644 index 0000000..ae33ff2 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_core_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_expression_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_expression_6_1_2.xml new file mode 100644 index 0000000..a4053a6 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_expression_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_jcl_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_jcl_6_1_2.xml new file mode 100644 index 0000000..45ce026 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_jcl_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_jdbc_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_jdbc_6_1_2.xml new file mode 100644 index 0000000..2e22420 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_jdbc_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_orm_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_orm_6_1_2.xml new file mode 100644 index 0000000..17e5921 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_orm_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_test_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_test_6_1_2.xml new file mode 100644 index 0000000..6389a3a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_test_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_tx_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_tx_6_1_2.xml new file mode 100644 index 0000000..64877af --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_tx_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_web_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_web_6_1_2.xml new file mode 100644 index 0000000..8c0b774 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_web_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_webmvc_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_webmvc_6_1_2.xml new file mode 100644 index 0000000..c3cc0ba --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_webmvc_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_8_4.xml b/sfj-backend/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_8_4.xml new file mode 100644 index 0000000..e3db53d --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_8_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml b/sfj-backend/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml new file mode 100644 index 0000000..e2f6d14 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_yaml_snakeyaml_2_2.xml b/sfj-backend/.idea/libraries/Maven__org_yaml_snakeyaml_2_2.xml new file mode 100644 index 0000000..998e133 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_yaml_snakeyaml_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/misc.xml b/sfj-backend/.idea/misc.xml new file mode 100644 index 0000000..0b8b341 --- /dev/null +++ b/sfj-backend/.idea/misc.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/modules.xml b/sfj-backend/.idea/modules.xml new file mode 100644 index 0000000..d5c4605 --- /dev/null +++ b/sfj-backend/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/uiDesigner.xml b/sfj-backend/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/sfj-backend/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/vcs.xml b/sfj-backend/.idea/vcs.xml new file mode 100644 index 0000000..2e3f692 --- /dev/null +++ b/sfj-backend/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/sfj-backend/sfj-project-backend/.gitignore b/sfj-backend/sfj-project-backend/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/sfj-backend/sfj-project-backend/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/sfj-backend/sfj-project-backend/pom.xml b/sfj-backend/sfj-project-backend/pom.xml new file mode 100644 index 0000000..d0cf0a1 --- /dev/null +++ b/sfj-backend/sfj-project-backend/pom.xml @@ -0,0 +1,111 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.2.1 + + + com.upsfj + sfj-project-backend + 0.0.1-SNAPSHOT + sfj-project-backend + sfj-project-backend + + 17 + + + + org.springframework.boot + spring-boot-starter-data-jdbc + + + org.springframework.boot + spring-boot-starter-security + + + org.springframework.boot + spring-boot-starter-web + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 3.0.3 + + + + com.mysql + mysql-connector-j + runtime + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.mybatis.spring.boot + mybatis-spring-boot-starter-test + 3.0.3 + test + + + org.springframework.security + spring-security-test + test + + + com.alibaba + fastjson + 2.0.25 + + + org.springframework.boot + spring-boot-starter-data-jpa + + + io.minio + minio + 8.3.9 + + + + + + + + + + + jakarta.persistence + jakarta.persistence-api + + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/SfjProjectBackendApplication.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/SfjProjectBackendApplication.java new file mode 100644 index 0000000..6c316b2 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/SfjProjectBackendApplication.java @@ -0,0 +1,13 @@ +package com.upsfj.sfjprojectbackend; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class SfjProjectBackendApplication { + + public static void main(String[] args) { + SpringApplication.run(SfjProjectBackendApplication.class, args); + } + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/CorsConfig.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/CorsConfig.java new file mode 100644 index 0000000..77d75b8 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/CorsConfig.java @@ -0,0 +1,25 @@ +package com.upsfj.sfjprojectbackend.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class CorsConfig implements WebMvcConfigurer { + + @Override + public void addCorsMappings(CorsRegistry registry) { + // 设置允许跨域的路径 + registry.addMapping("/**") + // 设置允许跨域请求的域名 + .allowedOriginPatterns("*") + // 是否允许cookie + .allowCredentials(true) + // 设置允许的请求方式 + .allowedMethods("GET", "POST", "DELETE", "PUT") + // 设置允许的header属性 + .allowedHeaders("*") + // 跨域允许时间 + .maxAge(5000); + } +} \ No newline at end of file diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/MinioConfiguration.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/MinioConfiguration.java new file mode 100644 index 0000000..e8735c9 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/MinioConfiguration.java @@ -0,0 +1,19 @@ +package com.upsfj.sfjprojectbackend.config; + +import io.minio.MinioClient; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class MinioConfiguration { + + @Bean + public MinioClient client(){ + return MinioClient.builder() + .endpoint("http://localhost:9000") + .credentials("minioadmin","minioadmin") + .build(); + } + + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/SecurityConfiguration.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/SecurityConfiguration.java new file mode 100644 index 0000000..7256aac --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/SecurityConfiguration.java @@ -0,0 +1,87 @@ +package com.upsfj.sfjprojectbackend.config; + +import com.alibaba.fastjson.JSONObject; +import com.upsfj.sfjprojectbackend.entity.RestBean; +import com.upsfj.sfjprojectbackend.service.AuthorizeService; +import jakarta.annotation.Resource; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.web.SecurityFilterChain; +import org.springframework.security.web.authentication.AuthenticationEntryPointFailureHandler; +import org.springframework.security.web.authentication.AuthenticationFailureHandler; +import org.springframework.security.web.authentication.AuthenticationSuccessHandler; + +import java.io.IOException; + +@Configuration +@EnableWebSecurity +public class SecurityConfiguration { + @Resource + AuthorizeService authorizeService; + + + @Bean + public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { + return httpSecurity + .authorizeHttpRequests() + .requestMatchers("/api/algorithm/**","/api/field/**","/api/use/**","/api/file/**","/api/auth/**").permitAll() + .anyRequest().authenticated() + .and() + .formLogin() + .loginProcessingUrl("/api/auth/login") + .successHandler(this::onAuthenticationSuccess) + .failureHandler(this::onAuthenticationFailure) + .and() + .logout() + .logoutUrl("/api/auth/logout") + .logoutSuccessHandler(this::onAuthenticationSuccess) + .and() + .csrf() + .disable() + .exceptionHandling() + .authenticationEntryPoint(this::onAuthenticationFailure) + .and() + .build(); + } + @Bean + public AuthenticationManager authenticationManager(HttpSecurity security) throws Exception{ + return security + .getSharedObject(AuthenticationManagerBuilder.class) + .userDetailsService(authorizeService) + .and() + .build(); + } + @Bean + public BCryptPasswordEncoder passwordEncoder(){ + return new BCryptPasswordEncoder(); + } + + + public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { + response.setCharacterEncoding("utf-8"); + if (request.getRequestURI().endsWith("/login")){ + response.getWriter().write(JSONObject.toJSONString(RestBean.success("登录成功"))); + }else { + response.getWriter().write(JSONObject.toJSONString(RestBean.success("退出成功"))); + } + + } + public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException { + response.setCharacterEncoding("utf-8"); + response.getWriter().write(JSONObject.toJSONString(RestBean.failure(401,exception.getMessage()))); + } + + + + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/WebConfiguration.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/WebConfiguration.java new file mode 100644 index 0000000..21131bc --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/WebConfiguration.java @@ -0,0 +1,20 @@ +//package com.upsfj.sfjprojectbackend.config; +// +//import com.upsfj.sfjprojectbackend.interceptor.AuthorizeInterceptor; +//import jakarta.annotation.Resource; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +//@Configuration +//public class WebConfiguration implements WebMvcConfigurer { +// @Resource +// AuthorizeInterceptor interceptor; +// +// +// @Override +// public void addInterceptors(InterceptorRegistry registry) { +// registry +// .addInterceptor(interceptor) +// .addPathPatterns("/**"); +// } +//} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/AlgorithmController.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/AlgorithmController.java new file mode 100644 index 0000000..bed44c2 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/AlgorithmController.java @@ -0,0 +1,95 @@ +package com.upsfj.sfjprojectbackend.controller; + + +import com.upsfj.sfjprojectbackend.entity.*; +import com.upsfj.sfjprojectbackend.service.impl.AlgorithmServiceImpl; +import jakarta.annotation.Resource; +import org.springframework.http.ResponseEntity; +import org.springframework.security.core.userdetails.UserCache; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +@RestController +@RequestMapping("/api/algorithm") +public class AlgorithmController { + @Resource + AlgorithmServiceImpl algorithmService; + + + @GetMapping("/findall") + public List getAllAlgorithms(){ + List algorithms = algorithmService.getAllAlgorithms(); + for (Algorithm algorithm:algorithms){ +// System.out.println(algorithm); +// System.out.println(algorithm.getFieldStr()); + String fieldStr = algorithm.getFieldStr(); + String useStr = algorithm.getUserStr(); + List fieldList = Arrays.asList(fieldStr.split(",")); + List useList = Arrays.asList(useStr.split(",")); + algorithm.setUseList(useList); + algorithm.setFieldList(fieldList); + } +// for (Algorithm algorithm : algorithms){ +// System.out.println(algorithm); +// } +// for (Algorithm algorithm : algorithms){ +// List algorithmFields = (List) algorithm.getAlgorithmFields(); +// System.out.println("输出algorithmFields"); +// System.out.println(algorithmFields); +// String fields = (String) algorithmFields +// .stream() +// .map(field -> field.getField().toString()) +// .collect(Collectors.joining(",")); +// +//// algorithm.setAlgorithmFields(fields); +// +// List algorithmUserCases = (List) algorithm.getAlgorithmUserCases(); +// String useCases = algorithmUserCases.stream() +// .map(userCase -> userCase.getUsecase().toString()) +// .collect(Collectors.joining(",")); +// +// } + + return algorithms; + } + + @GetMapping("/findfield") + public List getAllField(){ + return algorithmService.getAllField(); + } + + + @GetMapping("/finduse") + public List getAllUsecase(){ + return algorithmService.getAllUsecase(); + } + + + @PostMapping("/updateAlgorithm") + public ResponseEntity updateAlgorithm(@RequestBody Algorithm algorithm){ + System.out.println("打印接收值"); + System.out.println(algorithm); + algorithmService.updateAlgorithm(algorithm); + + + return ResponseEntity.ok().build(); + } + + @PostMapping("/addAlgorithm") + public ResponseEntity addAlgorithm(@RequestBody Algorithm algorithm){ + algorithmService.addAlgorithm(algorithm); + return ResponseEntity.ok().build(); + } + + @PostMapping("/deleteAlgorithm") + public ResponseEntity deleteAlgorithm(@RequestBody Algorithm algorithm){ + algorithmService.deleteAlgorithm(algorithm); + return ResponseEntity.ok().build(); + } + + + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/FieldController.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/FieldController.java new file mode 100644 index 0000000..56f3fe9 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/FieldController.java @@ -0,0 +1,33 @@ +package com.upsfj.sfjprojectbackend.controller; + + +import com.upsfj.sfjprojectbackend.entity.Algorithm; +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.service.impl.FieldServiceImpl; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/field") +public class FieldController { + @Resource + FieldServiceImpl fieldService; + + @PostMapping("/addField") + public void addField(@RequestBody Field field){ + fieldService.addField(field.getField_name()); + } + + @PostMapping("/updateField") + public void updateField(@RequestBody Field field){ + fieldService.updateField(field); + } + + @PostMapping("/deleteField") + public void deleteField(@RequestBody Field field){ + fieldService.deleteField(field); + } +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/FileController.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/FileController.java new file mode 100644 index 0000000..5864470 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/FileController.java @@ -0,0 +1,60 @@ +package com.upsfj.sfjprojectbackend.controller; + +import com.upsfj.sfjprojectbackend.mapper.AlgorithmMapper; +import io.minio.GetObjectArgs; +import io.minio.GetObjectResponse; +import io.minio.MinioClient; +import io.minio.PutObjectArgs; +import io.minio.errors.*; +import jakarta.annotation.Resource; +import jakarta.servlet.ServletOutputStream; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.io.InputStream; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.util.UUID; + +@RestController +@RequestMapping("/api/file") +public class FileController { + @Resource + MinioClient client; + + @Resource + AlgorithmMapper algorithmMapper; + + @PostMapping("/upload") + public String upload(@RequestParam("file")MultipartFile file,@RequestParam("algorithm_id") Integer algorithm_id) throws IOException, ServerException, InsufficientDataException, ErrorResponseException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException { + System.out.println(file); + System.out.println(algorithm_id); + InputStream stream = file.getInputStream(); + String name = UUID.randomUUID().toString()+".jpg"; + PutObjectArgs args = PutObjectArgs.builder() + .bucket("algorithm") + .object(name) + .stream(stream, file.getSize(), -1) + .contentType("image/jpeg") + .build(); + + client.putObject(args); +// name = +name; + if (algorithm_id != 999){ + algorithmMapper.updateAlgorithmImg("http://localhost:9000/algorithm/"+name,algorithm_id); + } + + return name; + } + + @GetMapping("/getimg/{name}") + public void file(@PathVariable("name") String name, HttpServletResponse response) throws Exception{ + GetObjectResponse object = client.getObject(GetObjectArgs.builder().bucket("algorithm").object(name).build()); + ServletOutputStream stream = response.getOutputStream(); +// response.setContentType(object.contentType()); + stream.write(object.readAllBytes()); + + } +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/LoginController.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/LoginController.java new file mode 100644 index 0000000..06a1309 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/LoginController.java @@ -0,0 +1,28 @@ +package com.upsfj.sfjprojectbackend.controller; + +import com.upsfj.sfjprojectbackend.entity.RestBean; +import com.upsfj.sfjprojectbackend.entity.user.AccountUser; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/* + *文件名: LoginController + *创建者: LuoYiWang + *创建时间:2024/3/29 20:55 + *描述: + */ +@RestController +@RequestMapping("/api/auth") +public class LoginController { + + @PostMapping("/login") + public RestBean login(@RequestBody AccountUser accountUser){ +// System.out.println(accountUser.toString()); + + return RestBean.success(); + } + + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/UseController.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/UseController.java new file mode 100644 index 0000000..c1897de --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/UseController.java @@ -0,0 +1,37 @@ +package com.upsfj.sfjprojectbackend.controller; + +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.entity.UseCase; +import com.upsfj.sfjprojectbackend.service.impl.FieldServiceImpl; +import com.upsfj.sfjprojectbackend.service.impl.UsecaseServiceImpl; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/use") +public class UseController { + @Resource + UsecaseServiceImpl usecaseService; + + @PostMapping("/addUse") + public void addField(@RequestBody UseCase useCase){ + usecaseService.addUsecase(useCase.getUsecase_name()); + } + + + + @PostMapping("/updateUse") + public void updateField(@RequestBody UseCase useCase){ + usecaseService.updateUsecase(useCase); + } + + @PostMapping("/deleteUse") + public void deleteField(@RequestBody UseCase useCase){ + usecaseService.deleteUsecase(useCase); + } + + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/UserController.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/UserController.java new file mode 100644 index 0000000..7b064b4 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/UserController.java @@ -0,0 +1,19 @@ +package com.upsfj.sfjprojectbackend.controller; + + +import com.upsfj.sfjprojectbackend.entity.RestBean; +import com.upsfj.sfjprojectbackend.entity.user.AccountUser; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.SessionAttribute; + +@RestController +@RequestMapping("/api/user") +public class UserController { + @GetMapping("/me") + public RestBean me(@SessionAttribute("account") AccountUser user){ + return RestBean.success(user); + } + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/Algorithm.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/Algorithm.java new file mode 100644 index 0000000..eda1a06 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/Algorithm.java @@ -0,0 +1,39 @@ +package com.upsfj.sfjprojectbackend.entity; + +import jakarta.persistence.*; +import lombok.Data; +import org.springframework.data.relational.core.mapping.Table; + +import java.util.List; +import java.util.Set; + +@Data +@Entity +@Table(name = "sfj_algorithms") +public class Algorithm { + + @Id + int algorithm_id; + String algorithm_name; + String algorithm_img; + String algorithm_coder; + @Column(columnDefinition = "TEXT") + String algorithm_description; + +// +// @OneToMany() + + @Column(name = "algorithmFields") + String fieldStr; + @Column(name = "algorithmUserCases") + String userStr; + @Transient + List fieldList; + @Transient + List useList; + + @OneToMany(mappedBy = "algorithm") + Set algorithmFields; + @OneToMany(mappedBy = "algorithm") + Set algorithmUserCases; +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmField.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmField.java new file mode 100644 index 0000000..4a493ae --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmField.java @@ -0,0 +1,25 @@ +package com.upsfj.sfjprojectbackend.entity; + +import jakarta.persistence.*; +import lombok.Data; +import org.springframework.data.relational.core.mapping.Table; + +@Data +@Entity +@Table(name = "sfj_algorithm_field") +@IdClass(AlgorithmFieldId.class) + +public class AlgorithmField { + + @Id + @ManyToOne + @JoinColumn(name = "algorithm_id") + Algorithm algorithm; + + + @Id + @ManyToOne + @JoinColumn(name = "field_id") + Field field; + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmFieldDescription.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmFieldDescription.java new file mode 100644 index 0000000..eef956d --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmFieldDescription.java @@ -0,0 +1,7 @@ +package com.upsfj.sfjprojectbackend.entity; + +import lombok.Data; + +@Data +public class AlgorithmFieldDescription { +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmFieldId.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmFieldId.java new file mode 100644 index 0000000..5f23273 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmFieldId.java @@ -0,0 +1,13 @@ +package com.upsfj.sfjprojectbackend.entity; + +import lombok.Data; + +import java.io.Serializable; +@Data +public class AlgorithmFieldId implements Serializable { +// int algorithm_id; +// int field_id; + + Algorithm algorithm; + Field field; +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmUseCaseId.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmUseCaseId.java new file mode 100644 index 0000000..4298ff4 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmUseCaseId.java @@ -0,0 +1,14 @@ +package com.upsfj.sfjprojectbackend.entity; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AlgorithmUseCaseId implements Serializable { +// int algorithm_id; +// int usecase_id; + + Algorithm algorithm; + UseCase usecase; +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmUserCase.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmUserCase.java new file mode 100644 index 0000000..28b0b0e --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmUserCase.java @@ -0,0 +1,26 @@ +package com.upsfj.sfjprojectbackend.entity; + +import jakarta.persistence.*; +import lombok.Data; +import org.springframework.data.relational.core.mapping.Table; + +@Data +@Entity +@Table(name = "sfj_algorithm_usecases") +@IdClass(AlgorithmUseCaseId.class) +public class AlgorithmUserCase { + @Id + @ManyToOne + @JoinColumn(name = "algorithm_id") + Algorithm algorithm; + + @Id + @ManyToOne + @JoinColumn(name = "usecase_id") + UseCase usecase; + + + @Column(columnDefinition = "TEXT") + String description; + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/Field.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/Field.java new file mode 100644 index 0000000..4304607 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/Field.java @@ -0,0 +1,21 @@ +package com.upsfj.sfjprojectbackend.entity; + +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; +import lombok.Data; +import org.springframework.data.relational.core.mapping.Table; + +import java.util.Set; + +@Data +@Entity +@Table(name = "sfj_field") +public class Field { + @Id + int field_id; + String field_name; + + @OneToMany(mappedBy = "field") + Set algorithemFields; +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/RestBean.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/RestBean.java new file mode 100644 index 0000000..7993c2a --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/RestBean.java @@ -0,0 +1,32 @@ +package com.upsfj.sfjprojectbackend.entity; + +import lombok.Data; + +@Data +public class RestBean { + private int status; + private boolean success; + private T message; + + + private RestBean(int status,boolean success,T message){ + this.status = status; + this.success = success; + this.message = message; + } + + public static RestBean success(){ + return new RestBean<>(200,true,null); + } + public static RestBean success(T data){ + return new RestBean<>(200,true,data); + } + public static RestBean failure(int status){ + return new RestBean<>(status,false,null); + } + + public static RestBean failure(int status,T data){ + return new RestBean<>(status,false,data); + } + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/UseCase.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/UseCase.java new file mode 100644 index 0000000..44d78c0 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/UseCase.java @@ -0,0 +1,22 @@ +package com.upsfj.sfjprojectbackend.entity; + +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; +import lombok.Data; +import org.springframework.data.relational.core.mapping.Table; + +import java.util.Set; + +@Data +@Table(name = "sfj_usecase") +@Entity +public class UseCase { + @Id + int usecase_id; + + String usecase_name; + + @OneToMany(mappedBy = "usecase") + Set algorithmUserCases; +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/auth/AccountBean.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/auth/AccountBean.java new file mode 100644 index 0000000..14c73fd --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/auth/AccountBean.java @@ -0,0 +1,19 @@ +package com.upsfj.sfjprojectbackend.entity.auth; + + +import lombok.Data; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; + +@Data +public class AccountBean { + int id; + String username; + String password; + String email; + + public String getPassword() { + BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); +// System.out.println(encoder.encode("123456")); + return encoder.encode(password); + } +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/user/AccountUser.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/user/AccountUser.java new file mode 100644 index 0000000..5f8bbc4 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/user/AccountUser.java @@ -0,0 +1,10 @@ +package com.upsfj.sfjprojectbackend.entity.user; + +import lombok.Data; + +@Data +public class AccountUser { + int id; + String username; + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/interceptor/AuthorizeInterceptor.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/interceptor/AuthorizeInterceptor.java new file mode 100644 index 0000000..e235f76 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/interceptor/AuthorizeInterceptor.java @@ -0,0 +1,37 @@ +//package com.upsfj.sfjprojectbackend.interceptor; +// +//import com.upsfj.sfjprojectbackend.entity.user.AccountUser; +//import com.upsfj.sfjprojectbackend.mapper.UserMapper; +//import jakarta.annotation.Resource; +//import jakarta.servlet.http.HttpServletRequest; +//import jakarta.servlet.http.HttpServletResponse; +//import org.springframework.security.core.Authentication; +//import org.springframework.security.core.context.SecurityContext; +//import org.springframework.security.core.context.SecurityContextHolder; +//import org.springframework.security.core.userdetails.User; +//import org.springframework.stereotype.Component; +//import org.springframework.web.servlet.HandlerInterceptor; +//@Component +//public class AuthorizeInterceptor implements HandlerInterceptor{ +// @Resource +// UserMapper mapper; +// +// +// @Override +// public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { +//// SecurityContext context = SecurityContextHolder.getContext(); +//// Authentication authentication = context.getAuthentication(); +////// System.out.println(authentication.getPrincipal()); +//// if (authentication.isAuthenticated()) { +//// User user = (User) authentication.getPrincipal(); +//// String username = user.getUsername(); +//// AccountUser accountUser = mapper.fingAccountUserByName(username); +//// request.getSession().setAttribute("account", accountUser); +//// return true; +//// } +//// return false; +// return true; +// +// +// } +//} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/AlgorithmMapper.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/AlgorithmMapper.java new file mode 100644 index 0000000..deb1178 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/AlgorithmMapper.java @@ -0,0 +1,114 @@ +package com.upsfj.sfjprojectbackend.mapper; + +import com.upsfj.sfjprojectbackend.entity.Algorithm; +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.entity.UseCase; +import org.apache.ibatis.annotations.*; +import org.springframework.data.relational.core.sql.In; + +import java.util.List; + +@Mapper +public interface AlgorithmMapper { +// 查询算法的所有相关信息 + @Select("SELECT \n" + + " a.algorithm_id, \n" + + " a.algorithm_name, \n" + + " a.algorithm_description, \n" + + " a.algorithm_img, \n" + + " a.algorithm_coder, \n" + + " GROUP_CONCAT(DISTINCT i.field_name) AS algorithmFields, \n" + + " GROUP_CONCAT(DISTINCT uc.usecase_name) AS algorithmUserCases\n" + + "FROM \n" + + " sfj_algorithms a \n" + + "LEFT JOIN \n" + + " sfj_algorithm_field ai ON a.algorithm_id = ai.algorithm_id \n" + + "LEFT JOIN \n" + + " sfj_field i ON ai.field_id = i.field_id \n" + + "LEFT JOIN \n" + + " sfj_algorithm_usecases auc ON a.algorithm_id = auc.algorithm_id \n" + + "LEFT JOIN \n" + + " sfj_usecase uc ON auc.usecase_id = uc.usecase_id\n" + + "GROUP BY \n" + + " a.algorithm_id;") + @Results({ + @Result(property = "algorithm_id", column = "algorithm_id"), + @Result(property = "algorithm_name", column = "algorithm_name"), + @Result(property = "algorithm_description", column = "algorithm_description"), + @Result(property = "algorithm_img", column = "algorithm_img"), + @Result(property = "algorithm_coder", column = "algorithm_coder"), + @Result(property = "fieldStr", column = "algorithmFields"), + @Result(property = "userStr", column = "algorithmUserCases") + }) + List findAllAlgorithm(); + + +// + + @Select("select * from sfj_field") + List findAllField(); + + +// @Select("select ") + + + + + @Select("select * from sfj_usecase") + List findAllUseCase(); + + + @Update("UPDATE sfj_algorithms SET algorithm_name=#{algorithm_name},algorithm_description=#{algorithm_description} ,algorithm_coder=#{algorithm_coder}WHERE algorithm_id=#{algorithm_id}") + void updateAlgorithmById(Algorithm algorithm); + + @Insert("INSERT INTO sfj_algorithms(algorithm_id,algorithm_name,algorithm_description,algorithm_img,algorithm_coder) VALUES(#{algorithm_id},#{algorithm_name},#{algorithm_description},#{algorithm_img},#{algorithm_coder})") + void addAlgorithm(Algorithm algorithm); + + @Delete("DELETE FROM sfj_algorithms WHERE algorithm_id=#{algorithm_id}") + void deleteAlgorithm(Algorithm algorithm); + + + + @Delete("DELETE FROM sfj_algorithm_field WHERE algorithm_id=#{algorithm_id} AND field_id=#{field_id}") + void deleteFieldForAlgorithm(@Param("algorithm_id") int algorithmId,@Param("field_id") int fieldId); + + @Insert("INSERT INTO sfj_algorithm_field(algorithm_id, field_id) VALUES(#{algorithm_id}, #{field_id})") + void addFieldForAlgorithm(@Param("algorithm_id") int algorithmId,@Param("field_id") int fieldId); + + + @Select("SELECT field_id FROM sfj_algorithm_field WHERE algorithm_id=#{algorithm_id}") + List getFieldIdsForAlgorithm(int algorithmId); + + + @Select("select field_id from sfj_field where field_name=#{name}") + Integer findFieldIdByName(String name); + + @Select("SELECT COUNT(*) FROM sfj_algorithms") + Integer getAlgorithmCount(); + + + @Delete("DELETE FROM sfj_algorithm_usecases WHERE algorithm_id=#{algorithm_id} AND usecase_id=#{use_id}") + void deleteUSeForAlgorithm(@Param("algorithm_id") int algorithmId,@Param("use_id") int usecaseId); + + + @Insert("INSERT INTO sfj_algorithm_usecases(algorithm_id, usecase_id) VALUES(#{algorithm_id}, #{use_id})") + void addUseForAlgorithm(@Param("algorithm_id") int algorithmId,@Param("use_id") int usecaseId); + + @Select("SELECT usecase_id FROM sfj_algorithm_usecases WHERE algorithm_id=#{algorithmId}") + List getUseIdForAlgorithm(int algorithmId); + + @Select("select usecase_id from sfj_usecase where usecase_name=#{name}") + Integer findUseIdByName(String name); + +// +// @Insert("INSERT INTO sfj_algorithms(algorithm_img) VALUES(#{algorithm_img})") +// void addAlgorithmImg(String algorithm_img); +// +// + @Update("UPDATE sfj_algorithms SET algorithm_img=#{algorithm_img} WHERE algorithm_id=#{algorithm_id}" ) + void updateAlgorithmImg(String algorithm_img,Integer algorithm_id); + + + + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/FieldMapper.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/FieldMapper.java new file mode 100644 index 0000000..500c83e --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/FieldMapper.java @@ -0,0 +1,27 @@ +package com.upsfj.sfjprojectbackend.mapper; + + +import com.upsfj.sfjprojectbackend.entity.Field; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Update; + +@Mapper +public interface FieldMapper { + + @Insert("INSERT INTO sfj_field (field_name) VALUES (#{field_name}) ") + void AddField(String field_name); + + + @Update("UPDATE sfj_field SET field_name=#{field_name} WHERE field_id = #{field_id}") + void UpdateField(Field field); + + + @Delete("DELETE FROM sfj_field WHERE field_id = #{field_id}") + void DeleteField(Field field); + + + @Delete("DELETE FROM sfj_algorithm_field WHERE field_id = #{field_id}") + void DeleteAlgorithmForField(Field field); +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/UseMapper.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/UseMapper.java new file mode 100644 index 0000000..66f4e0b --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/UseMapper.java @@ -0,0 +1,29 @@ +package com.upsfj.sfjprojectbackend.mapper; + + +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.entity.UseCase; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Update; + +@Mapper +public interface UseMapper { + @Insert("INSERT INTO sfj_usecase (usecase_name) VALUES (#{usecase_name}) ") + void AddUsecase(String usecase_name); + + + @Update("UPDATE sfj_usecase SET usecase_name=#{usecase_name} WHERE usecase_id = #{usecase_id}") + void UpdateUsecase(UseCase usecase); + + + @Delete("DELETE FROM sfj_usecase WHERE usecase_id = #{usecase_id}") + void DeleteUsecase(UseCase usecase); + + + @Delete("DELETE FROM sfj_algorithm_usecases WHERE usecase_id = #{usecase_id}") + void DeleteAlgorithmForUse(UseCase usecase); + + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/UserMapper.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/UserMapper.java new file mode 100644 index 0000000..124f16c --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/UserMapper.java @@ -0,0 +1,17 @@ +package com.upsfj.sfjprojectbackend.mapper; + +import com.upsfj.sfjprojectbackend.entity.auth.AccountBean; +import com.upsfj.sfjprojectbackend.entity.user.AccountUser; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +@Mapper +public interface UserMapper { + + @Select("select * from sfj_account where username = #{text} ") + AccountUser fingAccountUserByName(String text); + + + @Select("select * from sfj_account where username = #{text} or email = #{text}") + AccountBean findAccountByNameOrEmail(String text); +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/AlgorithmService.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/AlgorithmService.java new file mode 100644 index 0000000..dcb3335 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/AlgorithmService.java @@ -0,0 +1,25 @@ +package com.upsfj.sfjprojectbackend.service; + +import com.upsfj.sfjprojectbackend.entity.Algorithm; +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.entity.UseCase; + +import java.util.List; + +public interface AlgorithmService { + +// 获取算法具体的所有信息 + public List getAllAlgorithms(); +// 获取所有的应用领域 + + public List getAllField(); + + + public List getAllUsecase(); + + public void updateAlgorithm(Algorithm algorithm); + + public void addAlgorithm(Algorithm algorithm); + + public void deleteAlgorithm(Algorithm algorithm); +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/AuthorizeService.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/AuthorizeService.java new file mode 100644 index 0000000..805eac8 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/AuthorizeService.java @@ -0,0 +1,37 @@ +package com.upsfj.sfjprojectbackend.service; + +import com.upsfj.sfjprojectbackend.entity.auth.AccountBean; +import com.upsfj.sfjprojectbackend.mapper.UserMapper; +import jakarta.annotation.Resource; +import org.springframework.security.core.userdetails.User; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.stereotype.Service; + + +@Service +public class AuthorizeService implements UserDetailsService { + + @Resource + UserMapper mapper; + + + @Override + public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { + if (username == null) + throw new UsernameNotFoundException("用户名不能为空"); + AccountBean account = mapper.findAccountByNameOrEmail(username); +// System.out.println(account); + if (account == null) + throw new UsernameNotFoundException("用户名或密码错误"); + return User + + .withUsername(account.getUsername()) + .password(account.getPassword()) + .roles("user") + .build(); + + + } +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/FieldService.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/FieldService.java new file mode 100644 index 0000000..81aebf4 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/FieldService.java @@ -0,0 +1,14 @@ +package com.upsfj.sfjprojectbackend.service; + +import com.upsfj.sfjprojectbackend.entity.Field; + +public interface FieldService { + + public void addField(String fieldName); + + + public void updateField(Field field); + + + public void deleteField(Field field); +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/UsecaseService.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/UsecaseService.java new file mode 100644 index 0000000..135e61e --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/UsecaseService.java @@ -0,0 +1,15 @@ +package com.upsfj.sfjprojectbackend.service; + +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.entity.UseCase; + +public interface UsecaseService { + + public void addUsecase(String usecaseName); + + + public void updateUsecase(UseCase usecase); + + + public void deleteUsecase(UseCase usecase); +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/AlgorithmServiceImpl.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/AlgorithmServiceImpl.java new file mode 100644 index 0000000..4f088be --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/AlgorithmServiceImpl.java @@ -0,0 +1,141 @@ +package com.upsfj.sfjprojectbackend.service.impl; + +import com.upsfj.sfjprojectbackend.entity.Algorithm; +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.entity.UseCase; +import com.upsfj.sfjprojectbackend.mapper.AlgorithmMapper; +import com.upsfj.sfjprojectbackend.service.AlgorithmService; +import jakarta.annotation.Resource; +import jakarta.persistence.Transient; +import jakarta.transaction.Transactional; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +@Service +public class AlgorithmServiceImpl implements AlgorithmService { + @Resource + AlgorithmMapper algorithmMapper; + + + + @Override + public List getAllAlgorithms() { + return algorithmMapper.findAllAlgorithm(); + } + + @Override + public List getAllField() { + return algorithmMapper.findAllField(); + } + + @Override + public List getAllUsecase() { + return algorithmMapper.findAllUseCase(); + } + + @Override + @Transactional + public void updateAlgorithm(Algorithm algorithm) { + algorithmMapper.updateAlgorithmById(algorithm); + + List oldFieldId = algorithmMapper.getFieldIdsForAlgorithm(algorithm.getAlgorithm_id()); + + List fieldList = algorithm.getFieldList(); + List fieldIdList = new ArrayList<>(); + +// 根据名字 创建最新的field id列表 + for (String fieldName : fieldList){ + Integer fieldId = algorithmMapper.findFieldIdByName(fieldName); + fieldIdList.add(fieldId); + } +// 删除不再关联的field + for (Integer fieldId :oldFieldId){ + if (!fieldIdList.contains(fieldId)){ + algorithmMapper.deleteFieldForAlgorithm(algorithm.getAlgorithm_id(), fieldId); + } + } +// 添加关联的field + for (Integer field : fieldIdList){ + if (!oldFieldId.contains(field)){ + algorithmMapper.addFieldForAlgorithm(algorithm.getAlgorithm_id(), field); + } + } + +// 下面对use的处理也是类似 + List oldUseList = algorithmMapper.getUseIdForAlgorithm(algorithm.getAlgorithm_id()); + + List useList = algorithm.getUseList(); + + List useIdList = new ArrayList<>(); + + + for (String useName : useList){ + Integer useId = algorithmMapper.findUseIdByName(useName); + useIdList.add(useId); + } + + for (Integer useId : oldUseList){ + if (!useIdList.contains(useId)){ + algorithmMapper.deleteUSeForAlgorithm(algorithm.getAlgorithm_id(), useId); + } + } + + for (Integer useId : useIdList){ + if (!oldUseList.contains(useId)){ + System.out.println("输出要添加的id"); + System.out.println(algorithm.getAlgorithm_id()+""+useId); + algorithmMapper.addUseForAlgorithm(algorithm.getAlgorithm_id(), useId); + } + } + + + } + + @Override + @Transactional + public void addAlgorithm(Algorithm algorithm) { + System.out.println("打印添加"); + System.out.println(algorithm); + Integer algorithmCount = algorithmMapper.getAlgorithmCount(); + algorithm.setAlgorithm_id(algorithmCount+1); + algorithmMapper.addAlgorithm(algorithm); + + List fieldList = algorithm.getFieldList(); + List useList = algorithm.getUseList(); + for (String field :fieldList){ + Integer fieldId = algorithmMapper.findFieldIdByName(field); + + algorithmMapper.addFieldForAlgorithm(algorithm.getAlgorithm_id(), fieldId); + } + + for (String useName : useList){ + Integer useId = algorithmMapper.findUseIdByName(useName); + + algorithmMapper.addUseForAlgorithm(algorithm.getAlgorithm_id(), useId); + } + + + + } + + @Override + @Transactional + public void deleteAlgorithm(Algorithm algorithm) { + List fieldList = algorithm.getFieldList(); + List useList = algorithm.getUseList(); + + for (String fieldName :fieldList){ + Integer fieldId = algorithmMapper.findFieldIdByName(fieldName); + algorithmMapper.deleteFieldForAlgorithm(algorithm.getAlgorithm_id(), fieldId); + } + + for (String useName : useList){ + Integer usedId = algorithmMapper.findUseIdByName(useName); + algorithmMapper.deleteUSeForAlgorithm(algorithm.getAlgorithm_id(), usedId); + } + + algorithmMapper.deleteAlgorithm(algorithm); + + } +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/FieldServiceImpl.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/FieldServiceImpl.java new file mode 100644 index 0000000..bc60857 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/FieldServiceImpl.java @@ -0,0 +1,34 @@ +package com.upsfj.sfjprojectbackend.service.impl; + +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.mapper.FieldMapper; +import com.upsfj.sfjprojectbackend.service.FieldService; +import jakarta.annotation.Resource; +import jakarta.transaction.Transactional; +import org.springframework.stereotype.Service; + +@Service +public class FieldServiceImpl implements FieldService { + @Resource + FieldMapper fieldMapper; + + + + @Override + public void addField(String fieldName) { + fieldMapper.AddField(fieldName); + + } + + @Override + public void updateField(Field field) { + fieldMapper.UpdateField(field); + } + + @Override + @Transactional + public void deleteField(Field field) { + fieldMapper.DeleteAlgorithmForField(field); + fieldMapper.DeleteField(field); + } +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/UsecaseServiceImpl.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/UsecaseServiceImpl.java new file mode 100644 index 0000000..0cf49f9 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/UsecaseServiceImpl.java @@ -0,0 +1,32 @@ +package com.upsfj.sfjprojectbackend.service.impl; + +import com.upsfj.sfjprojectbackend.entity.UseCase; +import com.upsfj.sfjprojectbackend.mapper.UseMapper; +import com.upsfj.sfjprojectbackend.mapper.UserMapper; +import com.upsfj.sfjprojectbackend.service.UsecaseService; +import jakarta.annotation.Resource; +import jakarta.transaction.Transactional; +import org.springframework.stereotype.Service; + +@Service +public class UsecaseServiceImpl implements UsecaseService { + @Resource + UseMapper useMapper; + + @Override + public void addUsecase(String usecaseName) { + useMapper.AddUsecase(usecaseName); + } + + @Override + public void updateUsecase(UseCase usecase) { + useMapper.UpdateUsecase(usecase); + } + + @Override + @Transactional + public void deleteUsecase(UseCase usecase) { + useMapper.DeleteAlgorithmForUse(usecase); + useMapper.DeleteUsecase(usecase); + } +} diff --git a/sfj-backend/sfj-project-backend/src/main/resources/application.yaml b/sfj-backend/sfj-project-backend/src/main/resources/application.yaml new file mode 100644 index 0000000..8c4aa60 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/resources/application.yaml @@ -0,0 +1,6 @@ +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://10.51.10.122:3306/sfj?useUnicode=true&characterEncoding=utf-8 + username: root + password: fate_dev \ No newline at end of file diff --git a/sfj-backend/sfj-project-backend/src/test/java/com/upsfj/sfjprojectbackend/SfjProjectBackendApplicationTests.java b/sfj-backend/sfj-project-backend/src/test/java/com/upsfj/sfjprojectbackend/SfjProjectBackendApplicationTests.java new file mode 100644 index 0000000..292a41d --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/test/java/com/upsfj/sfjprojectbackend/SfjProjectBackendApplicationTests.java @@ -0,0 +1,16 @@ +package com.upsfj.sfjprojectbackend; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; + +@SpringBootTest +class SfjProjectBackendApplicationTests { + + @Test + void contextLoads() { +// BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); +// System.out.println(encoder.encode("123456")); + } + +} diff --git a/sfj-backend/sfj-project.iml b/sfj-backend/sfj-project.iml new file mode 100644 index 0000000..2b0f75c --- /dev/null +++ b/sfj-backend/sfj-project.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/sfj-vue3/.gitignore b/sfj-vue3/.gitignore new file mode 100644 index 0000000..8ee54e8 --- /dev/null +++ b/sfj-vue3/.gitignore @@ -0,0 +1,30 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo diff --git a/sfj-vue3/.vscode/extensions.json b/sfj-vue3/.vscode/extensions.json new file mode 100644 index 0000000..c0a6e5a --- /dev/null +++ b/sfj-vue3/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] +} diff --git a/sfj-vue3/Dockerfile b/sfj-vue3/Dockerfile new file mode 100644 index 0000000..0445cf9 --- /dev/null +++ b/sfj-vue3/Dockerfile @@ -0,0 +1,20 @@ +# 基于Node.js的Alpine Linux作为基础镜像 +FROM node:alpine + +# 设置工作目录 +WORKDIR /app + +# 复制package.json和package-lock.json到容器内 +COPY package*.json ./ + +# 运行npm install命令来安装依赖包 +RUN npm ci --only=production + +# 复制src目录及其他需要的文件到容器内 +COPY . . + +# 打开80端口 +EXPOSE 80 + +# 定义入口点 +CMD ["npm", "run", "serve"] \ No newline at end of file diff --git a/sfj-vue3/README.md b/sfj-vue3/README.md new file mode 100644 index 0000000..160e579 --- /dev/null +++ b/sfj-vue3/README.md @@ -0,0 +1,40 @@ +# vue_project3 + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). + +## Type Support for `.vue` Imports in TS + +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. + +If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: + +1. Disable the built-in TypeScript Extension + 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette + 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` +2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. + +## Customize configuration + +See [Vite Configuration Reference](https://vitejs.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Type-Check, Compile and Minify for Production + +```sh +npm run build +``` diff --git a/sfj-vue3/env.d.ts b/sfj-vue3/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/sfj-vue3/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/sfj-vue3/index.html b/sfj-vue3/index.html new file mode 100644 index 0000000..1bc1369 --- /dev/null +++ b/sfj-vue3/index.html @@ -0,0 +1,18 @@ + + + + + + + Vite App + + +
+ + + + diff --git a/sfj-vue3/package-lock.json b/sfj-vue3/package-lock.json new file mode 100644 index 0000000..3690528 --- /dev/null +++ b/sfj-vue3/package-lock.json @@ -0,0 +1,2912 @@ +{ + "name": "vue_project3", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "vue_project3", + "version": "0.0.0", + "dependencies": { + "aos": "^2.3.4", + "axios": "^1.6.5", + "element-plus": "^2.5.1", + "particles.vue3": "^2.12.0", + "tsparticles": "^3.0.3", + "tsparticles-slim": "^2.12.0", + "vue": "^3.3.11", + "vue-axios": "^3.5.2", + "vue-router": "^4.2.5" + }, + "devDependencies": { + "@tsconfig/node18": "^18.2.2", + "@types/aos": "^3.0.7", + "@types/node": "^18.19.3", + "@vitejs/plugin-vue": "^4.5.2", + "@vue/tsconfig": "^0.5.0", + "npm-run-all2": "^6.1.1", + "typescript": "~5.3.0", + "vite": "^5.0.10", + "vue-tsc": "^1.8.25" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", + "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", + "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", + "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", + "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", + "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", + "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", + "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", + "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", + "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", + "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", + "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", + "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", + "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", + "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", + "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", + "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", + "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", + "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", + "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", + "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", + "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", + "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", + "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.3.tgz", + "integrity": "sha512-O0WKDOo0yhJuugCx6trZQj5jVJ9yR0ystG2JaNAemYUWce+pmM6WUEFIibnWyEJKdrDxhm75NoSRME35FNaM/Q==", + "dependencies": { + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.4.tgz", + "integrity": "sha512-jByEsHIY+eEdCjnTVu+E3ephzTOzkQ8hgUfGwos+bg7NlH33Zc5uO+QHz1mrQUOgIKKDD1RtS201P9NvAfq3XQ==", + "dependencies": { + "@floating-ui/core": "^1.5.3", + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", + "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.2.tgz", + "integrity": "sha512-RKzxFxBHq9ysZ83fn8Iduv3A283K7zPPYuhL/z9CQuyFrjwpErJx0h4aeb/bnJ+q29GRLgJpY66ceQ/Wcsn3wA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.2.tgz", + "integrity": "sha512-yZ+MUbnwf3SHNWQKJyWh88ii2HbuHCFQnAYTeeO1Nb8SyEiWASEi5dQUygt3ClHWtA9My9RQAYkjvrsZ0WK8Xg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.2.tgz", + "integrity": "sha512-vqJ/pAUh95FLc/G/3+xPqlSBgilPnauVf2EXOQCZzhZJCXDXt/5A8mH/OzU6iWhb3CNk5hPJrh8pqJUPldN5zw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.2.tgz", + "integrity": "sha512-otPHsN5LlvedOprd3SdfrRNhOahhVBwJpepVKUN58L0RnC29vOAej1vMEaVU6DadnpjivVsNTM5eNt0CcwTahw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.2.tgz", + "integrity": "sha512-ewG5yJSp+zYKBYQLbd1CUA7b1lSfIdo9zJShNTyc2ZP1rcPrqyZcNlsHgs7v1zhgfdS+kW0p5frc0aVqhZCiYQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.2.tgz", + "integrity": "sha512-pL6QtV26W52aCWTG1IuFV3FMPL1m4wbsRG+qijIvgFO/VBsiXJjDPE/uiMdHBAO6YcpV4KvpKtd0v3WFbaxBtg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.2.tgz", + "integrity": "sha512-On+cc5EpOaTwPSNetHXBuqylDW+765G/oqB9xGmWU3npEhCh8xu0xqHGUA+4xwZLqBbIZNcBlKSIYfkBm6ko7g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.2.tgz", + "integrity": "sha512-Wnx/IVMSZ31D/cO9HSsU46FjrPWHqtdF8+0eyZ1zIB5a6hXaZXghUKpRrC4D5DcRTZOjml2oBhXoqfGYyXKipw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.2.tgz", + "integrity": "sha512-ym5x1cj4mUAMBummxxRkI4pG5Vht1QMsJexwGP8547TZ0sox9fCLDHw9KCH9c1FO5d9GopvkaJsBIOkTKxksdw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.2.tgz", + "integrity": "sha512-m0hYELHGXdYx64D6IDDg/1vOJEaiV8f1G/iO+tejvRCJNSwK4jJ15e38JQy5Q6dGkn1M/9KcyEOwqmlZ2kqaZg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.2.tgz", + "integrity": "sha512-x1CWburlbN5JjG+juenuNa4KdedBdXLjZMp56nHFSHTOsb/MI2DYiGzLtRGHNMyydPGffGId+VgjOMrcltOksA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.2.tgz", + "integrity": "sha512-VVzCB5yXR1QlfsH1Xw1zdzQ4Pxuzv+CPr5qpElpKhVxlxD3CRdfubAG9mJROl6/dmj5gVYDDWk8sC+j9BI9/kQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.2.tgz", + "integrity": "sha512-SYRedJi+mweatroB+6TTnJYLts0L0bosg531xnQWtklOI6dezEagx4Q0qDyvRdK+qgdA3YZpjjGuPFtxBmddBA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tsconfig/node18": { + "version": "18.2.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node18/-/node18-18.2.2.tgz", + "integrity": "sha512-d6McJeGsuoRlwWZmVIeE8CUA27lu6jLjvv1JzqmpsytOYYbVi1tHZEnwCNVOXnj4pyLvneZlFlpXUK+X9wBWyw==", + "dev": true + }, + "node_modules/@tsparticles/basic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/basic/-/basic-3.0.3.tgz", + "integrity": "sha512-hMzHTuKhMoTNiqkcEnlGZ3Aa15o3tLcjVDTtuNhZlrONgu7KwVUR4mpxxWUyJHNYlho7VHtZvUU8XAYmN/uAFw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "@tsparticles/engine": "^3.0.3", + "@tsparticles/move-base": "^3.0.3", + "@tsparticles/shape-circle": "^3.0.3", + "@tsparticles/updater-color": "^3.0.3", + "@tsparticles/updater-opacity": "^3.0.3", + "@tsparticles/updater-out-modes": "^3.0.3", + "@tsparticles/updater-size": "^3.0.3" + } + }, + "node_modules/@tsparticles/engine": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/engine/-/engine-3.0.3.tgz", + "integrity": "sha512-1yGci0gMF9uBIVPXBYekORq8UYf8Twz3Xy/ZWWVCFWeVh90Amdns3fad2pf2HicZe8HZqpa1cN2Io1MOHAlO8w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "hasInstallScript": true + }, + "node_modules/@tsparticles/interaction-external-attract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-attract/-/interaction-external-attract-3.0.3.tgz", + "integrity": "sha512-Fnb556N/i7wEj+ziLLkU4dOJWYm31OKyAd8CItsC9/mVtd01jCnBR57rcR3KdlKhknzDrPAWPG0CV29PdZWmXg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-bounce": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-bounce/-/interaction-external-bounce-3.0.3.tgz", + "integrity": "sha512-Uc7VNQxeb4KMGTmzIn3/35t0FPFFTSn8sUNyUyE24nlmSZBE1PwxuyMbCCzyj2VYGgdx4PXoijY1tLN9FGfIQg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-bubble": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-bubble/-/interaction-external-bubble-3.0.3.tgz", + "integrity": "sha512-tA3OZfoMhYsy/cY90z8GolGjH9B+r29CplTKiAbOk+CdNFZ9oMBuMXfDhMCFURxbb1Ak4SFhwCSnsTZOokrZeQ==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-connect": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-connect/-/interaction-external-connect-3.0.3.tgz", + "integrity": "sha512-KtPxzxuG+GLfejSAoQ9d2apYEBt6PnuzNtRuASbnZFMZ8xS9wXcS+6Jn3JCBx6wq7hXJY3yvX86MtIsArVS/cg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-grab": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-grab/-/interaction-external-grab-3.0.3.tgz", + "integrity": "sha512-5JlZRpz4qB1ukcJquhnyETJdSMPu/t7ZNNgecWgiDd1akN3/zQAUp6cY918C1Mtq3J7vElBcyqf/6mY6wApmzg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-pause": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-pause/-/interaction-external-pause-3.0.3.tgz", + "integrity": "sha512-iQnN9cEhInQpGEaYe03L7Y603MuSwBco4FaMYcPcZxHCf6uEAag6zQPxdIZjF/a49dVUuEKv6elW+y07DTVYBg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-push": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-push/-/interaction-external-push-3.0.3.tgz", + "integrity": "sha512-Tiw/o+2jJwpIGPSez8pQSUAzoSSga5q33qtwJgWcjiMedBRnwSJNIdShkR5g5EiWop8GSN9U8AnCA3UrG3cq6Q==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-remove": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-remove/-/interaction-external-remove-3.0.3.tgz", + "integrity": "sha512-Vo38bKAzFyJDLE6WNespJJn/cIEm9qFZZ6ZVwPbdFDI9rK8gmIqHgmHudQduVPvs2Co9oIjfQq0OgVG70bHFvQ==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-repulse": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-repulse/-/interaction-external-repulse-3.0.3.tgz", + "integrity": "sha512-6OOk2NzhVsLu7xp8fyn6xw+zVUYlmGcIMgJSa5LzaUZ/gHoVZ2f7UKdtKxZVnqOCWO+Ff8P7rRtm5q39JS8Pvg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-slow": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-slow/-/interaction-external-slow-3.0.3.tgz", + "integrity": "sha512-+oNTTpMjHooMD/+BVtk6xllpVimcRoXlMPrQ+Pj7CndhoQNR6s8MacUyw2HPYO9epuItGui9qq1HyFWqZRQtSA==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-trail": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-trail/-/interaction-external-trail-3.0.3.tgz", + "integrity": "sha512-qP5820gtY2DsIMC8BodFu0cr+f4jvAlnXT3nwpf2N4Rfcn1c0bhzJI8TNtBB/z9wkY8xBKZFhJBwGnNn8sqyrg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-particles-attract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-attract/-/interaction-particles-attract-3.0.3.tgz", + "integrity": "sha512-3DdFXxMujkLRZAAnid8eBW3BwKe3SGoXzVaSaiht7tq/Q0H98h3ryMJNeD6Rr0PbxGFWid3zmwk8+gdhQyOqZg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-particles-collisions": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-collisions/-/interaction-particles-collisions-3.0.3.tgz", + "integrity": "sha512-pYxzrmvwLj4gwQdg33xTDm6670lQExLoCmeATNAukN4qTFWqYnS45AWrUsedKAverDMcnu1iT2Vs+xmEwtSFcw==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-particles-links": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-links/-/interaction-particles-links-3.0.3.tgz", + "integrity": "sha512-is2I/GTz2nC+2zupyVGbr2tbtp5qGRiwkC3lMWpmvfMWiXxs0iW4w7o/eFy6W5n1Sw2GKLjLUxMn0+xLwRVOEQ==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/move-base": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/move-base/-/move-base-3.0.3.tgz", + "integrity": "sha512-4OFyZ55zWGgw1di1R7hgjlqySE+SEHrAHEqoEq8x14/D1Zg3ai/6BRFqze161ybtwddpz/ukrFy9cpJaUDH1kA==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/move-parallax": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/move-parallax/-/move-parallax-3.0.3.tgz", + "integrity": "sha512-LP9b+Yz3MpnReAgSQrBIINg+fQMzmKlYZ79FQLZdI5UlnyGEarYTYEpcg6VyBWb+QVPDCE+RfOQINfUPI5PB4A==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/plugin-absorbers": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/plugin-absorbers/-/plugin-absorbers-3.0.3.tgz", + "integrity": "sha512-mpAgIRdAmbb3+SX3KNGbmS0YsMJYx711/dV3e3kCu1M/k7ptFze/oFDLMb1f3614WWRlJCwQGdtmAAv517tpWg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/plugin-easing-quad": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/plugin-easing-quad/-/plugin-easing-quad-3.0.3.tgz", + "integrity": "sha512-KgzX9VzkPO61GTcLUHGx+wbiBdnxxp7174zICUiLZxYUuKYkn31k00MPsbja3HgW5lSZ6ruFh4RERi8nVwXo/w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/plugin-emitters": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/plugin-emitters/-/plugin-emitters-3.0.3.tgz", + "integrity": "sha512-Rt1Hrp/teqz6sLPwHShR8L7AWfQCLttXtf7r1VW7iKUhSou7Ye2L77ZCKzqq7xvEszPztYEVMLqjttccGzfs8Q==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/plugin-emitters-shape-circle": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/plugin-emitters-shape-circle/-/plugin-emitters-shape-circle-3.0.3.tgz", + "integrity": "sha512-TDB0cw7P27orHwm51Uq6OZoQ3iiZOl948//q6WFvQrufR+TaKCkoyttqzgdV7OKVaMNZa+YlUZ6BIDv5aj5PSA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "@tsparticles/engine": "^3.0.3", + "@tsparticles/plugin-emitters": "^3.0.3" + } + }, + "node_modules/@tsparticles/plugin-emitters-shape-square": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/plugin-emitters-shape-square/-/plugin-emitters-shape-square-3.0.3.tgz", + "integrity": "sha512-gYIN24gqDkzQMfNMdlUqWQBHTvugghRMkEw42FxllKtHZ9urNBWqPA3EGrNL1Z6ZXZI8UuG18udUZKQsxq36vg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "@tsparticles/engine": "^3.0.3", + "@tsparticles/plugin-emitters": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-circle": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-circle/-/shape-circle-3.0.3.tgz", + "integrity": "sha512-BXolExTzU8wKbV9XvYwYmsYVMBFpx6kb+k880Do+HMp9qUvnJ4G7jshwPp7Ns8svoN4EvbqqhacNd029ESMMYw==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-emoji": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-emoji/-/shape-emoji-3.0.3.tgz", + "integrity": "sha512-THOeWohtdXQpI3xUjVAcL4XVIWjE66MpGcq1w4Jo+V8luab1fCEKT6GQPPINmkiQe7lWChdz6qUX/FfPYmWG4A==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-image": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-image/-/shape-image-3.0.3.tgz", + "integrity": "sha512-xc2HAmmF1iffOzit3UnIJGQuNX6gqxpO4srm3EOQEoWcS62v2Dr+tI6pEhY60RoVrDhBzdRI2da3+EvL5J39ag==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-line": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-line/-/shape-line-3.0.3.tgz", + "integrity": "sha512-JOJrFKcnDgKJlD2YlJGISyuMRMKCdEuqYvUuXD4JqBR7XP8hoAgMEx2Of3rJ7sZyoAo2pdYEqDoSGWq0vgLuvQ==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-polygon": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-polygon/-/shape-polygon-3.0.3.tgz", + "integrity": "sha512-gl+XW46oOudD84lgano6exNEKLyXwOXpHJPRm+dz2HLbRuuU6wCFd5isY4YCr47HJL7wJ7u7pm9LF1kkMk68Sg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-square": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-square/-/shape-square-3.0.3.tgz", + "integrity": "sha512-FACZ0OFPMhdeRnspgU8CJimEyNhXNdmP/l5i8booj9ECvuYATy4yRvTbtktBy/mVuehinM8tgFYKgg8UF/as6Q==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-star": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-star/-/shape-star-3.0.3.tgz", + "integrity": "sha512-P6C+oFneM75Sx2iuLnyNEZR+Cd7V3IIi7lYws54pcUdrYfvQ0lXdQZpUf3noHXoi03c+PnVvEsXvC+fX/+Zdlw==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-text": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-text/-/shape-text-3.0.3.tgz", + "integrity": "sha512-OoGA6193n6NXDJrLovmaa9Yu+ErfwrVRoxiAK5mVayM5ecZX6vhD8+c0H+pR2nY6iOn0h8GXU/FYmX9RFaIaOw==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/slim": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/slim/-/slim-3.0.3.tgz", + "integrity": "sha512-E6ci6uEujJLaoY1JuFwDDOlJHaAAWbQiSEpgQUqETjD9+yEiiQ0zhxrua4HImU2+JhA6vSi7b1rTc7TYBjRRnQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "@tsparticles/basic": "^3.0.3", + "@tsparticles/engine": "^3.0.3", + "@tsparticles/interaction-external-attract": "^3.0.3", + "@tsparticles/interaction-external-bounce": "^3.0.3", + "@tsparticles/interaction-external-bubble": "^3.0.3", + "@tsparticles/interaction-external-connect": "^3.0.3", + "@tsparticles/interaction-external-grab": "^3.0.3", + "@tsparticles/interaction-external-pause": "^3.0.3", + "@tsparticles/interaction-external-push": "^3.0.3", + "@tsparticles/interaction-external-remove": "^3.0.3", + "@tsparticles/interaction-external-repulse": "^3.0.3", + "@tsparticles/interaction-external-slow": "^3.0.3", + "@tsparticles/interaction-particles-attract": "^3.0.3", + "@tsparticles/interaction-particles-collisions": "^3.0.3", + "@tsparticles/interaction-particles-links": "^3.0.3", + "@tsparticles/move-base": "^3.0.3", + "@tsparticles/move-parallax": "^3.0.3", + "@tsparticles/plugin-easing-quad": "^3.0.3", + "@tsparticles/shape-circle": "^3.0.3", + "@tsparticles/shape-emoji": "^3.0.3", + "@tsparticles/shape-image": "^3.0.3", + "@tsparticles/shape-line": "^3.0.3", + "@tsparticles/shape-polygon": "^3.0.3", + "@tsparticles/shape-square": "^3.0.3", + "@tsparticles/shape-star": "^3.0.3", + "@tsparticles/updater-color": "^3.0.3", + "@tsparticles/updater-life": "^3.0.3", + "@tsparticles/updater-opacity": "^3.0.3", + "@tsparticles/updater-out-modes": "^3.0.3", + "@tsparticles/updater-rotate": "^3.0.3", + "@tsparticles/updater-size": "^3.0.3", + "@tsparticles/updater-stroke-color": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-color": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-color/-/updater-color-3.0.3.tgz", + "integrity": "sha512-zOQuO+nJIGcYK2iS4k6+HyO+APfJ58OiZVvkerZaI/on5yE5Cq4goqCrjJBkRWo6WimdhDJjS9vxAyon8Y7CPQ==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-destroy": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-destroy/-/updater-destroy-3.0.3.tgz", + "integrity": "sha512-nCOP2oxg9Qy5h9WLpR46sZLp0X6Y7/0LVw2Jf7Kz+BNO9aqYW54tRS8AiG9j6DpMmt0HWbiB37Nv05s7/bZnKQ==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-life": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-life/-/updater-life-3.0.3.tgz", + "integrity": "sha512-2YZoK13qqPB+m2QgcmStiZdCdvmkhIYHCv5fVqHFXrghS6IMqxEOAh+WV5FRcnL19UvMvKZUFLxmubrKnsi1RA==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-opacity": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-opacity/-/updater-opacity-3.0.3.tgz", + "integrity": "sha512-B+tCeItEEKfwJMeZ5l7jdggFDdt2Rzo3GSWrbTzsa4RxTlzNBZcuFp5qNOuwnBUERBM9u7wxPnfF+x0fDJlGgw==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-out-modes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-out-modes/-/updater-out-modes-3.0.3.tgz", + "integrity": "sha512-3tJ9UKc00KalPVmEfrHUDaXcOAJNjG/83ufiLnj4ZVec4PeibSck7OGkYgNht8O5CR93ZxONNI85DcUHCkBXXg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-roll": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-roll/-/updater-roll-3.0.3.tgz", + "integrity": "sha512-OH1iyHAUvdqKOQN94isViQVUORNUqBDDkgkukvRp6La0Xjk1sop3pVtfH5kADkuolunzD17SlKWup75AUGZKIw==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-rotate": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-rotate/-/updater-rotate-3.0.3.tgz", + "integrity": "sha512-447je9lpU++TxPcZjUlit1NaBctIyT2x6W5NevVjrxckoAWoW2OYuy4mhuJRxn3SZHJ7/t2Wt6Es1g3DR4plRA==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-size": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-size/-/updater-size-3.0.3.tgz", + "integrity": "sha512-mgo7VXJR6rfeSuVT2alxzdYs9BO2tr0iWiBKkbQMH/GSpLI4juijvHxUKC7MXk5E8C0f9ZLfoeSDH1NaeizbDw==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-stroke-color": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-stroke-color/-/updater-stroke-color-3.0.3.tgz", + "integrity": "sha512-8CdRz5KE3RxmuJlao92w0Fo1BtwMLSkZIATMLkzuJYUu0Fq5AWnBkUxxe7r5Qk015n9qaMo8aWiQFwrYJ+FGAg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-tilt": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-tilt/-/updater-tilt-3.0.3.tgz", + "integrity": "sha512-vdw5pBuBosWIq54u7CJD71r2P0UqlMZpOLof8So+Wacm92khZ3ONMpnPbvo0ghBVpZQENvpm5yqJPnroD8KP4Q==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-twinkle": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-twinkle/-/updater-twinkle-3.0.3.tgz", + "integrity": "sha512-5ejosaUYLji5Wr7uT9bqNae1L0PVb4XOY9a6bhMfoWEQQ8MAGFDFLcSF8ilgL0xpp6GsyF646rM8caIERLUvpQ==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-wobble": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-wobble/-/updater-wobble-3.0.3.tgz", + "integrity": "sha512-PwO53o1Cb8Wwt5jv6hwJ1zBgSH0L6Hz4FD1uJGW/VcYYUg+/NIlUWKpC77PIqS8NE9hiX0c8Yjg1hw60bHR75Q==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@types/aos": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/@types/aos/-/aos-3.0.7.tgz", + "integrity": "sha512-sEhyFqvKauUJZDbvAB3Pggynrq6g+2PS4XB3tmUr+mDL1gfDJnwslUC4QQ7/l8UD+LWpr3RxZVR/rHoZrLqZVg==", + "dev": true + }, + "node_modules/@types/lodash": { + "version": "4.14.202", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "18.19.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.4.tgz", + "integrity": "sha512-xNzlUhzoHotIsnFoXmJB+yWmBvFZgKCI9TtPIEdYIMM1KWfwuY8zh7wvc1u1OAXlC7dlf6mZVx/s+Y5KfFz19A==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz", + "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0 || ^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", + "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", + "dev": true, + "dependencies": { + "@volar/source-map": "1.11.1" + } + }, + "node_modules/@volar/source-map": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", + "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", + "dev": true, + "dependencies": { + "muggle-string": "^0.3.1" + } + }, + "node_modules/@volar/typescript": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz", + "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", + "dev": true, + "dependencies": { + "@volar/language-core": "1.11.1", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.4.tgz", + "integrity": "sha512-U5AdCN+6skzh2bSJrkMj2KZsVkUpgK8/XlxjSRYQZhNPcvt9/kmgIMpFEiTyK+Dz5E1J+8o8//BEIX+bakgVSw==", + "dependencies": { + "@babel/parser": "^7.23.6", + "@vue/shared": "3.4.4", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.4.tgz", + "integrity": "sha512-iSwkdDULCN+Vr8z6uwdlL044GJ/nUmECxP9vu7MzEs4Qma0FwDLYvnvRcyO0ZITuu3Os4FptGUDnhi1kOLSaGw==", + "dependencies": { + "@vue/compiler-core": "3.4.4", + "@vue/shared": "3.4.4" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.4.tgz", + "integrity": "sha512-OTFcU6vUxUNHBcarzkp4g6d25nvcmDvFDzPRvSrIsByFFPRYN+y3b+j9HxYwt6nlWvGyFCe0roeJdJlfYxbCBg==", + "dependencies": { + "@babel/parser": "^7.23.6", + "@vue/compiler-core": "3.4.4", + "@vue/compiler-dom": "3.4.4", + "@vue/compiler-ssr": "3.4.4", + "@vue/shared": "3.4.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5", + "postcss": "^8.4.32", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.4.tgz", + "integrity": "sha512-1DU9DflSSQlx/M61GEBN+NbT/anUki2ooDo9IXfTckCeKA/2IKNhY8KbG3x6zkd3KGrxzteC7de6QL88vEb41Q==", + "dependencies": { + "@vue/compiler-dom": "3.4.4", + "@vue/shared": "3.4.4" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==" + }, + "node_modules/@vue/language-core": { + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz", + "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", + "dev": true, + "dependencies": { + "@volar/language-core": "~1.11.1", + "@volar/source-map": "~1.11.1", + "@vue/compiler-dom": "^3.3.0", + "@vue/shared": "^3.3.0", + "computeds": "^0.0.1", + "minimatch": "^9.0.3", + "muggle-string": "^0.3.1", + "path-browserify": "^1.0.1", + "vue-template-compiler": "^2.7.14" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.4.tgz", + "integrity": "sha512-DFsuJBf6sfhd5SYzJmcBTUG9+EKqjF31Gsk1NJtnpJm9liSZ806XwGJUeNBVQIanax7ODV7Lmk/k17BgxXNuTg==", + "dependencies": { + "@vue/shared": "3.4.4" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.4.tgz", + "integrity": "sha512-zWWwNQAj5JdxrmOA1xegJm+c4VtyIbDEKgQjSb4va5v7gGTCh0ZjvLI+htGFdVXaO9bs2J3C81p5p+6jrPK8Bw==", + "dependencies": { + "@vue/reactivity": "3.4.4", + "@vue/shared": "3.4.4" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.4.tgz", + "integrity": "sha512-Nlh2ap1J/eJQ6R0g+AIRyGNwpTJQACN0dk8I8FRLH8Ev11DSvfcPOpn4+Kbg5xAMcuq0cHB8zFYxVrOgETrrvg==", + "dependencies": { + "@vue/runtime-core": "3.4.4", + "@vue/shared": "3.4.4", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.4.tgz", + "integrity": "sha512-+AjoiKcC41k7SMJBYkDO9xs79/Of8DiThS9mH5l2MK+EY0to3psI0k+sElvVqQvsoZTjHMEuMz0AEgvm2T+CwA==", + "dependencies": { + "@vue/compiler-ssr": "3.4.4", + "@vue/shared": "3.4.4" + }, + "peerDependencies": { + "vue": "3.4.4" + } + }, + "node_modules/@vue/shared": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.4.tgz", + "integrity": "sha512-abSgiVRhfjfl3JALR/cSuBl74hGJ3SePgf1mKzodf1eMWLwHZbfEGxT2cNJSsNiw44jEgrO7bNkhchaWA7RwNw==" + }, + "node_modules/@vue/tsconfig": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.5.1.tgz", + "integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==", + "dev": true + }, + "node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aos": { + "version": "2.3.4", + "resolved": "https://registry.npmmirror.com/aos/-/aos-2.3.4.tgz", + "integrity": "sha512-zh/ahtR2yME4I51z8IttIt4lC1Nw0ktsFtmeDzID1m9naJnWXhCoARaCgNOGXb5CLy3zm+wqmRAEgMYB5E2HUw==", + "dependencies": { + "classlist-polyfill": "^1.0.3", + "lodash.debounce": "^4.0.6", + "lodash.throttle": "^4.0.1" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "1.6.5", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.6.5.tgz", + "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/classlist-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz", + "integrity": "sha512-GzIjNdcEtH4ieA2S8NmrSxv7DfEV5fmixQeyTmqmRmRJPGpRBaSnA2a0VrCjyT8iW8JjEdMbKzDotAJf+ajgaQ==" + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/computeds": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz", + "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/element-plus": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.5.1.tgz", + "integrity": "sha512-ylX9h2U125/nesPlLWgfPkI1rID9EiGROlgf0QkzBUjx+/d4w/YqS+IqZZZC5yvQPhKYu9aMDqEBzOurwn4Cnw==", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.3", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/esbuild": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", + "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.11", + "@esbuild/android-arm": "0.19.11", + "@esbuild/android-arm64": "0.19.11", + "@esbuild/android-x64": "0.19.11", + "@esbuild/darwin-arm64": "0.19.11", + "@esbuild/darwin-x64": "0.19.11", + "@esbuild/freebsd-arm64": "0.19.11", + "@esbuild/freebsd-x64": "0.19.11", + "@esbuild/linux-arm": "0.19.11", + "@esbuild/linux-arm64": "0.19.11", + "@esbuild/linux-ia32": "0.19.11", + "@esbuild/linux-loong64": "0.19.11", + "@esbuild/linux-mips64el": "0.19.11", + "@esbuild/linux-ppc64": "0.19.11", + "@esbuild/linux-riscv64": "0.19.11", + "@esbuild/linux-s390x": "0.19.11", + "@esbuild/linux-x64": "0.19.11", + "@esbuild/netbsd-x64": "0.19.11", + "@esbuild/openbsd-x64": "0.19.11", + "@esbuild/sunos-x64": "0.19.11", + "@esbuild/win32-arm64": "0.19.11", + "@esbuild/win32-ia32": "0.19.11", + "@esbuild/win32-x64": "0.19.11" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/follow-redirects": { + "version": "1.15.4", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.4.tgz", + "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/lines-and-columns": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", + "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, + "node_modules/lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/muggle-string": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/normalize-package-data": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", + "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, + "node_modules/npm-run-all2": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-6.1.1.tgz", + "integrity": "sha512-lWLbkPZ5BSdXtN8lR+0rc8caKoPdymycpZksyDEC9MOBvfdwTXZ0uVhb7bMcGeXv2/BKtfQuo6Zn3zfc8rxNXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.3", + "memorystream": "^0.3.1", + "minimatch": "^9.0.0", + "pidtree": "^0.6.0", + "read-pkg": "^8.0.0", + "shell-quote": "^1.7.3" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "npm-run-all2": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0", + "npm": ">= 8" + } + }, + "node_modules/parse-json": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", + "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "error-ex": "^1.3.2", + "json-parse-even-better-errors": "^3.0.0", + "lines-and-columns": "^2.0.3", + "type-fest": "^3.8.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-json/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/particles.vue3": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/particles.vue3/-/particles.vue3-2.12.0.tgz", + "integrity": "sha512-t1AFUSuL+zzXO5fvBq6y76DAyy6sXtBOVY3UirNzaRQ0JCqSV3wCQwQ2N51tJRG6V952ARi87NMcQP5VwfTkqA==", + "deprecated": "@tsparticles/vue3 is the new package for v3, please use that", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "tsparticles-engine": "^2.12.0", + "vue": "^3.3.4" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/read-pkg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", + "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^6.0.0", + "parse-json": "^7.0.0", + "type-fest": "^4.2.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rollup": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.2.tgz", + "integrity": "sha512-66RB8OtFKUTozmVEh3qyNfH+b+z2RXBVloqO2KCC/pjFaGaHtxP9fVfOQKPSGXg2mElmjmxjW/fZ7iKrEpMH5Q==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.2", + "@rollup/rollup-android-arm64": "4.9.2", + "@rollup/rollup-darwin-arm64": "4.9.2", + "@rollup/rollup-darwin-x64": "4.9.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.2", + "@rollup/rollup-linux-arm64-gnu": "4.9.2", + "@rollup/rollup-linux-arm64-musl": "4.9.2", + "@rollup/rollup-linux-riscv64-gnu": "4.9.2", + "@rollup/rollup-linux-x64-gnu": "4.9.2", + "@rollup/rollup-linux-x64-musl": "4.9.2", + "@rollup/rollup-win32-arm64-msvc": "4.9.2", + "@rollup/rollup-win32-ia32-msvc": "4.9.2", + "@rollup/rollup-win32-x64-msvc": "4.9.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "dev": true + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsparticles": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tsparticles/-/tsparticles-3.0.3.tgz", + "integrity": "sha512-chClgQd4ePebjMk0UtK91ELPsOCcA7pBvDrzb54Yyzy66S5Ksa8oEhuepCfVAREyrAzn0YVuEue07SXvWXS88Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "@tsparticles/engine": "^3.0.3", + "@tsparticles/interaction-external-trail": "^3.0.3", + "@tsparticles/plugin-absorbers": "^3.0.3", + "@tsparticles/plugin-emitters": "^3.0.3", + "@tsparticles/plugin-emitters-shape-circle": "^3.0.3", + "@tsparticles/plugin-emitters-shape-square": "^3.0.3", + "@tsparticles/shape-text": "^3.0.3", + "@tsparticles/slim": "^3.0.3", + "@tsparticles/updater-destroy": "^3.0.3", + "@tsparticles/updater-roll": "^3.0.3", + "@tsparticles/updater-tilt": "^3.0.3", + "@tsparticles/updater-twinkle": "^3.0.3", + "@tsparticles/updater-wobble": "^3.0.3" + } + }, + "node_modules/tsparticles-basic": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-basic/-/tsparticles-basic-2.12.0.tgz", + "integrity": "sha512-pN6FBpL0UsIUXjYbiui5+IVsbIItbQGOlwyGV55g6IYJBgdTNXgFX0HRYZGE9ZZ9psEXqzqwLM37zvWnb5AG9g==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "tsparticles-engine": "^2.12.0", + "tsparticles-move-base": "^2.12.0", + "tsparticles-shape-circle": "^2.12.0", + "tsparticles-updater-color": "^2.12.0", + "tsparticles-updater-opacity": "^2.12.0", + "tsparticles-updater-out-modes": "^2.12.0", + "tsparticles-updater-size": "^2.12.0" + } + }, + "node_modules/tsparticles-engine": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-engine/-/tsparticles-engine-2.12.0.tgz", + "integrity": "sha512-ZjDIYex6jBJ4iMc9+z0uPe7SgBnmb6l+EJm83MPIsOny9lPpetMsnw/8YJ3xdxn8hV+S3myTpTN1CkOVmFv0QQ==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "hasInstallScript": true + }, + "node_modules/tsparticles-interaction-external-attract": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-attract/-/tsparticles-interaction-external-attract-2.12.0.tgz", + "integrity": "sha512-0roC6D1QkFqMVomcMlTaBrNVjVOpyNzxIUsjMfshk2wUZDAvTNTuWQdUpmsLS4EeSTDN3rzlGNnIuuUQqyBU5w==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-bounce": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-bounce/-/tsparticles-interaction-external-bounce-2.12.0.tgz", + "integrity": "sha512-MMcqKLnQMJ30hubORtdq+4QMldQ3+gJu0bBYsQr9BsThsh8/V0xHc1iokZobqHYVP5tV77mbFBD8Z7iSCf0TMQ==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-bubble": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-bubble/-/tsparticles-interaction-external-bubble-2.12.0.tgz", + "integrity": "sha512-5kImCSCZlLNccXOHPIi2Yn+rQWTX3sEa/xCHwXW19uHxtILVJlnAweayc8+Zgmb7mo0DscBtWVFXHPxrVPFDUA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-connect": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-connect/-/tsparticles-interaction-external-connect-2.12.0.tgz", + "integrity": "sha512-ymzmFPXz6AaA1LAOL5Ihuy7YSQEW8MzuSJzbd0ES13U8XjiU3HlFqlH6WGT1KvXNw6WYoqrZt0T3fKxBW3/C3A==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-grab": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-grab/-/tsparticles-interaction-external-grab-2.12.0.tgz", + "integrity": "sha512-iQF/A947hSfDNqAjr49PRjyQaeRkYgTYpfNmAf+EfME8RsbapeP/BSyF6mTy0UAFC0hK2A2Hwgw72eT78yhXeQ==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-pause": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-pause/-/tsparticles-interaction-external-pause-2.12.0.tgz", + "integrity": "sha512-4SUikNpsFROHnRqniL+uX2E388YTtfRWqqqZxRhY0BrijH4z04Aii3YqaGhJxfrwDKkTQlIoM2GbFT552QZWjw==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-push": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-push/-/tsparticles-interaction-external-push-2.12.0.tgz", + "integrity": "sha512-kqs3V0dgDKgMoeqbdg+cKH2F+DTrvfCMrPF1MCCUpBCqBiH+TRQpJNNC86EZYHfNUeeLuIM3ttWwIkk2hllR/Q==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-remove": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-remove/-/tsparticles-interaction-external-remove-2.12.0.tgz", + "integrity": "sha512-2eNIrv4m1WB2VfSVj46V2L/J9hNEZnMgFc+A+qmy66C8KzDN1G8aJUAf1inW8JVc0lmo5+WKhzex4X0ZSMghBg==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-repulse": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-repulse/-/tsparticles-interaction-external-repulse-2.12.0.tgz", + "integrity": "sha512-rSzdnmgljeBCj5FPp4AtGxOG9TmTsK3AjQW0vlyd1aG2O5kSqFjR+FuT7rfdSk9LEJGH5SjPFE6cwbuy51uEWA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-slow": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-slow/-/tsparticles-interaction-external-slow-2.12.0.tgz", + "integrity": "sha512-2IKdMC3om7DttqyroMtO//xNdF0NvJL/Lx7LDo08VpfTgJJozxU+JAUT8XVT7urxhaDzbxSSIROc79epESROtA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-particles-attract": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-particles-attract/-/tsparticles-interaction-particles-attract-2.12.0.tgz", + "integrity": "sha512-Hl8qwuwF9aLq3FOkAW+Zomu7Gb8IKs6Y3tFQUQScDmrrSCaeRt2EGklAiwgxwgntmqzL7hbMWNx06CHHcUQKdQ==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-particles-collisions": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-particles-collisions/-/tsparticles-interaction-particles-collisions-2.12.0.tgz", + "integrity": "sha512-Se9nPWlyPxdsnHgR6ap4YUImAu3W5MeGKJaQMiQpm1vW8lSMOUejI1n1ioIaQth9weKGKnD9rvcNn76sFlzGBA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-particles-links": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-particles-links/-/tsparticles-interaction-particles-links-2.12.0.tgz", + "integrity": "sha512-e7I8gRs4rmKfcsHONXMkJnymRWpxHmeaJIo4g2NaDRjIgeb2AcJSWKWZvrsoLnm7zvaf/cMQlbN6vQwCixYq3A==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-move-base": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-move-base/-/tsparticles-move-base-2.12.0.tgz", + "integrity": "sha512-oSogCDougIImq+iRtIFJD0YFArlorSi8IW3HD2gO3USkH+aNn3ZqZNTqp321uB08K34HpS263DTbhLHa/D6BWw==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-move-parallax": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-move-parallax/-/tsparticles-move-parallax-2.12.0.tgz", + "integrity": "sha512-58CYXaX8Ih5rNtYhpnH0YwU4Ks7gVZMREGUJtmjhuYN+OFr9FVdF3oDIJ9N6gY5a5AnAKz8f5j5qpucoPRcYrQ==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-particles.js": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-particles.js/-/tsparticles-particles.js-2.12.0.tgz", + "integrity": "sha512-LyOuvYdhbUScmA4iDgV3LxA0HzY1DnOwQUy3NrPYO393S2YwdDjdwMod6Btq7EBUjg9FVIh+sZRizgV5elV2dg==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-plugin-easing-quad": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-plugin-easing-quad/-/tsparticles-plugin-easing-quad-2.12.0.tgz", + "integrity": "sha512-2mNqez5pydDewMIUWaUhY5cNQ80IUOYiujwG6qx9spTq1D6EEPLbRNAEL8/ecPdn2j1Um3iWSx6lo340rPkv4Q==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-shape-circle": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-shape-circle/-/tsparticles-shape-circle-2.12.0.tgz", + "integrity": "sha512-L6OngbAlbadG7b783x16ns3+SZ7i0SSB66M8xGa5/k+YcY7zm8zG0uPt1Hd+xQDR2aNA3RngVM10O23/Lwk65Q==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-shape-image": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-shape-image/-/tsparticles-shape-image-2.12.0.tgz", + "integrity": "sha512-iCkSdUVa40DxhkkYjYuYHr9MJGVw+QnQuN5UC+e/yBgJQY+1tQL8UH0+YU/h0GHTzh5Sm+y+g51gOFxHt1dj7Q==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-shape-line": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-shape-line/-/tsparticles-shape-line-2.12.0.tgz", + "integrity": "sha512-RcpKmmpKlk+R8mM5wA2v64Lv1jvXtU4SrBDv3vbdRodKbKaWGGzymzav1Q0hYyDyUZgplEK/a5ZwrfrOwmgYGA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-shape-polygon": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-shape-polygon/-/tsparticles-shape-polygon-2.12.0.tgz", + "integrity": "sha512-5YEy7HVMt1Obxd/jnlsjajchAlYMr9eRZWN+lSjcFSH6Ibra7h59YuJVnwxOxAobpijGxsNiBX0PuGQnB47pmA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-shape-square": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-shape-square/-/tsparticles-shape-square-2.12.0.tgz", + "integrity": "sha512-33vfajHqmlODKaUzyPI/aVhnAOT09V7nfEPNl8DD0cfiNikEuPkbFqgJezJuE55ebtVo7BZPDA9o7GYbWxQNuw==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-shape-star": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-shape-star/-/tsparticles-shape-star-2.12.0.tgz", + "integrity": "sha512-4sfG/BBqm2qBnPLASl2L5aBfCx86cmZLXeh49Un+TIR1F5Qh4XUFsahgVOG0vkZQa+rOsZPEH04xY5feWmj90g==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-shape-text": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-shape-text/-/tsparticles-shape-text-2.12.0.tgz", + "integrity": "sha512-v2/FCA+hyTbDqp2ymFOe97h/NFb2eezECMrdirHWew3E3qlvj9S/xBibjbpZva2gnXcasBwxn0+LxKbgGdP0rA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-slim": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-slim/-/tsparticles-slim-2.12.0.tgz", + "integrity": "sha512-27w9aGAAAPKHvP4LHzWFpyqu7wKyulayyaZ/L6Tuuejy4KP4BBEB4rY5GG91yvAPsLtr6rwWAn3yS+uxnBDpkA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "tsparticles-basic": "^2.12.0", + "tsparticles-engine": "^2.12.0", + "tsparticles-interaction-external-attract": "^2.12.0", + "tsparticles-interaction-external-bounce": "^2.12.0", + "tsparticles-interaction-external-bubble": "^2.12.0", + "tsparticles-interaction-external-connect": "^2.12.0", + "tsparticles-interaction-external-grab": "^2.12.0", + "tsparticles-interaction-external-pause": "^2.12.0", + "tsparticles-interaction-external-push": "^2.12.0", + "tsparticles-interaction-external-remove": "^2.12.0", + "tsparticles-interaction-external-repulse": "^2.12.0", + "tsparticles-interaction-external-slow": "^2.12.0", + "tsparticles-interaction-particles-attract": "^2.12.0", + "tsparticles-interaction-particles-collisions": "^2.12.0", + "tsparticles-interaction-particles-links": "^2.12.0", + "tsparticles-move-base": "^2.12.0", + "tsparticles-move-parallax": "^2.12.0", + "tsparticles-particles.js": "^2.12.0", + "tsparticles-plugin-easing-quad": "^2.12.0", + "tsparticles-shape-circle": "^2.12.0", + "tsparticles-shape-image": "^2.12.0", + "tsparticles-shape-line": "^2.12.0", + "tsparticles-shape-polygon": "^2.12.0", + "tsparticles-shape-square": "^2.12.0", + "tsparticles-shape-star": "^2.12.0", + "tsparticles-shape-text": "^2.12.0", + "tsparticles-updater-color": "^2.12.0", + "tsparticles-updater-life": "^2.12.0", + "tsparticles-updater-opacity": "^2.12.0", + "tsparticles-updater-out-modes": "^2.12.0", + "tsparticles-updater-rotate": "^2.12.0", + "tsparticles-updater-size": "^2.12.0", + "tsparticles-updater-stroke-color": "^2.12.0" + } + }, + "node_modules/tsparticles-updater-color": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-updater-color/-/tsparticles-updater-color-2.12.0.tgz", + "integrity": "sha512-KcG3a8zd0f8CTiOrylXGChBrjhKcchvDJjx9sp5qpwQK61JlNojNCU35xoaSk2eEHeOvFjh0o3CXWUmYPUcBTQ==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-updater-life": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-updater-life/-/tsparticles-updater-life-2.12.0.tgz", + "integrity": "sha512-J7RWGHAZkowBHpcLpmjKsxwnZZJ94oGEL2w+wvW1/+ZLmAiFFF6UgU0rHMC5CbHJT4IPx9cbkYMEHsBkcRJ0Bw==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-updater-opacity": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-updater-opacity/-/tsparticles-updater-opacity-2.12.0.tgz", + "integrity": "sha512-YUjMsgHdaYi4HN89LLogboYcCi1o9VGo21upoqxq19yRy0hRCtx2NhH22iHF/i5WrX6jqshN0iuiiNefC53CsA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-updater-out-modes": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-updater-out-modes/-/tsparticles-updater-out-modes-2.12.0.tgz", + "integrity": "sha512-owBp4Gk0JNlSrmp12XVEeBroDhLZU+Uq3szbWlHGSfcR88W4c/0bt0FiH5bHUqORIkw+m8O56hCjbqwj69kpOQ==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-updater-rotate": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-updater-rotate/-/tsparticles-updater-rotate-2.12.0.tgz", + "integrity": "sha512-waOFlGFmEZOzsQg4C4VSejNVXGf4dMf3fsnQrEROASGf1FCd8B6WcZau7JtXSTFw0OUGuk8UGz36ETWN72DkCw==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-updater-size": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-updater-size/-/tsparticles-updater-size-2.12.0.tgz", + "integrity": "sha512-B0yRdEDd/qZXCGDL/ussHfx5YJ9UhTqNvmS5X2rR2hiZhBAE2fmsXLeWkdtF2QusjPeEqFDxrkGiLOsh6poqRA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-updater-stroke-color": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-updater-stroke-color/-/tsparticles-updater-stroke-color-2.12.0.tgz", + "integrity": "sha512-MPou1ZDxsuVq6SN1fbX+aI5yrs6FyP2iPCqqttpNbWyL+R6fik1rL0ab/x02B57liDXqGKYomIbBQVP3zUTW1A==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/type-fest": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.9.0.tgz", + "integrity": "sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "devOptional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vite": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz", + "integrity": "sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.4.tgz", + "integrity": "sha512-suZXgDVT8lRNhKmxdkwOsR0oyUi8is7mtqI18qW97JLoyorEbE9B2Sb4Ws/mR/+0AgA/JUtsv1ytlRSH3/pDIA==", + "dependencies": { + "@vue/compiler-dom": "3.4.4", + "@vue/compiler-sfc": "3.4.4", + "@vue/runtime-dom": "3.4.4", + "@vue/server-renderer": "3.4.4", + "@vue/shared": "3.4.4" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-axios": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/vue-axios/-/vue-axios-3.5.2.tgz", + "integrity": "sha512-GP+dct7UlAWkl1qoP3ppw0z6jcSua5/IrMpjB5O8bh089iIiJ+hdxPYH2NPEpajlYgkW5EVMP95ttXWdas1O0g==", + "peerDependencies": { + "axios": "*", + "vue": "^3.0.0 || ^2.0.0" + } + }, + "node_modules/vue-router": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "dependencies": { + "@vue/devtools-api": "^6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-template-compiler": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", + "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", + "dev": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/vue-tsc": { + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.27.tgz", + "integrity": "sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==", + "dev": true, + "dependencies": { + "@volar/typescript": "~1.11.1", + "@vue/language-core": "1.8.27", + "semver": "^7.5.4" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } +} diff --git a/sfj-vue3/package.json b/sfj-vue3/package.json new file mode 100644 index 0000000..78f5bd5 --- /dev/null +++ b/sfj-vue3/package.json @@ -0,0 +1,35 @@ +{ + "name": "vue_project3", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --build --force" + }, + "dependencies": { + "aos": "^2.3.4", + "axios": "^1.6.5", + "element-plus": "^2.5.1", + "particles.vue3": "^2.12.0", + "tsparticles": "^3.0.3", + "tsparticles-slim": "^2.12.0", + "vue": "^3.3.11", + "vue-axios": "^3.5.2", + "vue-router": "^4.2.5" + }, + "devDependencies": { + "@tsconfig/node18": "^18.2.2", + "@types/aos": "^3.0.7", + "@types/node": "^18.19.3", + "@vitejs/plugin-vue": "^4.5.2", + "@vue/tsconfig": "^0.5.0", + "npm-run-all2": "^6.1.1", + "typescript": "~5.3.0", + "vite": "^5.0.10", + "vue-tsc": "^1.8.25" + } +} diff --git a/sfj-vue3/public/favicon.ico b/sfj-vue3/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/sfj-vue3/src/App.vue b/sfj-vue3/src/App.vue new file mode 100644 index 0000000..ef225f6 --- /dev/null +++ b/sfj-vue3/src/App.vue @@ -0,0 +1,25 @@ + + + + + + diff --git a/sfj-vue3/src/api/data.ts b/sfj-vue3/src/api/data.ts new file mode 100644 index 0000000..0e94ab4 --- /dev/null +++ b/sfj-vue3/src/api/data.ts @@ -0,0 +1,103 @@ +//定义一个接口用于限制第二页面的数据 +export interface data { + id: number; + url: string; + title: string; + data1:string; + data2:string; + data3:string; +} + +import anquanmao from '../assets/image/anquanmao.jpg' +import banyi from '../assets/image/banyi.jpg' +import duanxiu from '../assets/image/duanxiu.jpg' +import facesb from '../assets/image/facesb.png' +import fall from '../assets/image/fall.jpg' +import fanguangyi from '../assets/image/fanguangyi.jpg' +import fight from '../assets/image/fight.jpg' +import mask from '../assets/image/mask.jpg' +import sleep from '../assets/image/sleep.jpg' +import smoke from '../assets/image/smoke.jpg' +import tuogang from '../assets/image/tuogang.jpg' +import yanwu from '../assets/image/yanwu.jpg' +import zhuapai from '../assets/image/zhuapai.jpg' +import yiliu from '../assets/image/yiliu.jpg' +import weiting from '../assets/image/weiting.jpg' +import zhandao from '../assets/image/zhandao.jpg' +import redlight from '../assets/image/redlight.jpg' +import helmet from '../assets/image/helmet.jpg' +import chepai from '../assets/image/chepai.jpg' +import trafficbz from '../assets/image/trafficbz.jpg' +import pilao from '../assets/image/pilao.jpg' +import yongdu from '../assets/image/yongdu.jpg' +import chedaoxian from '../assets/image/chedaoxian.jpg' +import gongfu from '../assets/image/gongfu.jpg' +import gaokongpw from '../assets/image/gaokongpw.jpg' +import miehuoqi from '../assets/image/miehuoqi.jpg' +import fire from '../assets/image/fire.jpg' +import bike from '../assets/image/e-bike.jpg' +import climb from '../assets/image/climb.jpg' +import playphone from '../assets/image/playphone.jpg' +import gather from '../assets/image/gather.jpg' +import keliu from '../assets/image/keliu.jpg' +import midu from '../assets/image/midu.jpg' +import paihuai from '../assets/image/paihuai.jpg' +import phone from '../assets/image/phone.jpg' + +let data_list:Array = [ + {id:1,url:anquanmao,title:'安全帽识别',data1:'建筑地产',data2:'建筑地产',data3:'建筑地产'}, + {id:2,url:banyi,title:'物品搬移',data1:'建筑地产',data2:'智慧银行',data3:'建筑地产'}, + {id:3,url:duanxiu,title:'短袖短裤识别',data1:'建筑地产',data2:'建筑地产',data3:'建筑地产'}, + {id:4,url:facesb,title:'人脸识别',data1:'建筑地产',data2:'智慧园区',data3:'智慧银行'}, + {id:5,url:fall,title:'摔倒检测',data1:'建筑地产',data2:'建筑地产',data3:'建筑地产'}, + {id:6,url:fanguangyi,title:'反光衣识别',data1:'建筑地产',data2:'建筑地产',data3:'建筑地产'}, + {id:7,url:fight,title:'打架识别',data1:'建筑地产',data2:'建筑地产',data3:'建筑地产'}, + {id:8,url:mask,title:'戴口罩识别',data1:'建筑地产',data2:'建筑地产',data3:'建筑地产'}, + {id:9,url:sleep,title:'睡岗识别',data1:'建筑地产',data2:'智慧园区',data3:'建筑地产'}, + {id:10,url:smoke,title:'抽烟识别',data1:'建筑地产',data2:'智慧园区',data3:'智慧银行'}, + {id:11,url:tuogang,title:'脱岗检测',data1:'建筑地产',data2:'智慧交通',data3:'智慧银行'}, + {id:12,url:yanwu,title:'烟雾识别',data1:'建筑地产',data2:'智慧园区',data3:'智慧零售'}, + {id:13,url:zhuapai,title:'人脸抓拍',data1:'建筑地产',data2:'智慧园区',data3:'智慧银行'}, + {id:14,url:yiliu,title:'物品遗留',data1:'建筑地产',data2:'智慧银行',data3:'建筑地产'}, + {id:15,url:weiting,title:'车辆违停识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:16,url:zhandao,title:'机动车占道识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:17,url:redlight,title:'行人闯红灯识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:18,url:helmet,title:'电动车头盔识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:19,url:chepai,title:'车牌识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:20,url:mask,title:'流量和方向异常检测',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:21,url:redlight,title:'交通灯识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:22,url:trafficbz,title:'交通标志识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:23,url:pilao,title:'人员疲劳检测',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:24,url:yongdu,title:'交通拥堵识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:25,url:chedaoxian,title:'车道线',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:26,url:tuogang,title:'离岗识别',data1:'建筑地产',data2:'智慧交通',data3:'智慧银行'}, + {id:27,url:gongfu,title:'工服识别',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:28,url:gaokongpw,title:'高空抛物识别',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:29,url:fire,title:'火焰识别',data1:'智慧园区',data2:'智慧零售',data3:'智慧银行'}, + {id:30,url:bike,title:'电梯间电动车识别',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:31,url:climb,title:'攀爬识别',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:32,url:playphone,title:'玩手机检测',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:33,url:smoke,title:'入侵检测',data1:'智慧园区',data2:'智慧零售',data3:'智慧园区'}, + {id:34,url:gather,title:'聚集发散检测',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:35,url:miehuoqi,title:'灭火器识别',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:36,url:gather,title:'聚众检测',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:37,url:keliu,title:'客流特征识别',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:38,url:midu,title:'客流密度统计',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:39,url:keliu,title:'客流统计',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:40,url:facesb,title:'人员热力图',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:41,url:fall,title:'跌倒检测',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:42,url:fight,title:'打架、剧烈运动',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:43,url:fight,title:'人员尾随识别',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:44,url:mask,title:'间距异常',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:45,url:sleep,title:'堵截识别',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:46,url:smoke,title:'区域入侵、离开',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:47,url:keliu,title:'人数统计',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:48,url:gather,title:'区域人数统计',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:49,url:gather,title:'人员聚集',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:50,url:gather,title:'多人侦测',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:51,url:paihuai,title:'徘徊检测',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:52,url:phone,title:'打电话检测',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:53,url:fall,title:'表情识别',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, +] + +export {data_list} \ No newline at end of file diff --git a/sfj-vue3/src/api/interface.ts b/sfj-vue3/src/api/interface.ts new file mode 100644 index 0000000..d877f1d --- /dev/null +++ b/sfj-vue3/src/api/interface.ts @@ -0,0 +1,47 @@ +//算法类选择 +export interface Item { + name: string; + url: string; + selected: boolean; +} + +//数据库获得数据 +export interface alList { + algorithmFields: string + algorithmUserCases: string + algorithm_description: string + algorithm_id: number + algorithm_name: string + fieldList:fieldList[] + fieldStr: string + useList:useList[] + userStr: string + length: number +} + +interface alMes { + algorithm_name:string, + fieldList:fieldList[], + page:number, + pagesize:number, + count:number +} + +interface fieldList{ + fieldname:string +} + +interface useList { + usename: string +} + +export class MyClass{ + select:alMes={ + algorithm_name:'', + fieldList:[], + page:1, + pagesize:12, + count:0 + } + list:alList[]=[] +} \ No newline at end of file diff --git a/sfj-vue3/src/api/uesr.ts b/sfj-vue3/src/api/uesr.ts new file mode 100644 index 0000000..66c07f3 --- /dev/null +++ b/sfj-vue3/src/api/uesr.ts @@ -0,0 +1,43 @@ +import { servicesVersion } from "typescript"; +import service from "@/utils/axios"; + +//登录接口 +interface loginData{ + username:string, + password:string +} +export function login(data:any){ + return service({ + url:"/api/auth/login", + method:"post", + data + }) +} +export function logout(){ + return service({ + url:"/api/auth/logout", + method:"get", + }) +} +export function authorize(){ + return service({ + url:"/api/user/me", + method:"get" + }) +} + +export function getAlgorithemList(){ + + return service({ + url:"", + method:"get" + }) +} +//查询所有信息接口 +export function getAllAlgorithm(){ + return service({ + url:"/api/algorithm/findall", + method:"get" + }) +} + diff --git a/sfj-vue3/src/assets/1-1.png b/sfj-vue3/src/assets/1-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7837d48cd7ba0b69ab5eca81be5b7aed06f5580e GIT binary patch literal 7575 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 literal 0 HcmV?d00001 diff --git a/sfj-vue3/src/assets/1-2.png b/sfj-vue3/src/assets/1-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c2451be2afc0daea775d8c8f10ae3fbca8f0292d GIT binary patch literal 7594 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 M07*qoM6N<$f&vQxs{jB1 literal 0 HcmV?d00001 diff --git a/sfj-vue3/src/assets/1-3.png b/sfj-vue3/src/assets/1-3.png new file mode 100644 index 0000000000000000000000000000000000000000..7df5e128dc591825ab2de1931cec910ebb234ff3 GIT binary patch literal 6950 zcmV+>8`QneKmUt-bddt4^J&IyI#-4-gU(0tv(fgh)V?K?I3mvO(ykwYAk&9O%b>V)p~s z(xSFga}~W{fLP237evNrh-4xmWS(oD$5Ut8d#`o>I8~V;l@Lh0x88rM>YTOL{?_;I z^}XNv)~XG|7{)M$F^pjhV;I92#xRC4jA0C87{mB~85=ej=S17^{~e4mwlOAr@aLI~ zxx#hLA5$6g{a#~APK0g86XHZ0FccVrcx`FxH~W&g>n2P{+*LlwdA=B`eP4eI-fGV!Xms}8>C=nWoM_vR7Jn0jtXkK5>u-L$?q_S>Y73lmcA2^K)3%GO_(6+PV^Xt3hP80a3pNpn3=zL z$=V+*{Yz88^?Y7*v;+CXh^ev~_r-QW^juKq-MzcG1Soy%mx`{c`$>iZW~T^Do=K+xnVlKd~b_JWgstwr@9Q{ht>%-2dzgwQqqjrxS`_RlIa1w_o*fhk3K}{hl&bOq+U&ec!lh z@5&YH+`Fe&S}PYVIys0rDG4#gltAt)FE4j)cypai)r47$8aJ9P8+Neztp;qTn`x)b zp}sA^_BxlT6EthrHt_qJXIZuK2}0pYMvwbEuA8K>ZW-s;7qD?lmTXos_bf#;D)2pH zDa*S2oHH_W;?cH?fs-NuIH?FR#st9sB=B8uW&{He4*Eok74?n9Y~A(>U9E2rDopU| za-WMY5Li}#N1uL&B@fC|=%nt&sT$Kml8 ze9oL=5wf;{2s3*8ZDi8BX|8_|r3$GSc{7oMv79{}(rJsWJAKNE!OJCS*|UQeUwD${ zroXDfl8@*UJ^n$+6K#MosgcH*dpoGdrLFl{Tn{cePjTyKZItcs%FA!? zt6%;j+qe7=k+2N@_@0~oGvk?0E?Q(xxIa#q0mhiHG3FKs{;@yJ*Iroa7jM{>qpr#0 z$!B)(mt|XsLK;G}o6_>jDULyBw?Rq6lu6LivK8ZZ5eQb1&9sZ+cyP9x;ps1a$^B__b9U;9@(G*( zLIz48mjN#TzXmZml{U1t8=5<9e)zLD`QE=TVfpg)IJUsC1lb$}Z9u1y(!sHPuDi^} zvJ8u#($u#WQ$70c2!yI>s=c57zAcnhEu50naE$l!bZ1VR<~ zzK0N4;gJ1BWvN#>I{feM+?g!@uzdp`G9kv8>A?NKQ^0wHpDQU45{wqq)hFrgP2<=W zt_#|Ll#t13EGJ(>>`%G8vfO3X>59ufCJ@4=qxCh~nxCRD{t?Qmt|6J+NK3;KjL`%G z5RK$#iSL0B0%et8aLHym=ui7-ZOCLil#&T$%YTo>!!NY7csH64xp4WR5Mqp}Fvi>i zyae0`sKM`i-)H02HUhTB41A`w!3o&dHu!%2=>~!JER3Hc6be!tw|L}Pk1aa{)n)ZK zffyr3{{uqUH0=Hbp4&;)$eSoAoQ@RG(FO6Cz_!5{A2-*5WyL{QG&c3Ib9WEvw1?I{ zZq7qWafVd#!Io0@`IZ)UzA@%QDKmYbS(Y&-2rLA?4jeW%3n6Ij3^Te)kaZ35c#sP& zn1Z2z#>Rfap%AGwgaZPt`;jVy@8y^<%5e5{#j>|F>$jakIMPI0)022!4~fc8V><~t zTK7`Yc-tD30^yMT zPeOXHG&cKp)YX~d55jNo0T5!0ISu#)@CV@h!?kH{>7_rF+y5$rfWEY3)w(8@{`qZE zsVw1;z;*Mb5skvv3gc%81;boo%a;}SISu-ptYRaol zf4aUtHT!t^5RL;O#u&#KvjBJn_#RMsaGQ-=Tj=giANG2!Az&Gd8E}gMqYbX7NoNhN zZ?Gì@yp|y)`8A{_ekGb(b!iV$N= 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 literal 0 HcmV?d00001 diff --git a/sfj-vue3/src/assets/1-4.png b/sfj-vue3/src/assets/1-4.png new file mode 100644 index 0000000000000000000000000000000000000000..1cbfb79b8fa8b54471ed970e72e07c8acda1d9a5 GIT binary patch literal 7364 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 !^aN`EX^Q~ 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