Full Code of qabin/kb-dms for AI

master 345938816135 cached
540 files
14.2 MB
3.8M tokens
3077 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (15,048K chars total). Download the full file to get everything.
Repository: qabin/kb-dms
Branch: master
Commit: 345938816135
Files: 540
Total size: 14.2 MB

Directory structure:
gitextract_eiqufxd7/

├── .idea/
│   ├── compiler.xml
│   ├── encodings.xml
│   ├── libraries/
│   │   ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml
│   │   ├── Maven__ch_qos_logback_logback_core_1_1_11.xml
│   │   ├── Maven__com_alibaba_druid_1_1_10.xml
│   │   ├── Maven__com_alibaba_druid_spring_boot_starter_1_1_10.xml
│   │   ├── Maven__com_alibaba_fastjson_1_2_46.xml
│   │   ├── Maven__com_fasterxml_classmate_1_3_4.xml
│   │   ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml
│   │   ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_10.xml
│   │   ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_10.xml
│   │   ├── Maven__com_github_jsqlparser_jsqlparser_1_4.xml
│   │   ├── Maven__com_google_protobuf_protobuf_java_2_6_0.xml
│   │   ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml
│   │   ├── Maven__com_microsoft_sqlserver_sqljdbc4_4_1.xml
│   │   ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml
│   │   ├── Maven__commons_beanutils_commons_beanutils_1_9_3.xml
│   │   ├── Maven__commons_codec_commons_codec_1_10.xml
│   │   ├── Maven__commons_collections_commons_collections_3_2_2.xml
│   │   ├── Maven__javax_validation_validation_api_1_1_0_Final.xml
│   │   ├── Maven__junit_junit_4_12.xml
│   │   ├── Maven__mysql_mysql_connector_java_8_0_11.xml
│   │   ├── Maven__net_minidev_accessors_smart_1_1.xml
│   │   ├── Maven__net_minidev_json_smart_2_2_1.xml
│   │   ├── Maven__net_sf_ehcache_ehcache_core_2_5_3.xml
│   │   ├── Maven__org_apache_commons_commons_lang3_3_8_1.xml
│   │   ├── Maven__org_apache_httpcomponents_httpclient_4_5_5.xml
│   │   ├── Maven__org_apache_httpcomponents_httpclient_4_5_8.xml
│   │   ├── Maven__org_apache_httpcomponents_httpcore_4_4_9.xml
│   │   ├── Maven__org_apache_shiro_shiro_core_1_3_2.xml
│   │   ├── Maven__org_apache_shiro_shiro_ehcache_1_3_2.xml
│   │   ├── Maven__org_apache_shiro_shiro_spring_1_3_2.xml
│   │   ├── Maven__org_apache_shiro_shiro_web_1_3_2.xml
│   │   ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_27.xml
│   │   ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_27.xml
│   │   ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_27.xml
│   │   ├── Maven__org_apache_tomcat_tomcat_annotations_api_8_5_27.xml
│   │   ├── Maven__org_apache_tomcat_tomcat_jdbc_8_5_27.xml
│   │   ├── Maven__org_apache_tomcat_tomcat_juli_8_5_27.xml
│   │   ├── Maven__org_aspectj_aspectjweaver_1_8_13.xml
│   │   ├── Maven__org_aspectj_aspectjweaver_1_8_3.xml
│   │   ├── Maven__org_assertj_assertj_core_2_6_0.xml
│   │   ├── Maven__org_hamcrest_hamcrest_core_1_3.xml
│   │   ├── Maven__org_hamcrest_hamcrest_library_1_3.xml
│   │   ├── Maven__org_hibernate_hibernate_validator_5_3_6_Final.xml
│   │   ├── Maven__org_jboss_logging_jboss_logging_3_3_1_Final.xml
│   │   ├── Maven__org_mockito_mockito_core_1_10_19.xml
│   │   ├── Maven__org_mybatis_mybatis_3_4_5.xml
│   │   ├── Maven__org_mybatis_mybatis_spring_1_3_1.xml
│   │   ├── Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_3_1.xml
│   │   ├── Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_3_1.xml
│   │   ├── Maven__org_objenesis_objenesis_2_1.xml
│   │   ├── Maven__org_ow2_asm_asm_5_0_3.xml
│   │   ├── Maven__org_projectlombok_lombok_1_16_20.xml
│   │   ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml
│   │   ├── Maven__org_slf4j_jcl_over_slf4j_1_7_25.xml
│   │   ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml
│   │   ├── Maven__org_slf4j_log4j_over_slf4j_1_7_25.xml
│   │   ├── Maven__org_slf4j_slf4j_api_1_7_25.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_1_5_19_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_starter_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_starter_jdbc_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_test_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_aop_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_beans_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_context_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_core_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_expression_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_jdbc_5_1_9_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_test_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_tx_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_web_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_webmvc_4_3_14_RELEASE.xml
│   │   └── Maven__org_yaml_snakeyaml_1_17.xml
│   ├── misc.xml
│   ├── modules.xml
│   ├── uiDesigner.xml
│   ├── vcs.xml
│   └── workspace.xml
├── README.md
├── kb-dms-backend/
│   ├── .gitignore
│   ├── contract/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bin/
│   │                       └── kong/
│   │                           └── dms/
│   │                               └── contract/
│   │                                   ├── common/
│   │                                   │   ├── BaseResponse.java
│   │                                   │   ├── BaseSearch.java
│   │                                   │   ├── GenericResponse.java
│   │                                   │   ├── PaginationResponse.java
│   │                                   │   ├── ResponseState.java
│   │                                   │   └── SearchListAndCountDO.java
│   │                                   ├── config/
│   │                                   │   └── response/
│   │                                   │       ├── DatasourceForSearchResponse.java
│   │                                   │       ├── DatasourcePermissionMemberResponse.java
│   │                                   │       ├── DbResponse.java
│   │                                   │       └── TableResponse.java
│   │                                   ├── permission/
│   │                                   │   └── response/
│   │                                   │       └── SqlOptionsResponse.java
│   │                                   ├── statistics/
│   │                                   │   └── response/
│   │                                   │       ├── GeneralBizCountResponse.java
│   │                                   │       └── GeneralMonthTimelineResponse.java
│   │                                   ├── user/
│   │                                   │   ├── entity/
│   │                                   │   │   └── RequestUserInfo.java
│   │                                   │   └── request/
│   │                                   │       ├── LoginRequest.java
│   │                                   │       ├── RegisterRequest.java
│   │                                   │       ├── SqlEditorShareRequest.java
│   │                                   │       └── UpdateUserInfoRequest.java
│   │                                   └── utils/
│   │                                       └── SqlExeRequest.java
│   ├── core/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bin/
│   │                       └── kong/
│   │                           └── dms/
│   │                               └── core/
│   │                                   ├── config/
│   │                                   │   └── ThreadPoolConfig.java
│   │                                   ├── constants/
│   │                                   │   ├── CookieConstants.java
│   │                                   │   ├── ResponseConstants.java
│   │                                   │   └── UserInfoConstants.java
│   │                                   ├── dynamicdatasource/
│   │                                   │   ├── DynamicDataExeUtils.java
│   │                                   │   ├── DynamicDataSourceContextHolder.java
│   │                                   │   ├── DynamicDataSourceUtils.java
│   │                                   │   ├── DynamicSqlOptionTypeEntity.java
│   │                                   │   ├── DynamicSqlOptionTypeWithDruidControl.java
│   │                                   │   └── DynamicSqlSyntaxCheck.java
│   │                                   ├── entity/
│   │                                   │   ├── MetaIndexEntity.java
│   │                                   │   ├── Result.java
│   │                                   │   ├── SqlExeResult.java
│   │                                   │   ├── TableColumnAndIndexEntity.java
│   │                                   │   ├── TableFieldEntity.java
│   │                                   │   ├── TableIndexEntity.java
│   │                                   │   └── TableInfoEntity.java
│   │                                   ├── enums/
│   │                                   │   ├── BusGroupStatusEnum.java
│   │                                   │   ├── DataSourceStatusEnum.java
│   │                                   │   ├── DatasourceSearchTypeEnum.java
│   │                                   │   ├── DatasourceTypeEnum.java
│   │                                   │   ├── GroupSearchTypeEnum.java
│   │                                   │   ├── SqlEditorActiveStatusEnum.java
│   │                                   │   ├── SqlEditorOpenStatusEnum.java
│   │                                   │   ├── SqlEditorStatusEnum.java
│   │                                   │   ├── SqlExeRecordStatusEnum.java
│   │                                   │   ├── SqlExeResultCountTypeForStatisticsEnum.java
│   │                                   │   ├── SqlExeResultSearchByEnum.java
│   │                                   │   ├── SqlExeResultSearchTypeEnum.java
│   │                                   │   ├── SqlExeResultStatusEnum.java
│   │                                   │   ├── SqlOptionTypeEnum.java
│   │                                   │   ├── SqlOptionTypeEnumForPermission.java
│   │                                   │   ├── SqlQuerySwitchEnum.java
│   │                                   │   ├── SqlSyntaxCheckResultEnum.java
│   │                                   │   └── SqlSyntaxErrorCountTypeForStatisticsEnum.java
│   │                                   ├── exception/
│   │                                   │   ├── UserNotExistException.java
│   │                                   │   └── UserStatusException.java
│   │                                   ├── mybatis/
│   │                                   │   ├── DataSourceConfig.java
│   │                                   │   └── MybatisConfigDms.java
│   │                                   └── utils/
│   │                                       ├── DbUtils.java
│   │                                       ├── HttpUtils.java
│   │                                       ├── PPAesUtils.java
│   │                                       └── PPStringUtils.java
│   ├── dao/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   └── com/
│   │           │       └── bin/
│   │           │           └── kong/
│   │           │               └── dms/
│   │           │                   └── dao/
│   │           │                       └── mapper/
│   │           │                           ├── config/
│   │           │                           │   ├── CfAdminConfigMapper.java
│   │           │                           │   ├── CfBusGroupMapper.java
│   │           │                           │   ├── CfBusGroupOwnersMapper.java
│   │           │                           │   ├── CfBusGroupUsersMapper.java
│   │           │                           │   ├── CfDatasourceMapper.java
│   │           │                           │   ├── CfDatasourceOwnersMapper.java
│   │           │                           │   ├── CfDatasourcePermissionMemberMapper.java
│   │           │                           │   └── CfDatasourcePermissionSqlOptionsMapper.java
│   │           │                           ├── join/
│   │           │                           │   ├── BusGroupJoinOwnerMapper.java
│   │           │                           │   ├── DatasourceJoinGroupJoinOwnerMapper.java
│   │           │                           │   ├── DatasourceJoinGroupMapper.java
│   │           │                           │   └── SqlEditorTabJoinDatasourceMapper.java
│   │           │                           ├── result/
│   │           │                           │   ├── RsSqlExeRecordMapper.java
│   │           │                           │   └── RsSqlExeResultMapper.java
│   │           │                           ├── statistics/
│   │           │                           │   ├── StSqlExeBizTotalMapper.java
│   │           │                           │   ├── StSqlExeResultCountDayMapper.java
│   │           │                           │   ├── StSqlExeResultCountTimelineMapper.java
│   │           │                           │   ├── StSqlSyntaxErrorCountDayMapper.java
│   │           │                           │   └── StSqlSyntaxErrorCountTimelineMapper.java
│   │           │                           └── user/
│   │           │                               ├── UsActiveSqlEditorTabMapper.java
│   │           │                               ├── UsFavoriteDatasourceMapper.java
│   │           │                               ├── UsFavoriteDbMapper.java
│   │           │                               ├── UsFavoriteGroupMapper.java
│   │           │                               ├── UsFavoriteTableMapper.java
│   │           │                               ├── UsSqlEditorTabMapper.java
│   │           │                               └── UserInfoMapper.java
│   │           └── resources/
│   │               ├── generatorConfig.xml
│   │               └── mybatis/
│   │                   ├── configMapping/
│   │                   │   ├── CfAdminConfigMapper.xml
│   │                   │   ├── CfBusGroupMapper.xml
│   │                   │   ├── CfBusGroupOwnersMapper.xml
│   │                   │   ├── CfBusGroupUsersMapper.xml
│   │                   │   ├── CfDatasourceMapper.xml
│   │                   │   ├── CfDatasourceOwnersMapper.xml
│   │                   │   ├── CfDatasourcePermissionMemberMapper.xml
│   │                   │   └── CfDatasourcePermissionSqlOptionsMapper.xml
│   │                   ├── joinMapping/
│   │                   │   ├── BusGroupJoinOwnerMapper.xml
│   │                   │   ├── DatasourceJoinGroupJoinOwnerMapper.xml
│   │                   │   ├── DatasourceJoinGroupMapper.xml
│   │                   │   └── SqlEditorTabJoinDatasourceMapper.xml
│   │                   ├── resultMapping/
│   │                   │   ├── RsSqlExeRecordMapper.xml
│   │                   │   └── RsSqlExeResultMapper.xml
│   │                   ├── statisticsMapping/
│   │                   │   ├── StSqlExeBizTotalMapper.xml
│   │                   │   ├── StSqlExeResultCountDayMapper.xml
│   │                   │   ├── StSqlExeResultCountTimelineMapper.xml
│   │                   │   ├── StSqlSyntaxErrorCountDayMapper.xml
│   │                   │   └── StSqlSyntaxErrorCountTimelineMapper.xml
│   │                   └── userMapping/
│   │                       ├── UsActiveSqlEditorTabMapper.xml
│   │                       ├── UsFavoriteDatasourceMapper.xml
│   │                       ├── UsFavoriteDbMapper.xml
│   │                       ├── UsFavoriteGroupMapper.xml
│   │                       ├── UsFavoriteTableMapper.xml
│   │                       ├── UsSqlEditorTabMapper.xml
│   │                       └── UserInfoMapper.xml
│   ├── model/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bin/
│   │                       └── kong/
│   │                           └── dms/
│   │                               └── model/
│   │                                   ├── config/
│   │                                   │   ├── entity/
│   │                                   │   │   ├── CfAdminConfig.java
│   │                                   │   │   ├── CfBusGroup.java
│   │                                   │   │   ├── CfBusGroupOwners.java
│   │                                   │   │   ├── CfBusGroupUsers.java
│   │                                   │   │   ├── CfDatasource.java
│   │                                   │   │   ├── CfDatasourceOwners.java
│   │                                   │   │   ├── CfDatasourcePermissionMember.java
│   │                                   │   │   └── CfDatasourcePermissionSqlOptions.java
│   │                                   │   └── search/
│   │                                   │       ├── AdminSearch.java
│   │                                   │       ├── BusGroupSearch.java
│   │                                   │       ├── BusGroupUsersSearch.java
│   │                                   │       └── DatasourceSearch.java
│   │                                   ├── join/
│   │                                   │   ├── entity/
│   │                                   │   │   ├── BusGroupJoinOwner.java
│   │                                   │   │   ├── DatasourceJoinGroup.java
│   │                                   │   │   ├── DatasourceJoinGroupJoinOwner.java
│   │                                   │   │   ├── DdlOptionJoinTask.java
│   │                                   │   │   └── SqlEditorTabJoinDatasource.java
│   │                                   │   └── search/
│   │                                   │       ├── BusGroupJoinOwnerSearch.java
│   │                                   │       ├── DatasourceJoinGroupJoinOwnerSearch.java
│   │                                   │       ├── DatasourceJoinGroupSearch.java
│   │                                   │       ├── DdlOptionsJoinTaskSearch.java
│   │                                   │       └── SqlEditorTabJoinDatasourceSearch.java
│   │                                   ├── result/
│   │                                   │   ├── entity/
│   │                                   │   │   ├── RsSqlExeRecord.java
│   │                                   │   │   └── RsSqlExeResult.java
│   │                                   │   └── search/
│   │                                   │       ├── SqlExeResultForStatisticsSearch.java
│   │                                   │       └── SqlExeResultSearch.java
│   │                                   ├── statistics/
│   │                                   │   ├── entity/
│   │                                   │   │   ├── StSqlExeBizTotal.java
│   │                                   │   │   ├── StSqlExeResultCountDay.java
│   │                                   │   │   ├── StSqlExeResultCountTimeline.java
│   │                                   │   │   ├── StSqlSyntaxErrorCountDay.java
│   │                                   │   │   └── StSqlSyntaxErrorCountTimeline.java
│   │                                   │   └── search/
│   │                                   │       ├── StSqlExeResultCountDaySearch.java
│   │                                   │       ├── StSqlExeResultCountTimelineSearch.java
│   │                                   │       ├── StSqlSyntaxErrorCountDaySearch.java
│   │                                   │       └── StSqlSyntaxErrorCountTimelineSearch.java
│   │                                   └── user/
│   │                                       ├── entity/
│   │                                       │   ├── UsActiveSqlEditorTab.java
│   │                                       │   ├── UsFavoriteDatasource.java
│   │                                       │   ├── UsFavoriteDb.java
│   │                                       │   ├── UsFavoriteGroup.java
│   │                                       │   ├── UsFavoriteTable.java
│   │                                       │   ├── UsSqlEditorTab.java
│   │                                       │   ├── UserInfo.java
│   │                                       │   └── UserInfoDTO.java
│   │                                       └── search/
│   │                                           └── SqlEditorTabSearch.java
│   ├── pom.xml
│   └── server/
│       ├── .gitignore
│       ├── .mvn/
│       │   └── wrapper/
│       │       ├── MavenWrapperDownloader.java
│       │       ├── maven-wrapper.jar
│       │       └── maven-wrapper.properties
│       ├── mvnw
│       ├── mvnw.cmd
│       ├── pom.xml
│       └── src/
│           ├── main/
│           │   ├── java/
│           │   │   └── com/
│           │   │       └── bin/
│           │   │           └── kong/
│           │   │               └── dms/
│           │   │                   └── sever/
│           │   │                       ├── SeverApplication.java
│           │   │                       ├── config/
│           │   │                       │   └── ShiroConfig.java
│           │   │                       ├── controller/
│           │   │                       │   ├── common/
│           │   │                       │   │   └── BaseController.java
│           │   │                       │   ├── config/
│           │   │                       │   │   ├── AdminController.java
│           │   │                       │   │   ├── BusGroupController.java
│           │   │                       │   │   ├── BusGroupOwnersController.java
│           │   │                       │   │   ├── BusGroupUsersController.java
│           │   │                       │   │   ├── DatasourceController.java
│           │   │                       │   │   ├── DatasourceOwnersController.java
│           │   │                       │   │   ├── DatasourcePermissionMemberController.java
│           │   │                       │   │   └── DatasourcePermissionSqlOptionsController.java
│           │   │                       │   ├── permission/
│           │   │                       │   │   └── PermissionController.java
│           │   │                       │   ├── result/
│           │   │                       │   │   └── SqlExeResultController.java
│           │   │                       │   ├── statistics/
│           │   │                       │   │   └── GeneralStatisticsController.java
│           │   │                       │   ├── user/
│           │   │                       │   │   ├── ActiveSqlEditorTabController.java
│           │   │                       │   │   ├── LoginController.java
│           │   │                       │   │   ├── RegisterController.java
│           │   │                       │   │   ├── SqlEditorTabController.java
│           │   │                       │   │   ├── UserFavoriteController.java
│           │   │                       │   │   └── UserInfoController.java
│           │   │                       │   └── utils/
│           │   │                       │       ├── SqlEditorUtilsController.java
│           │   │                       │       └── SqlExeController.java
│           │   │                       ├── filter/
│           │   │                       │   └── UrlFilter.java
│           │   │                       ├── job/
│           │   │                       │   ├── SqlExeResultCountForDayJob.java
│           │   │                       │   ├── SqlExeResultCountForTimelineJob.java
│           │   │                       │   ├── SqlExeSyntaxErrorCountForDayJob.java
│           │   │                       │   └── SqlExeSyntaxErrorCountForTimelineJob.java
│           │   │                       ├── runner/
│           │   │                       │   └── DataSourceInitRunner.java
│           │   │                       ├── service/
│           │   │                       │   ├── ISqlExeService.java
│           │   │                       │   ├── ISqlOptionsTypePermissionService.java
│           │   │                       │   ├── IStSqlExeBizTotalService.java
│           │   │                       │   └── impl/
│           │   │                       │       ├── SqlExeServiceImpl.java
│           │   │                       │       ├── SqlOptionsTypePermissionServiceImpl.java
│           │   │                       │       └── StSqlExeBizTotalServiceImpl.java
│           │   │                       └── shiro/
│           │   │                           ├── MyCredentialsMatcher.java
│           │   │                           ├── MyExceptionHandler.java
│           │   │                           ├── MyShiroRealm.java
│           │   │                           └── PaoSessionManager.java
│           │   └── resources/
│           │       ├── application-dev.yml
│           │       ├── application.yml
│           │       ├── banner.txt
│           │       ├── db/
│           │       │   ├── 1_database.sql
│           │       │   ├── 2_tables.sql
│           │       │   └── 3_init_data.sql
│           │       ├── logback-spring.xml
│           │       └── static/
│           │           ├── index.html
│           │           └── static/
│           │               ├── css/
│           │               │   ├── app.a75ebbd0f55ebb297798f6129fc54248.css
│           │               │   └── app.a75ebbd0f55ebb297798f6129fc54248.css.map
│           │               └── js/
│           │                   ├── 0.adcbbedf1bc97e8c5a86.js
│           │                   ├── 0.adcbbedf1bc97e8c5a86.js.map
│           │                   ├── 1.17872d9c9558aa7b47a8.js
│           │                   ├── 1.17872d9c9558aa7b47a8.js.map
│           │                   ├── 2.f9dfc16198ee234c2eb8.js
│           │                   ├── 2.f9dfc16198ee234c2eb8.js.map
│           │                   ├── 3.c32696bce67f93ff9efe.js
│           │                   ├── 3.c32696bce67f93ff9efe.js.map
│           │                   ├── 4.cd83619a6b427be7d142.js
│           │                   ├── 4.cd83619a6b427be7d142.js.map
│           │                   ├── 5.a638a404fc2f3fb94a64.js
│           │                   ├── 5.a638a404fc2f3fb94a64.js.map
│           │                   ├── 6.8f273453121ae60f153f.js
│           │                   ├── 6.8f273453121ae60f153f.js.map
│           │                   ├── 7.5526581747961aef2581.js
│           │                   ├── 7.5526581747961aef2581.js.map
│           │                   ├── 8.3a774218aaed1aec2b73.js
│           │                   ├── 8.3a774218aaed1aec2b73.js.map
│           │                   ├── app.efe01cc3dc95d8a05618.js
│           │                   ├── app.efe01cc3dc95d8a05618.js.map
│           │                   ├── manifest.34de0bce1187b89041d6.js
│           │                   ├── manifest.34de0bce1187b89041d6.js.map
│           │                   ├── vendor.5404de12be6487c3db8e.js
│           │                   └── vendor.5404de12be6487c3db8e.js.map
│           └── test/
│               └── java/
│                   └── com/
│                       └── bin/
│                           └── kong/
│                               └── dms/
│                                   └── sever/
│                                       └── SeverApplicationTests.java
├── kb-dms-web/
│   ├── .babelrc
│   ├── .editorconfig
│   ├── .gitignore
│   ├── .postcssrc.js
│   ├── README.md
│   ├── build/
│   │   ├── build.js
│   │   ├── check-versions.js
│   │   ├── utils.js
│   │   ├── vue-loader.conf.js
│   │   ├── webpack.base.conf.js
│   │   ├── webpack.dev.conf.js
│   │   └── webpack.prod.conf.js
│   ├── config/
│   │   ├── dev.env.js
│   │   ├── index.js
│   │   ├── prod.env.js
│   │   └── test.env.js
│   ├── index.html
│   ├── jsonlint.js
│   ├── jsonlint.l
│   ├── jsonlint.y
│   ├── package.json
│   ├── src/
│   │   ├── App.vue
│   │   ├── api/
│   │   │   ├── config/
│   │   │   │   ├── admin_api.js
│   │   │   │   ├── bus_group_api.js
│   │   │   │   ├── bus_group_owners_api.js
│   │   │   │   ├── bus_group_users_api.js
│   │   │   │   ├── datasource_api.js
│   │   │   │   ├── datasource_owners_api.js
│   │   │   │   ├── datasource_permission_member_api.js
│   │   │   │   └── datasource_permission_sql_options_api.js
│   │   │   ├── permission/
│   │   │   │   └── sql_options_api.js
│   │   │   ├── result/
│   │   │   │   └── sql_exe_result_api.js
│   │   │   ├── statistics/
│   │   │   │   └── general_statistics_api.js
│   │   │   ├── user/
│   │   │   │   ├── sql_editor_tab_api.js
│   │   │   │   ├── user_favorite_api.js
│   │   │   │   ├── user_info_api.js
│   │   │   │   ├── user_login_api.js
│   │   │   │   └── user_register_api.js
│   │   │   └── utils/
│   │   │       ├── sql_editor_utils_api.js
│   │   │       └── sql_exe_utils_api.js
│   │   ├── components/
│   │   │   ├── GenericFormUI.js
│   │   │   ├── catalog/
│   │   │   │   ├── ComponentGenericFilter.js
│   │   │   │   ├── ComponentLazyInput.js
│   │   │   │   ├── ComponentSelectorCatalog.js
│   │   │   │   ├── MixinCatalogBase.js
│   │   │   │   ├── MixinCatalogBaseNoPage.js
│   │   │   │   └── MixinExpandableCatalogBase.js
│   │   │   ├── datePicker/
│   │   │   │   ├── DatePicker.js
│   │   │   │   ├── hour_selector.js
│   │   │   │   ├── minute_selector.js
│   │   │   │   ├── style.css
│   │   │   │   └── utils.js
│   │   │   ├── echarts/
│   │   │   │   └── echarts_tools.js
│   │   │   ├── editor/
│   │   │   │   ├── Editor.js
│   │   │   │   └── componentFontsColorCard.js
│   │   │   ├── elements/
│   │   │   │   ├── PpSection.js
│   │   │   │   ├── clear_btn.js
│   │   │   │   ├── favorite-btn.js
│   │   │   │   ├── icon_btn.js
│   │   │   │   ├── icon_btn_improve.js
│   │   │   │   ├── pp_field.js
│   │   │   │   ├── pp_navigator.js
│   │   │   │   ├── pp_section.css
│   │   │   │   ├── pp_section.js
│   │   │   │   ├── pp_section_card.js
│   │   │   │   └── side_navigator.js
│   │   │   ├── modal/
│   │   │   │   └── MixinsBaseModal.js
│   │   │   ├── selector/
│   │   │   │   ├── BusGroupSelector.js
│   │   │   │   ├── ComponentDatePicker.js
│   │   │   │   ├── ComponentMultiPersonSelector.js
│   │   │   │   ├── ComponentPersonSelector.js
│   │   │   │   ├── Datasource.js
│   │   │   │   ├── DatasourceDB.js
│   │   │   │   ├── DatasourceDbSelector.js
│   │   │   │   ├── DatasourceSelector.js
│   │   │   │   ├── DatasourceTypeSelector.js
│   │   │   │   ├── MixinSelectorBase.js
│   │   │   │   ├── MySqlEditorSelector.js
│   │   │   │   ├── MysqlCharsetSelector.js
│   │   │   │   ├── PluginMultiSelector.js
│   │   │   │   ├── PluginSelectorOptionsQueryFilter.js
│   │   │   │   ├── PpPopover.js
│   │   │   │   ├── TableDataTypeInputSelector.js
│   │   │   │   ├── TableIndexTypeInputSelector.js
│   │   │   │   └── TableSelector.js
│   │   │   └── upload/
│   │   │       └── button_upload_file.js
│   │   ├── css/
│   │   │   ├── materialdesignicons.css
│   │   │   ├── overwrite.css
│   │   │   ├── style.css
│   │   │   └── theme.css
│   │   ├── layouts/
│   │   │   ├── footer-menu.vue
│   │   │   ├── header-menu.vue
│   │   │   ├── header_data.js
│   │   │   ├── index.vue
│   │   │   ├── left-menu-item.vue
│   │   │   ├── left-menu.vue
│   │   │   ├── left_menu_data.js
│   │   │   └── path_bar.vue
│   │   ├── main.js
│   │   ├── pages/
│   │   │   ├── config/
│   │   │   │   ├── admin/
│   │   │   │   │   ├── comp_admin_catalog.js
│   │   │   │   │   └── index.js
│   │   │   │   ├── datasource/
│   │   │   │   │   ├── comp_datasource_catalog.js
│   │   │   │   │   ├── comp_datasource_detail.js
│   │   │   │   │   ├── index.js
│   │   │   │   │   ├── modal_datasource_create.js
│   │   │   │   │   └── section_datasource_permission.js
│   │   │   │   ├── group_config/
│   │   │   │   │   ├── comp_group_catalog.js
│   │   │   │   │   ├── comp_group_detail.js
│   │   │   │   │   ├── comp_group_users.js
│   │   │   │   │   └── index.js
│   │   │   │   ├── layouts/
│   │   │   │   │   ├── footer-menu.vue
│   │   │   │   │   ├── header-menu.vue
│   │   │   │   │   └── index.vue
│   │   │   │   └── system_config.js
│   │   │   ├── history/
│   │   │   │   ├── comp_sql_exe_result_catalog.js
│   │   │   │   ├── comp_sql_exe_result_tool_bar.js
│   │   │   │   ├── index.js
│   │   │   │   ├── modal_sql_exe_result_detail.js
│   │   │   │   └── sql_exe_result_search_by_selector.js
│   │   │   ├── home/
│   │   │   │   ├── comp_exe_result.js
│   │   │   │   ├── comp_exe_result_catalog.js
│   │   │   │   ├── comp_field_catalog.js
│   │   │   │   ├── comp_sql_editor.js
│   │   │   │   ├── comp_sql_editor_tabs.js
│   │   │   │   ├── comp_table_catalog.js
│   │   │   │   ├── comp_table_column_type_input.js
│   │   │   │   ├── comp_table_content_catalog.js
│   │   │   │   ├── comp_table_data_menu.js
│   │   │   │   ├── comp_table_edit_catalog.js
│   │   │   │   ├── comp_table_edit_field_type_input.js
│   │   │   │   ├── comp_table_edit_row_menu.js
│   │   │   │   ├── comp_table_folder.js
│   │   │   │   ├── comp_table_folder_menu.js
│   │   │   │   ├── comp_table_index_field_type_input.js
│   │   │   │   ├── comp_table_index_row_menu.js
│   │   │   │   ├── comp_table_info.js
│   │   │   │   ├── comp_table_info_columns_catalog.js
│   │   │   │   ├── comp_table_info_ddl.js
│   │   │   │   ├── index.js
│   │   │   │   ├── modal_sql_confirm.js
│   │   │   │   ├── pp_navigator_table_info.js
│   │   │   │   ├── utils_ddl_sql_check.js
│   │   │   │   ├── utils_ddl_sql_command_builder.js
│   │   │   │   ├── utils_dml_sql_command_builder.js
│   │   │   │   └── utils_edit_ddl_sql_command_builder.js
│   │   │   ├── statistics/
│   │   │   │   ├── comp_dash_card_simple.js
│   │   │   │   └── index.js
│   │   │   └── user/
│   │   │       ├── info/
│   │   │       │   └── index.js
│   │   │       ├── login/
│   │   │       │   └── index.js
│   │   │       └── register/
│   │   │           └── index.js
│   │   ├── plugins/
│   │   │   ├── PpDialog.js
│   │   │   ├── PpNotify.css
│   │   │   ├── PpNotify.js
│   │   │   ├── axios.js
│   │   │   ├── clipboard.js
│   │   │   ├── easy-table/
│   │   │   │   └── kb-easytable.js
│   │   │   ├── quasar.js
│   │   │   ├── sql_exe_editor/
│   │   │   │   ├── editor.js
│   │   │   │   └── style.css
│   │   │   ├── theme_ctl.js
│   │   │   ├── vue-editor/
│   │   │   │   ├── vkbeautify.js
│   │   │   │   ├── vue-editor.css
│   │   │   │   ├── vue-editor.js
│   │   │   │   └── vue-eidtor-data-format.js
│   │   │   ├── vuelidate.js
│   │   │   └── vuetouch.js
│   │   ├── router/
│   │   │   ├── index.js
│   │   │   └── routes.js
│   │   ├── store/
│   │   │   ├── home/
│   │   │   │   ├── actions.js
│   │   │   │   ├── getters.js
│   │   │   │   ├── index.js
│   │   │   │   ├── mutations.js
│   │   │   │   └── state.js
│   │   │   ├── index.js
│   │   │   ├── main/
│   │   │   │   ├── actions.js
│   │   │   │   ├── getters.js
│   │   │   │   ├── index.js
│   │   │   │   ├── mutations.js
│   │   │   │   └── state.js
│   │   │   └── user/
│   │   │       ├── actions.js
│   │   │       ├── getters.js
│   │   │       ├── index.js
│   │   │       ├── mutations.js
│   │   │       └── state.js
│   │   └── utils/
│   │       ├── Optional.js
│   │       ├── clipboard.js
│   │       ├── config_dictionary.js
│   │       ├── data_format_utils.js
│   │       ├── data_utils.js
│   │       ├── date_format_utils.js
│   │       ├── edit_ddl_dictionary.js
│   │       ├── favorite_selection.js
│   │       ├── favorite_user_selection.js
│   │       ├── local_storage_utils.js
│   │       ├── mysql_charset_dictionary.js
│   │       ├── regExp.js
│   │       ├── render_field_helper.js
│   │       ├── request_dictionary.js
│   │       ├── result_dictionary.js
│   │       ├── sql_editor_dictionary.js
│   │       ├── user_dictionary.js
│   │       └── utils_mysql_keywords_check.js
│   ├── static/
│   │   └── .gitkeep
│   └── test/
│       └── e2e/
│           ├── custom-assertions/
│           │   └── elementCount.js
│           ├── nightwatch.conf.js
│           ├── runner.js
│           └── specs/
│               └── test.js
└── kb-dms.iml

================================================
FILE CONTENTS
================================================

================================================
FILE: .idea/compiler.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="CompilerConfiguration">
    <annotationProcessing>
      <profile name="Maven default annotation processors profile" enabled="true">
        <sourceOutputDir name="target/generated-sources/annotations" />
        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
        <outputRelativeToContentRoot value="true" />
        <module name="contract" />
        <module name="core" />
        <module name="dao" />
        <module name="model" />
        <module name="server" />
      </profile>
    </annotationProcessing>
    <bytecodeTargetLevel>
      <module name="contract" target="1.8" />
      <module name="core" target="1.8" />
      <module name="dao" target="1.8" />
      <module name="dms-backend" target="1.8" />
      <module name="model" target="1.8" />
      <module name="server" target="1.8" />
    </bytecodeTargetLevel>
  </component>
</project>

================================================
FILE: .idea/encodings.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="Encoding" addBOMForNewFiles="with NO BOM">
    <file url="file://$PROJECT_DIR$/kb-dms-backend" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/kb-dms-backend/contract" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/kb-dms-backend/core" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/kb-dms-backend/dao" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/kb-dms-backend/model" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/kb-dms-backend/server" charset="UTF-8" />
  </component>
</project>

================================================
FILE: .idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_11.xml
================================================
<component name="libraryTable">
  <library name="Maven: ch.qos.logback:logback-classic:1.1.11">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__ch_qos_logback_logback_core_1_1_11.xml
================================================
<component name="libraryTable">
  <library name="Maven: ch.qos.logback:logback-core:1.1.11">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.1.11/logback-core-1.1.11.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.1.11/logback-core-1.1.11-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.1.11/logback-core-1.1.11-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__com_alibaba_druid_1_1_10.xml
================================================
<component name="libraryTable">
  <library name="Maven: com.alibaba:druid:1.1.10">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/com/alibaba/druid/1.1.10/druid-1.1.10.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/com/alibaba/druid/1.1.10/druid-1.1.10-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/com/alibaba/druid/1.1.10/druid-1.1.10-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__com_alibaba_druid_spring_boot_starter_1_1_10.xml
================================================
<component name="libraryTable">
  <library name="Maven: com.alibaba:druid-spring-boot-starter:1.1.10">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/com/alibaba/druid-spring-boot-starter/1.1.10/druid-spring-boot-starter-1.1.10.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/com/alibaba/druid-spring-boot-starter/1.1.10/druid-spring-boot-starter-1.1.10-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/com/alibaba/druid-spring-boot-starter/1.1.10/druid-spring-boot-starter-1.1.10-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__com_alibaba_fastjson_1_2_46.xml
================================================
<component name="libraryTable">
  <library name="Maven: com.alibaba:fastjson:1.2.46">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/com/alibaba/fastjson/1.2.46/fastjson-1.2.46.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/com/alibaba/fastjson/1.2.46/fastjson-1.2.46-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/com/alibaba/fastjson/1.2.46/fastjson-1.2.46-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__com_fasterxml_classmate_1_3_4.xml
================================================
<component name="libraryTable">
  <library name="Maven: com.fasterxml:classmate:1.3.4">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/classmate/1.3.4/classmate-1.3.4-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/classmate/1.3.4/classmate-1.3.4-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml
================================================
<component name="libraryTable">
  <library name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.0">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_8_10.xml
================================================
<component name="libraryTable">
  <library name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.10">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.8.10/jackson-core-2.8.10.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.8.10/jackson-core-2.8.10-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.8.10/jackson-core-2.8.10-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_8_10.xml
================================================
<component name="libraryTable">
  <library name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.10">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-databind/2.8.10/jackson-databind-2.8.10.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-databind/2.8.10/jackson-databind-2.8.10-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-databind/2.8.10/jackson-databind-2.8.10-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__com_github_jsqlparser_jsqlparser_1_4.xml
================================================
<component name="libraryTable">
  <library name="Maven: com.github.jsqlparser:jsqlparser:1.4">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/com/github/jsqlparser/jsqlparser/1.4/jsqlparser-1.4.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/com/github/jsqlparser/jsqlparser/1.4/jsqlparser-1.4-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/com/github/jsqlparser/jsqlparser/1.4/jsqlparser-1.4-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__com_google_protobuf_protobuf_java_2_6_0.xml
================================================
<component name="libraryTable">
  <library name="Maven: com.google.protobuf:protobuf-java:2.6.0">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java/2.6.0/protobuf-java-2.6.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java/2.6.0/protobuf-java-2.6.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java/2.6.0/protobuf-java-2.6.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__com_jayway_jsonpath_json_path_2_2_0.xml
================================================
<component name="libraryTable">
  <library name="Maven: com.jayway.jsonpath:json-path:2.2.0">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/com/jayway/jsonpath/json-path/2.2.0/json-path-2.2.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/com/jayway/jsonpath/json-path/2.2.0/json-path-2.2.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/com/jayway/jsonpath/json-path/2.2.0/json-path-2.2.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__com_microsoft_sqlserver_sqljdbc4_4_1.xml
================================================
<component name="libraryTable">
  <library name="Maven: com.microsoft.sqlserver:sqljdbc4:4.1">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/com/microsoft/sqlserver/sqljdbc4/4.1/sqljdbc4-4.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/com/microsoft/sqlserver/sqljdbc4/4.1/sqljdbc4-4.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/com/microsoft/sqlserver/sqljdbc4/4.1/sqljdbc4-4.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml
================================================
<component name="libraryTable">
  <library name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_3.xml
================================================
<component name="libraryTable">
  <library name="Maven: commons-beanutils:commons-beanutils:1.9.3">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/commons-beanutils/commons-beanutils/1.9.3/commons-beanutils-1.9.3.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/commons-beanutils/commons-beanutils/1.9.3/commons-beanutils-1.9.3-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/commons-beanutils/commons-beanutils/1.9.3/commons-beanutils-1.9.3-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__commons_codec_commons_codec_1_10.xml
================================================
<component name="libraryTable">
  <library name="Maven: commons-codec:commons-codec:1.10">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.10/commons-codec-1.10.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.10/commons-codec-1.10-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.10/commons-codec-1.10-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml
================================================
<component name="libraryTable">
  <library name="Maven: commons-collections:commons-collections:3.2.2">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml
================================================
<component name="libraryTable">
  <library name="Maven: javax.validation:validation-api:1.1.0.Final">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__junit_junit_4_12.xml
================================================
<component name="libraryTable">
  <library name="Maven: junit:junit:4.12">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__mysql_mysql_connector_java_8_0_11.xml
================================================
<component name="libraryTable">
  <library name="Maven: mysql:mysql-connector-java:8.0.11">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__net_minidev_accessors_smart_1_1.xml
================================================
<component name="libraryTable">
  <library name="Maven: net.minidev:accessors-smart:1.1">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/net/minidev/accessors-smart/1.1/accessors-smart-1.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/net/minidev/accessors-smart/1.1/accessors-smart-1.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/net/minidev/accessors-smart/1.1/accessors-smart-1.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__net_minidev_json_smart_2_2_1.xml
================================================
<component name="libraryTable">
  <library name="Maven: net.minidev:json-smart:2.2.1">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/net/minidev/json-smart/2.2.1/json-smart-2.2.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/net/minidev/json-smart/2.2.1/json-smart-2.2.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/net/minidev/json-smart/2.2.1/json-smart-2.2.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_5_3.xml
================================================
<component name="libraryTable">
  <library name="Maven: net.sf.ehcache:ehcache-core:2.5.3">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/net/sf/ehcache/ehcache-core/2.5.3/ehcache-core-2.5.3.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/net/sf/ehcache/ehcache-core/2.5.3/ehcache-core-2.5.3-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/net/sf/ehcache/ehcache-core/2.5.3/ehcache-core-2.5.3-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.apache.commons:commons-lang3:3.8.1">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_5.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.apache.httpcomponents:httpclient:4.5.5">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.5/httpclient-4.5.5.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.5/httpclient-4.5.5-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.5/httpclient-4.5.5-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_8.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.apache.httpcomponents:httpclient:4.5.8">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.8/httpclient-4.5.8.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.8/httpclient-4.5.8-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.8/httpclient-4.5.8-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_9.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.apache.httpcomponents:httpcore:4.4.9">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpcore/4.4.9/httpcore-4.4.9.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpcore/4.4.9/httpcore-4.4.9-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpcore/4.4.9/httpcore-4.4.9-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_apache_shiro_shiro_core_1_3_2.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.apache.shiro:shiro-core:1.3.2">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/shiro/shiro-core/1.3.2/shiro-core-1.3.2.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/shiro/shiro-core/1.3.2/shiro-core-1.3.2-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/shiro/shiro-core/1.3.2/shiro-core-1.3.2-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_apache_shiro_shiro_ehcache_1_3_2.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.apache.shiro:shiro-ehcache:1.3.2">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/shiro/shiro-ehcache/1.3.2/shiro-ehcache-1.3.2.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/shiro/shiro-ehcache/1.3.2/shiro-ehcache-1.3.2-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/shiro/shiro-ehcache/1.3.2/shiro-ehcache-1.3.2-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_apache_shiro_shiro_spring_1_3_2.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.apache.shiro:shiro-spring:1.3.2">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/shiro/shiro-spring/1.3.2/shiro-spring-1.3.2.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/shiro/shiro-spring/1.3.2/shiro-spring-1.3.2-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/shiro/shiro-spring/1.3.2/shiro-spring-1.3.2-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_apache_shiro_shiro_web_1_3_2.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.apache.shiro:shiro-web:1.3.2">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/shiro/shiro-web/1.3.2/shiro-web-1.3.2.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/shiro/shiro-web/1.3.2/shiro-web-1.3.2-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/shiro/shiro-web/1.3.2/shiro-web-1.3.2-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_27.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.27">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/embed/tomcat-embed-core/8.5.27/tomcat-embed-core-8.5.27.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/embed/tomcat-embed-core/8.5.27/tomcat-embed-core-8.5.27-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/embed/tomcat-embed-core/8.5.27/tomcat-embed-core-8.5.27-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_27.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.27">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/embed/tomcat-embed-el/8.5.27/tomcat-embed-el-8.5.27.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/embed/tomcat-embed-el/8.5.27/tomcat-embed-el-8.5.27-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/embed/tomcat-embed-el/8.5.27/tomcat-embed-el-8.5.27-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_27.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.27">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.27/tomcat-embed-websocket-8.5.27.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.27/tomcat-embed-websocket-8.5.27-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.27/tomcat-embed-websocket-8.5.27-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_apache_tomcat_tomcat_annotations_api_8_5_27.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.apache.tomcat:tomcat-annotations-api:8.5.27">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/tomcat-annotations-api/8.5.27/tomcat-annotations-api-8.5.27.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/tomcat-annotations-api/8.5.27/tomcat-annotations-api-8.5.27-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/tomcat-annotations-api/8.5.27/tomcat-annotations-api-8.5.27-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_apache_tomcat_tomcat_jdbc_8_5_27.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.27">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/tomcat-jdbc/8.5.27/tomcat-jdbc-8.5.27.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/tomcat-jdbc/8.5.27/tomcat-jdbc-8.5.27-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/tomcat-jdbc/8.5.27/tomcat-jdbc-8.5.27-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_apache_tomcat_tomcat_juli_8_5_27.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.apache.tomcat:tomcat-juli:8.5.27">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/tomcat-juli/8.5.27/tomcat-juli-8.5.27.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/tomcat-juli/8.5.27/tomcat-juli-8.5.27-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/apache/tomcat/tomcat-juli/8.5.27/tomcat-juli-8.5.27-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_13.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.aspectj:aspectjweaver:1.8.13">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/aspectj/aspectjweaver/1.8.13/aspectjweaver-1.8.13.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/aspectj/aspectjweaver/1.8.13/aspectjweaver-1.8.13-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/aspectj/aspectjweaver/1.8.13/aspectjweaver-1.8.13-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_3.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.aspectj:aspectjweaver:1.8.3">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/aspectj/aspectjweaver/1.8.3/aspectjweaver-1.8.3.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/aspectj/aspectjweaver/1.8.3/aspectjweaver-1.8.3-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/aspectj/aspectjweaver/1.8.3/aspectjweaver-1.8.3-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_assertj_assertj_core_2_6_0.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.assertj:assertj-core:2.6.0">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/assertj/assertj-core/2.6.0/assertj-core-2.6.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/assertj/assertj-core/2.6.0/assertj-core-2.6.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/assertj/assertj-core/2.6.0/assertj-core-2.6.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.hamcrest:hamcrest-core:1.3">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.hamcrest:hamcrest-library:1.3">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_hibernate_hibernate_validator_5_3_6_Final.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.hibernate:hibernate-validator:5.3.6.Final">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/hibernate/hibernate-validator/5.3.6.Final/hibernate-validator-5.3.6.Final.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/hibernate/hibernate-validator/5.3.6.Final/hibernate-validator-5.3.6.Final-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/hibernate/hibernate-validator/5.3.6.Final/hibernate-validator-5.3.6.Final-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_1_Final.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.jboss.logging:jboss-logging:3.3.1.Final">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/jboss/logging/jboss-logging/3.3.1.Final/jboss-logging-3.3.1.Final.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/jboss/logging/jboss-logging/3.3.1.Final/jboss-logging-3.3.1.Final-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/jboss/logging/jboss-logging/3.3.1.Final/jboss-logging-3.3.1.Final-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_mockito_mockito_core_1_10_19.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.mockito:mockito-core:1.10.19">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_mybatis_mybatis_3_4_5.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.mybatis:mybatis:3.4.5">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/mybatis/mybatis/3.4.5/mybatis-3.4.5.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/mybatis/mybatis/3.4.5/mybatis-3.4.5-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/mybatis/mybatis/3.4.5/mybatis-3.4.5-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_1.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.mybatis:mybatis-spring:1.3.1">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/mybatis/mybatis-spring/1.3.1/mybatis-spring-1.3.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/mybatis/mybatis-spring/1.3.1/mybatis-spring-1.3.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/mybatis/mybatis-spring/1.3.1/mybatis-spring-1.3.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_3_1.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.3.1">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/mybatis/spring/boot/mybatis-spring-boot-autoconfigure/1.3.1/mybatis-spring-boot-autoconfigure-1.3.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/mybatis/spring/boot/mybatis-spring-boot-autoconfigure/1.3.1/mybatis-spring-boot-autoconfigure-1.3.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/mybatis/spring/boot/mybatis-spring-boot-autoconfigure/1.3.1/mybatis-spring-boot-autoconfigure-1.3.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_3_1.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.1">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/mybatis/spring/boot/mybatis-spring-boot-starter/1.3.1/mybatis-spring-boot-starter-1.3.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/mybatis/spring/boot/mybatis-spring-boot-starter/1.3.1/mybatis-spring-boot-starter-1.3.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/mybatis/spring/boot/mybatis-spring-boot-starter/1.3.1/mybatis-spring-boot-starter-1.3.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_objenesis_objenesis_2_1.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.objenesis:objenesis:2.1">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/objenesis/objenesis/2.1/objenesis-2.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/objenesis/objenesis/2.1/objenesis-2.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/objenesis/objenesis/2.1/objenesis-2.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_ow2_asm_asm_5_0_3.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.ow2.asm:asm:5.0.3">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm/5.0.3/asm-5.0.3-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm/5.0.3/asm-5.0.3-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_projectlombok_lombok_1_16_20.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.projectlombok:lombok:1.16.20">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/projectlombok/lombok/1.16.20/lombok-1.16.20.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/projectlombok/lombok/1.16.20/lombok-1.16.20-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/projectlombok/lombok/1.16.20/lombok-1.16.20-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_skyscreamer_jsonassert_1_4_0.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.skyscreamer:jsonassert:1.4.0">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/skyscreamer/jsonassert/1.4.0/jsonassert-1.4.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/skyscreamer/jsonassert/1.4.0/jsonassert-1.4.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/skyscreamer/jsonassert/1.4.0/jsonassert-1.4.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_25.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.slf4j:jcl-over-slf4j:1.7.25">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_25.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.slf4j:jul-to-slf4j:1.7.25">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_slf4j_log4j_over_slf4j_1_7_25.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.slf4j:log4j-over-slf4j:1.7.25">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.slf4j:slf4j-api:1.7.25">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_boot_spring_boot_1_5_10_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework.boot:spring-boot:1.5.10.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot/1.5.10.RELEASE/spring-boot-1.5.10.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot/1.5.10.RELEASE/spring-boot-1.5.10.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot/1.5.10.RELEASE/spring-boot-1.5.10.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_boot_spring_boot_1_5_19_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework.boot:spring-boot:1.5.19.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot/1.5.19.RELEASE/spring-boot-1.5.19.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot/1.5.19.RELEASE/spring-boot-1.5.19.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot/1.5.19.RELEASE/spring-boot-1.5.19.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_10_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.5.10.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-autoconfigure/1.5.10.RELEASE/spring-boot-autoconfigure-1.5.10.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-autoconfigure/1.5.10.RELEASE/spring-boot-autoconfigure-1.5.10.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-autoconfigure/1.5.10.RELEASE/spring-boot-autoconfigure-1.5.10.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_1_5_10_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework.boot:spring-boot-starter:1.5.10.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter/1.5.10.RELEASE/spring-boot-starter-1.5.10.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter/1.5.10.RELEASE/spring-boot-starter-1.5.10.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter/1.5.10.RELEASE/spring-boot-starter-1.5.10.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_1_5_10_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.10.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-jdbc/1.5.10.RELEASE/spring-boot-starter-jdbc-1.5.10.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-jdbc/1.5.10.RELEASE/spring-boot-starter-jdbc-1.5.10.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-jdbc/1.5.10.RELEASE/spring-boot-starter-jdbc-1.5.10.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_1_5_10_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.10.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-logging/1.5.10.RELEASE/spring-boot-starter-logging-1.5.10.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-logging/1.5.10.RELEASE/spring-boot-starter-logging-1.5.10.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-logging/1.5.10.RELEASE/spring-boot-starter-logging-1.5.10.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_1_5_10_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework.boot:spring-boot-starter-test:1.5.10.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-test/1.5.10.RELEASE/spring-boot-starter-test-1.5.10.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-test/1.5.10.RELEASE/spring-boot-starter-test-1.5.10.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-test/1.5.10.RELEASE/spring-boot-starter-test-1.5.10.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_10_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.5.10.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-tomcat/1.5.10.RELEASE/spring-boot-starter-tomcat-1.5.10.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-tomcat/1.5.10.RELEASE/spring-boot-starter-tomcat-1.5.10.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-tomcat/1.5.10.RELEASE/spring-boot-starter-tomcat-1.5.10.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_1_5_10_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework.boot:spring-boot-starter-web:1.5.10.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-web/1.5.10.RELEASE/spring-boot-starter-web-1.5.10.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-web/1.5.10.RELEASE/spring-boot-starter-web-1.5.10.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-web/1.5.10.RELEASE/spring-boot-starter-web-1.5.10.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_boot_spring_boot_test_1_5_10_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework.boot:spring-boot-test:1.5.10.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-test/1.5.10.RELEASE/spring-boot-test-1.5.10.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-test/1.5.10.RELEASE/spring-boot-test-1.5.10.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-test/1.5.10.RELEASE/spring-boot-test-1.5.10.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_10_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:1.5.10.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-test-autoconfigure/1.5.10.RELEASE/spring-boot-test-autoconfigure-1.5.10.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-test-autoconfigure/1.5.10.RELEASE/spring-boot-test-autoconfigure-1.5.10.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-test-autoconfigure/1.5.10.RELEASE/spring-boot-test-autoconfigure-1.5.10.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_spring_aop_4_3_14_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework:spring-aop:4.3.14.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/4.3.14.RELEASE/spring-aop-4.3.14.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/4.3.14.RELEASE/spring-aop-4.3.14.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/4.3.14.RELEASE/spring-aop-4.3.14.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_spring_beans_4_3_14_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework:spring-beans:4.3.14.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/4.3.14.RELEASE/spring-beans-4.3.14.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/4.3.14.RELEASE/spring-beans-4.3.14.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/4.3.14.RELEASE/spring-beans-4.3.14.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_spring_context_4_3_14_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework:spring-context:4.3.14.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/4.3.14.RELEASE/spring-context-4.3.14.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/4.3.14.RELEASE/spring-context-4.3.14.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/4.3.14.RELEASE/spring-context-4.3.14.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_spring_core_4_3_14_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework:spring-core:4.3.14.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/4.3.14.RELEASE/spring-core-4.3.14.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/4.3.14.RELEASE/spring-core-4.3.14.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/4.3.14.RELEASE/spring-core-4.3.14.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_spring_expression_4_3_14_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework:spring-expression:4.3.14.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/4.3.14.RELEASE/spring-expression-4.3.14.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/4.3.14.RELEASE/spring-expression-4.3.14.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/4.3.14.RELEASE/spring-expression-4.3.14.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_spring_jdbc_5_1_9_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework:spring-jdbc:5.1.9.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jdbc/5.1.9.RELEASE/spring-jdbc-5.1.9.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jdbc/5.1.9.RELEASE/spring-jdbc-5.1.9.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jdbc/5.1.9.RELEASE/spring-jdbc-5.1.9.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_spring_test_4_3_14_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework:spring-test:4.3.14.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-test/4.3.14.RELEASE/spring-test-4.3.14.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-test/4.3.14.RELEASE/spring-test-4.3.14.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-test/4.3.14.RELEASE/spring-test-4.3.14.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_spring_tx_4_3_14_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework:spring-tx:4.3.14.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-tx/4.3.14.RELEASE/spring-tx-4.3.14.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-tx/4.3.14.RELEASE/spring-tx-4.3.14.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-tx/4.3.14.RELEASE/spring-tx-4.3.14.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_spring_web_4_3_14_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework:spring-web:4.3.14.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-web/4.3.14.RELEASE/spring-web-4.3.14.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-web/4.3.14.RELEASE/spring-web-4.3.14.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-web/4.3.14.RELEASE/spring-web-4.3.14.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_springframework_spring_webmvc_4_3_14_RELEASE.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.springframework:spring-webmvc:4.3.14.RELEASE">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-webmvc/4.3.14.RELEASE/spring-webmvc-4.3.14.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-webmvc/4.3.14.RELEASE/spring-webmvc-4.3.14.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-webmvc/4.3.14.RELEASE/spring-webmvc-4.3.14.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/libraries/Maven__org_yaml_snakeyaml_1_17.xml
================================================
<component name="libraryTable">
  <library name="Maven: org.yaml:snakeyaml:1.17">
    <CLASSES>
      <root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.17/snakeyaml-1.17-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.17/snakeyaml-1.17-sources.jar!/" />
    </SOURCES>
  </library>
</component>

================================================
FILE: .idea/misc.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="MavenProjectsManager">
    <option name="originalFiles">
      <list>
        <option value="$PROJECT_DIR$/kb-dms-backend/pom.xml" />
      </list>
    </option>
  </component>
  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK">
    <output url="file://$PROJECT_DIR$/out" />
  </component>
</project>

================================================
FILE: .idea/modules.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ProjectModuleManager">
    <modules>
      <module fileurl="file://$PROJECT_DIR$/kb-dms-backend/contract/contract.iml" filepath="$PROJECT_DIR$/kb-dms-backend/contract/contract.iml" />
      <module fileurl="file://$PROJECT_DIR$/kb-dms-backend/core/core.iml" filepath="$PROJECT_DIR$/kb-dms-backend/core/core.iml" />
      <module fileurl="file://$PROJECT_DIR$/kb-dms-backend/dao/dao.iml" filepath="$PROJECT_DIR$/kb-dms-backend/dao/dao.iml" />
      <module fileurl="file://$PROJECT_DIR$/kb-dms-backend/dms-backend.iml" filepath="$PROJECT_DIR$/kb-dms-backend/dms-backend.iml" />
      <module fileurl="file://$PROJECT_DIR$/kb-dms.iml" filepath="$PROJECT_DIR$/kb-dms.iml" />
      <module fileurl="file://$PROJECT_DIR$/kb-dms-backend/model/model.iml" filepath="$PROJECT_DIR$/kb-dms-backend/model/model.iml" />
      <module fileurl="file://$PROJECT_DIR$/kb-dms-backend/server/server.iml" filepath="$PROJECT_DIR$/kb-dms-backend/server/server.iml" />
    </modules>
  </component>
</project>

================================================
FILE: .idea/uiDesigner.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="Palette2">
    <group name="Swing">
      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
      </item>
      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
      </item>
      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
        <initial-values>
          <property name="text" value="Button" />
        </initial-values>
      </item>
      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="RadioButton" />
        </initial-values>
      </item>
      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="CheckBox" />
        </initial-values>
      </item>
      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="Label" />
        </initial-values>
      </item>
      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
          <preferred-size width="200" height="200" />
        </default-constraints>
      </item>
      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
          <preferred-size width="200" height="200" />
        </default-constraints>
      </item>
      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
      </item>
      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
          <preferred-size width="-1" height="20" />
        </default-constraints>
      </item>
      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
      </item>
      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
      </item>
    </group>
  </component>
</project>

================================================
FILE: .idea/vcs.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="VcsDirectoryMappings">
    <mapping directory="$PROJECT_DIR$" vcs="Git" />
  </component>
</project>

================================================
FILE: .idea/workspace.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ChangeListManager">
    <list default="true" id="0709edad-8f01-4b1b-a705-5b9c8554c61c" name="Default Changelist" comment="">
      <change afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/encodings.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_11.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_11.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_alibaba_druid_1_1_10.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_alibaba_druid_spring_boot_starter_1_1_10.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_alibaba_fastjson_1_2_46.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_classmate_1_3_4.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_8_10.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_8_10.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_1_4.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_google_protobuf_protobuf_java_2_6_0.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_2_0.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_microsoft_sqlserver_sqljdbc4_4_1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_3.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__junit_junit_4_12.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_11.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__net_minidev_accessors_smart_1_1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__net_minidev_json_smart_2_2_1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_5_3.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_5.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_8.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_9.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_shiro_shiro_core_1_3_2.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_shiro_shiro_ehcache_1_3_2.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_shiro_shiro_spring_1_3_2.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_shiro_shiro_web_1_3_2.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_27.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_27.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_27.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_tomcat_tomcat_annotations_api_8_5_27.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_tomcat_tomcat_jdbc_8_5_27.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_tomcat_tomcat_juli_8_5_27.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_13.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_3.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_assertj_assertj_core_2_6_0.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_3_6_Final.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_1_Final.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_mockito_mockito_core_1_10_19.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_mybatis_mybatis_3_4_5.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_3_1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_3_1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_objenesis_objenesis_2_1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_ow2_asm_asm_5_0_3.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_projectlombok_lombok_1_16_20.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_4_0.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_25.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_25.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_slf4j_log4j_over_slf4j_1_7_25.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_1_5_10_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_1_5_19_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_10_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_1_5_10_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_1_5_10_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_1_5_10_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_1_5_10_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_10_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_1_5_10_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_1_5_10_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_10_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_aop_4_3_14_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_beans_4_3_14_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_context_4_3_14_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_core_4_3_14_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_expression_4_3_14_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_jdbc_5_1_9_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_test_4_3_14_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_tx_4_3_14_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_web_4_3_14_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_14_RELEASE.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_yaml_snakeyaml_1_17.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/uiDesigner.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/kb-dms-backend" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/kb-dms-web" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/kb-dms.iml" afterDir="false" />
    </list>
    <ignored path="$PROJECT_DIR$/out/" />
    <ignored path="$PROJECT_DIR$/kb-dms-backend/target/" />
    <ignored path="$PROJECT_DIR$/kb-dms-backend/core/target/" />
    <ignored path="$PROJECT_DIR$/kb-dms-backend/dao/target/" />
    <ignored path="$PROJECT_DIR$/kb-dms-backend/server/target/" />
    <ignored path="$PROJECT_DIR$/kb-dms-backend/model/target/" />
    <ignored path="$PROJECT_DIR$/kb-dms-backend/contract/target/" />
    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
    <option name="SHOW_DIALOG" value="false" />
    <option name="HIGHLIGHT_CONFLICTS" value="true" />
    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
    <option name="LAST_RESOLUTION" value="IGNORE" />
  </component>
  <component name="FileEditorManager">
    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
      <file pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/banner.txt">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="90">
              <caret line="6" selection-start-line="6" selection-end-line="6" />
            </state>
          </provider>
        </entry>
      </file>
      <file pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/kb-dms-web/package.json">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="60">
              <caret line="4" column="13" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
            </state>
          </provider>
        </entry>
      </file>
      <file pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/SeverApplication.java">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="135">
              <caret line="14" column="13" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="13" />
            </state>
          </provider>
        </entry>
      </file>
      <file pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/logback-spring.xml">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="270">
              <caret line="18" column="55" selection-start-line="18" selection-start-column="55" selection-end-line="18" selection-end-column="55" />
            </state>
          </provider>
        </entry>
      </file>
      <file pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/db/database.sql">
          <provider selected="true" editor-type-id="text-editor" />
        </entry>
      </file>
      <file pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/db/tables.sql">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="201">
              <caret line="54" selection-start-line="54" selection-end-line="54" />
            </state>
          </provider>
        </entry>
      </file>
      <file pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/README.md">
          <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
            <state split_layout="SPLIT">
              <first_editor relative-caret-position="445">
                <caret line="37" lean-forward="true" selection-start-line="37" selection-end-line="37" />
              </first_editor>
              <second_editor />
            </state>
          </provider>
        </entry>
      </file>
      <file pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/kb-dms-backend/dao/src/main/resources/generatorConfig.xml">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="540">
              <caret line="36" column="30" lean-forward="true" selection-start-line="36" selection-start-column="30" selection-end-line="36" selection-end-column="30" />
            </state>
          </provider>
        </entry>
      </file>
      <file pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/kb-dms-backend/pom.xml">
          <provider selected="true" editor-type-id="text-editor" />
          <provider editor-type-id="MavenHelperPluginDependencyAnalyzer" />
        </entry>
      </file>
      <file pinned="false" current-in-tab="true">
        <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/application-dev.yml">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="438">
              <caret line="42" selection-start-line="42" selection-end-line="42" />
            </state>
          </provider>
        </entry>
      </file>
    </leaf>
  </component>
  <component name="FindInProjectRecents">
    <findStrings>
      <find>nick_name</find>
      <find>login_name</find>
      <find>status</find>
      <find>setname</find>
      <find>getaccount</find>
      <find>setaccount</find>
      <find>Us</find>
      <find>getname</find>
      <find>ajax_search_user</find>
      <find>like</find>
      <find>huaju</find>
      <find>external</find>
      <find>/request/by/server/_map</find>
      <find>by/server</find>
      <find>ppdai.qa.tianshu.</find>
      <find>ddl_save_check</find>
      <find>home_ddl_dictionary</find>
      <find>utils_home_ddl_sql_command_builder</find>
      <find>audit</find>
      <find>DMS</find>
      <find>数据库在线管理平台</find>
      <find>us_register</find>
      <find>user_gre</find>
      <find>user_regi</find>
      <find>UNIQUE</find>
      <find>PRIMARY</find>
      <find>tianshu</find>
      <find>kongbin</find>
      <find>CREATE</find>
      <find>ppd</find>
    </findStrings>
    <replaceStrings>
      <replace>DMS</replace>
      <replace>数据库在线管理平台</replace>
      <replace>bin.kong.dms</replace>
      <replace>name</replace>
      <replace>account</replace>
      <replace>navigate_to_csdn</replace>
      <replace>setName</replace>
      <replace>getAccount</replace>
      <replace />
      <replace>getName</replace>
      <replace>dms</replace>
      <replace>home</replace>
      <replace>edit</replace>
      <replace>kb-dms</replace>
      <replace>bin.kong.dms.</replace>
    </replaceStrings>
    <dirStrings>
      <dir>$PROJECT_DIR$/kb-dms-web/src/api</dir>
      <dir>$PROJECT_DIR$/kb-dms-web/src/components/selector</dir>
    </dirStrings>
  </component>
  <component name="Git.Settings">
    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
  </component>
  <component name="IdeDocumentHistory">
    <option name="CHANGED_PATHS">
      <list>
        <option value="$PROJECT_DIR$/kb-dms-web/src/router/index.js" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/pom.xml" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/db/database.sql" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/pages/config/system_config.js" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/layouts/left_menu_data.js" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/api/utils/sql_exe_utils_api.js" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/utils/SqlExeController.java" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/App.vue" />
        <option value="$PROJECT_DIR$/kb-dms-backend/sever/target/classes/application-dev.yml" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/pages/config/layouts/header-menu.vue" />
        <option value="$PROJECT_DIR$/kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UserInfo.java" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/user/LoginController.java" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/user/RegisterController.java" />
        <option value="$PROJECT_DIR$/kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/constants/CookieConstants.java" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/shiro/PaoSessionManager.java" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/shiro/MyExceptionHandler.java" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/config/ShiroConfig.java" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/pages/user/login/index.js" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/router/routes.js" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/store/user/actions.js" />
        <option value="$PROJECT_DIR$/kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/entity/RequestUserInfo.java" />
        <option value="$PROJECT_DIR$/kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UserInfoDTO.java" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/shiro/MyShiroRealm.java" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/components/selector/ComponentPersonSelector.js" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/api/user/user_info_api.js" />
        <option value="$PROJECT_DIR$/kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/BaseSearch.java" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/user/UserInfoController.java" />
        <option value="$PROJECT_DIR$/kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UserInfoMapper.java" />
        <option value="$PROJECT_DIR$/kb-dms-backend/dao/src/main/resources/mybatis/userMapping/UsSqlEditorTabMapper.xml" />
        <option value="$PROJECT_DIR$/kb-dms-backend/dao/src/main/resources/mybatis/userMapping/UserInfoMapper.xml" />
        <option value="$PROJECT_DIR$/kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/external/request/RdsCheckSQLScriptRequest.java" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/config/DatasourceController.java" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/utils/SqlEditorUtilsController.java" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/api/config/datasource_api.js" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/pages/home/comp_exe_result.js" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/store/index.js" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/store/home/state.js" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/components/selector/TableIndexTypeInputSelector.js" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/layouts/header-menu.vue" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/pages/home/comp_exe_result_catalog.js" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/utils/date_format_utils.js" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/css/theme.css" />
        <option value="$PROJECT_DIR$/kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/utils/DbUtils.java" />
        <option value="$PROJECT_DIR$/kb-dms-web/src/pages/home/comp_table_edit_catalog.js" />
        <option value="$PROJECT_DIR$/kb-dms-web/config/index.js" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/banner.txt" />
        <option value="$PROJECT_DIR$/kb-dms-web/package.json" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/logback-spring.xml" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/db/tables.sql" />
        <option value="$PROJECT_DIR$/kb-dms-backend/dao/src/main/resources/generatorConfig.xml" />
        <option value="$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/application-dev.yml" />
      </list>
    </option>
  </component>
  <component name="MavenImportPreferences">
    <option name="importingSettings">
      <MavenImportingSettings>
        <option name="importAutomatically" value="true" />
      </MavenImportingSettings>
    </option>
  </component>
  <component name="MavenProjectNavigator">
    <treeState>
      <expand>
        <path>
          <item name="" type="16c1761:MavenProjectsStructure$RootNode" />
          <item name="dms-backend" type="9519ce18:MavenProjectsStructure$ProjectNode" />
        </path>
        <path>
          <item name="" type="16c1761:MavenProjectsStructure$RootNode" />
          <item name="dms-backend" type="9519ce18:MavenProjectsStructure$ProjectNode" />
          <item name="Lifecycle" type="58874e2:MavenProjectsStructure$LifecycleNode" />
        </path>
        <path>
          <item name="" type="16c1761:MavenProjectsStructure$RootNode" />
          <item name="server" type="9519ce18:MavenProjectsStructure$ProjectNode" />
        </path>
        <path>
          <item name="" type="16c1761:MavenProjectsStructure$RootNode" />
          <item name="server" type="9519ce18:MavenProjectsStructure$ProjectNode" />
          <item name="Lifecycle" type="58874e2:MavenProjectsStructure$LifecycleNode" />
        </path>
        <path>
          <item name="" type="16c1761:MavenProjectsStructure$RootNode" />
          <item name="server" type="9519ce18:MavenProjectsStructure$ProjectNode" />
          <item name="Dependencies" type="f4be9f2a:MavenProjectsStructure$DependenciesNode" />
        </path>
      </expand>
      <select />
    </treeState>
  </component>
  <component name="ProjectFrameBounds">
    <option name="y" value="23" />
    <option name="width" value="1680" />
    <option name="height" value="970" />
  </component>
  <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
  <component name="ProjectView">
    <navigator proportions="" version="1">
      <foldersAlwaysOnTop value="true" />
    </navigator>
    <panes>
      <pane id="ProjectPane">
        <subPane>
          <expand>
            <path>
              <item name="kb-dms" type="b2602c69:ProjectViewProjectNode" />
              <item name="kb-dms" type="462c0819:PsiDirectoryNode" />
            </path>
            <path>
              <item name="kb-dms" type="b2602c69:ProjectViewProjectNode" />
              <item name="kb-dms" type="462c0819:PsiDirectoryNode" />
              <item name="kb-dms-backend" type="462c0819:PsiDirectoryNode" />
            </path>
            <path>
              <item name="kb-dms" type="b2602c69:ProjectViewProjectNode" />
              <item name="kb-dms" type="462c0819:PsiDirectoryNode" />
              <item name="kb-dms-backend" type="462c0819:PsiDirectoryNode" />
              <item name="server" type="462c0819:PsiDirectoryNode" />
            </path>
            <path>
              <item name="kb-dms" type="b2602c69:ProjectViewProjectNode" />
              <item name="kb-dms" type="462c0819:PsiDirectoryNode" />
              <item name="kb-dms-backend" type="462c0819:PsiDirectoryNode" />
              <item name="server" type="462c0819:PsiDirectoryNode" />
              <item name="src" type="462c0819:PsiDirectoryNode" />
            </path>
            <path>
              <item name="kb-dms" type="b2602c69:ProjectViewProjectNode" />
              <item name="kb-dms" type="462c0819:PsiDirectoryNode" />
              <item name="kb-dms-backend" type="462c0819:PsiDirectoryNode" />
              <item name="server" type="462c0819:PsiDirectoryNode" />
              <item name="src" type="462c0819:PsiDirectoryNode" />
              <item name="main" type="462c0819:PsiDirectoryNode" />
            </path>
            <path>
              <item name="kb-dms" type="b2602c69:ProjectViewProjectNode" />
              <item name="kb-dms" type="462c0819:PsiDirectoryNode" />
              <item name="kb-dms-backend" type="462c0819:PsiDirectoryNode" />
              <item name="server" type="462c0819:PsiDirectoryNode" />
              <item name="src" type="462c0819:PsiDirectoryNode" />
              <item name="main" type="462c0819:PsiDirectoryNode" />
              <item name="java" type="462c0819:PsiDirectoryNode" />
            </path>
            <path>
              <item name="kb-dms" type="b2602c69:ProjectViewProjectNode" />
              <item name="kb-dms" type="462c0819:PsiDirectoryNode" />
              <item name="kb-dms-backend" type="462c0819:PsiDirectoryNode" />
              <item name="server" type="462c0819:PsiDirectoryNode" />
              <item name="src" type="462c0819:PsiDirectoryNode" />
              <item name="main" type="462c0819:PsiDirectoryNode" />
              <item name="java" type="462c0819:PsiDirectoryNode" />
              <item name="sever" type="462c0819:PsiDirectoryNode" />
            </path>
            <path>
              <item name="kb-dms" type="b2602c69:ProjectViewProjectNode" />
              <item name="kb-dms" type="462c0819:PsiDirectoryNode" />
              <item name="kb-dms-backend" type="462c0819:PsiDirectoryNode" />
              <item name="server" type="462c0819:PsiDirectoryNode" />
              <item name="src" type="462c0819:PsiDirectoryNode" />
              <item name="main" type="462c0819:PsiDirectoryNode" />
              <item name="resources" type="462c0819:PsiDirectoryNode" />
            </path>
            <path>
              <item name="kb-dms" type="b2602c69:ProjectViewProjectNode" />
              <item name="kb-dms" type="462c0819:PsiDirectoryNode" />
              <item name="kb-dms-web" type="462c0819:PsiDirectoryNode" />
            </path>
          </expand>
          <select />
        </subPane>
      </pane>
      <pane id="Scope" />
      <pane id="PackagesPane" />
    </panes>
  </component>
  <component name="PropertiesComponent">
    <property name="GO_FMT" value="true" />
    <property name="RequestMappingsPanelOrder0" value="0" />
    <property name="RequestMappingsPanelOrder1" value="1" />
    <property name="RequestMappingsPanelOrder2" value="2" />
    <property name="RequestMappingsPanelWidth0" value="75" />
    <property name="RequestMappingsPanelWidth1" value="75" />
    <property name="RequestMappingsPanelWidth2" value="75" />
    <property name="WebServerToolWindowFactoryState" value="false" />
    <property name="aspect.path.notification.shown" value="true" />
    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1581578195460" />
    <property name="editor.config.ad.shown" value="true" />
    <property name="go.gopath.indexing.explicitly.defined" value="true" />
    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
    <property name="nodejs_npm_path_reset_for_default_project" value="true" />
    <property name="project.structure.last.edited" value="Modules" />
    <property name="project.structure.proportion" value="0.15" />
    <property name="project.structure.side.proportion" value="0.2" />
    <property name="settings.editor.selected.configurable" value="project.propVCSSupport.Mappings" />
  </component>
  <component name="RecentsManager">
    <key name="CopyClassDialog.RECENTS_KEY">
      <recent name="com.bin.kong.dms.sever.controller.utils" />
      <recent name="com.bin.kong.dms.sever.controller.config" />
      <recent name="com.bin.kong.dms.core.utils" />
      <recent name="com.bin.kong.dms.contract.common" />
      <recent name="com.bin.kong.dms.sever.config" />
    </key>
    <key name="CopyFile.RECENT_KEYS">
      <recent name="$PROJECT_DIR$" />
      <recent name="$PROJECT_DIR$/kb-dms-web/src/plugins" />
      <recent name="$PROJECT_DIR$/kb-dms-web/src/components/elements" />
      <recent name="$PROJECT_DIR$/kb-dms-web/src/components/selector" />
      <recent name="$PROJECT_DIR$/kb-dms-web/src/utils" />
    </key>
  </component>
  <component name="RunDashboard">
    <option name="ruleStates">
      <list>
        <RuleState>
          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
        </RuleState>
        <RuleState>
          <option name="name" value="StatusDashboardGroupingRule" />
        </RuleState>
      </list>
    </option>
  </component>
  <component name="RunManager">
    <configuration name="SeverApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
      <module name="server" />
      <option name="SPRING_BOOT_MAIN_CLASS" value="com.bin.kong.dms.sever.SeverApplication" />
      <method v="2">
        <option name="Make" enabled="true" />
      </method>
    </configuration>
  </component>
  <component name="SvnConfiguration">
    <configuration />
  </component>
  <component name="TaskManager">
    <task active="true" id="Default" summary="Default task">
      <changelist id="0709edad-8f01-4b1b-a705-5b9c8554c61c" name="Default Changelist" comment="" />
      <created>1576741015663</created>
      <option name="number" value="Default" />
      <option name="presentableId" value="Default" />
      <updated>1576741015663</updated>
      <workItem from="1576741018266" duration="346000" />
      <workItem from="1576741657016" duration="4077000" />
      <workItem from="1576746002782" duration="149000" />
      <workItem from="1576746272833" duration="5226000" />
      <workItem from="1576754329906" duration="3177000" />
      <workItem from="1577186239819" duration="599000" />
      <workItem from="1577238120152" duration="128000" />
      <workItem from="1581561640136" duration="9099000" />
    </task>
    <servers />
  </component>
  <component name="TimeTrackingManager">
    <option name="totallyTimeSpent" value="22801000" />
  </component>
  <component name="ToolWindowManager">
    <frame x="0" y="23" width="1680" height="970" extended-state="0" />
    <layout>
      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.2032967" />
      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
      <window_info id="Designer" order="2" />
      <window_info id="Image Layers" order="3" />
      <window_info id="Capture Tool" order="4" />
      <window_info id="UI Designer" order="5" />
      <window_info id="Favorites" order="6" side_tool="true" />
      <window_info id="Web" order="7" side_tool="true" />
      <window_info anchor="bottom" id="Message" order="0" />
      <window_info anchor="bottom" id="Find" order="1" weight="0.333713" />
      <window_info anchor="bottom" id="Run" order="2" weight="0.2790433" />
      <window_info anchor="bottom" id="Debug" order="3" weight="0.356492" />
      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
      <window_info anchor="bottom" id="TODO" order="6" />
      <window_info anchor="bottom" id="Spring" order="7" />
      <window_info anchor="bottom" id="Terminal" order="8" weight="0.37927106" />
      <window_info anchor="bottom" id="Docker" order="9" show_stripe_button="false" />
      <window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
      <window_info anchor="bottom" id="Java Enterprise" order="11" />
      <window_info anchor="bottom" id="Database Changes" order="12" />
      <window_info anchor="bottom" id="Version Control" order="13" visible="true" weight="0.38724375" />
      <window_info anchor="bottom" id="Messages" order="14" weight="0.21298406" />
      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
      <window_info anchor="right" id="Maven" order="3" visible="true" weight="0.2973138" />
      <window_info anchor="right" id="Palette" order="4" />
      <window_info anchor="right" id="Capture Analysis" order="5" />
      <window_info anchor="right" id="Database" order="6" />
      <window_info anchor="right" id="Palette&#9;" order="7" />
      <window_info anchor="right" id="Theme Preview" order="8" />
      <window_info anchor="right" id="Bean Validation" order="9" />
    </layout>
  </component>
  <component name="TypeScriptGeneratedFilesManager">
    <option name="version" value="1" />
  </component>
  <component name="Vcs.Log.History.Properties">
    <option name="COLUMN_ORDER">
      <list>
        <option value="0" />
        <option value="2" />
        <option value="3" />
        <option value="1" />
      </list>
    </option>
  </component>
  <component name="VcsManagerConfiguration">
    <ignored-roots>
      <path value="$PROJECT_DIR$/kb-dms-backend" />
      <path value="$PROJECT_DIR$/kb-dms-web" />
    </ignored-roots>
  </component>
  <component name="editorHistoryManager">
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/dao/src/main/resources/mybatis/userMapping/UsActiveSqlEditorTabMapper.xml">
      <provider selected="true" editor-type-id="text-editor" />
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/external/request/RdsCheckSQLScriptRequest.java" />
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/external/response/RdsSQLCheckResult.java" />
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/utils/RequestByServerWithListParamsRequest.java" />
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/utils/RequestUtilsController.java" />
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/utils/RequestByServerWithMapParamsRequest.java" />
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/dao/src/main/resources/mybatis/userMapping/UserInfoMapper.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="1290">
          <caret line="86" selection-start-line="86" selection-end-line="86" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/utils/SqlExeRequest.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="120">
          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsFavoriteTableMapper.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="60">
          <caret line="6" column="17" selection-start-line="6" selection-start-column="17" selection-end-line="6" selection-end-column="17" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsSqlEditorTabMapper.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="195">
          <caret line="16" column="42" selection-start-line="16" selection-start-column="42" selection-end-line="16" selection-end-column="42" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/search/SqlEditorTabSearch.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="195">
          <caret line="16" selection-start-line="16" selection-end-line="16" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/BaseResponse.java">
      <provider selected="true" editor-type-id="text-editor" />
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/BaseSearch.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="120">
          <caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/src/router/index.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="303">
          <caret line="21" column="3" selection-start-line="21" selection-start-column="3" selection-end-line="21" selection-end-column="3" />
          <folding>
            <element signature="e#0#21#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/MetaIndexEntity.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="105">
          <caret line="7" column="5" lean-forward="true" selection-start-line="7" selection-start-column="5" selection-end-line="7" selection-end-column="5" />
          <folding>
            <element signature="imports" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/Result.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="120">
          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/SqlExeResult.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="120">
          <caret line="14" column="13" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="13" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableColumnAndIndexEntity.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="120">
          <caret line="13" column="13" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="13" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableFieldEntity.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="120">
          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableIndexEntity.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="120">
          <caret line="13" column="13" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="13" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableInfoEntity.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="120">
          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/config/DatasourceController.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="-3289">
          <caret line="23" column="39" selection-start-line="23" selection-start-column="39" selection-end-line="23" selection-end-column="39" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/src/api/config/datasource_api.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="648">
          <caret line="89" selection-start-line="89" selection-end-line="89" />
          <folding>
            <element signature="e#0#53#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/src/pages/home/comp_exe_result.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="395">
          <caret line="126" column="13" selection-start-line="126" selection-start-column="13" selection-end-line="126" selection-end-column="13" />
          <folding>
            <element signature="e#0#56#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/src/store/index.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="270">
          <caret line="18" selection-start-line="18" selection-end-line="18" />
          <folding>
            <element signature="e#0#21#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/application.yml">
      <provider selected="true" editor-type-id="text-editor" />
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/src/store/home/state.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="60">
          <caret line="4" selection-start-line="4" selection-end-line="4" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/src/components/selector/TableIndexTypeInputSelector.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="300">
          <caret line="20" column="14" selection-start-line="20" selection-start-column="14" selection-end-line="20" selection-end-column="14" />
          <folding>
            <element signature="e#0#47#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/src/layouts/header-menu.vue">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="45">
          <caret line="3" column="40" selection-start-line="3" selection-start-column="40" selection-end-line="3" selection-end-column="40" />
          <folding>
            <element signature="n#style#0;n#q-toolbar#0;n#div#0;n#template#0;n#!!top" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/src/pages/home/comp_exe_result_catalog.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="465">
          <caret line="31" column="19" selection-start-line="31" selection-start-column="19" selection-end-line="31" selection-end-column="19" />
          <folding>
            <element signature="e#0#67#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/src/utils/date_format_utils.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="315">
          <caret line="21" column="7" lean-forward="true" selection-start-line="21" selection-start-column="7" selection-end-line="21" selection-end-column="7" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/src/css/theme.css">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="240">
          <caret line="1051" column="16" lean-forward="true" selection-start-line="1051" selection-start-column="16" selection-end-line="1051" selection-end-column="16" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UsRegister.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="105">
          <caret line="12" column="13" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/dao/src/main/resources/mybatis/userMapping/UsRegisterMapper.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="30">
          <caret line="2" column="56" lean-forward="true" selection-start-line="2" selection-start-column="56" selection-end-line="2" selection-end-column="56" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsRegisterMapper.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="75">
          <caret line="7" column="17" selection-start-line="7" selection-start-column="17" selection-end-line="7" selection-end-column="17" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/src/api/user/user_register_api.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="30">
          <caret line="2" column="19" selection-start-line="2" selection-start-column="19" selection-end-line="2" selection-end-column="19" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/src/pages/user/register/index.js">
      <provider selected="true" editor-type-id="text-editor">
        <state>
          <caret column="16" selection-start-column="16" selection-end-column="16" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/utils/SqlEditorUtilsController.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="261">
          <caret line="88" column="60" lean-forward="true" selection-start-line="88" selection-start-column="60" selection-end-line="88" selection-end-column="60" />
          <folding>
            <element signature="imports" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/utils/DbUtils.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="572">
          <caret line="504" column="5" lean-forward="true" selection-start-line="504" selection-start-column="5" selection-end-line="504" selection-end-column="5" />
          <folding>
            <element signature="imports" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/src/pages/home/comp_table_edit_catalog.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="411">
          <caret line="1296" column="13" selection-start-line="1296" selection-start-column="13" selection-end-line="1296" selection-end-column="13" />
          <folding>
            <element signature="e#0#68#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/config/index.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="225">
          <caret line="15" column="34" selection-start-line="15" selection-start-column="34" selection-end-line="15" selection-end-column="34" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/banner.txt">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="90">
          <caret line="6" selection-start-line="6" selection-end-line="6" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-web/package.json">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="60">
          <caret line="4" column="13" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/SeverApplication.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="135">
          <caret line="14" column="13" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="13" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/logback-spring.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="270">
          <caret line="18" column="55" selection-start-line="18" selection-start-column="55" selection-end-line="18" selection-end-column="55" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/db/database.sql">
      <provider selected="true" editor-type-id="text-editor" />
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/db/tables.sql">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="201">
          <caret line="54" selection-start-line="54" selection-end-line="54" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/README.md">
      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
        <state split_layout="SPLIT">
          <first_editor relative-caret-position="445">
            <caret line="37" lean-forward="true" selection-start-line="37" selection-end-line="37" />
          </first_editor>
          <second_editor />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/dao/src/main/resources/generatorConfig.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="540">
          <caret line="36" column="30" lean-forward="true" selection-start-line="36" selection-start-column="30" selection-end-line="36" selection-end-column="30" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/pom.xml">
      <provider selected="true" editor-type-id="text-editor" />
      <provider editor-type-id="MavenHelperPluginDependencyAnalyzer" />
    </entry>
    <entry file="file://$PROJECT_DIR$/kb-dms-backend/server/src/main/resources/application-dev.yml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="438">
          <caret line="42" selection-start-line="42" selection-end-line="42" />
        </state>
      </provider>
    </entry>
  </component>
  <component name="masterDetails">
    <states>
      <state key="ArtifactsStructureConfigurable.UI">
        <settings>
          <artifact-editor />
          <splitter-proportions>
            <option name="proportions">
              <list>
                <option value="0.2" />
              </list>
            </option>
          </splitter-proportions>
        </settings>
      </state>
      <state key="FacetStructureConfigurable.UI">
        <settings>
          <last-edited>Spring</last-edited>
          <splitter-proportions>
            <option name="proportions">
              <list>
                <option value="0.2" />
              </list>
            </option>
          </splitter-proportions>
        </settings>
      </state>
      <state key="GlobalLibrariesConfigurable.UI">
        <settings>
          <splitter-proportions>
            <option name="proportions">
              <list>
                <option value="0.2" />
              </list>
            </option>
          </splitter-proportions>
        </settings>
      </state>
      <state key="JdkListConfigurable.UI">
        <settings>
          <last-edited>1.8</last-edited>
          <splitter-proportions>
            <option name="proportions">
              <list>
                <option value="0.2" />
              </list>
            </option>
          </splitter-proportions>
        </settings>
      </state>
      <state key="ModuleStructureConfigurable.UI">
        <settings>
          <last-edited>contract</last-edited>
          <splitter-proportions>
            <option name="proportions">
              <list>
                <option value="0.2" />
                <option value="0.6" />
              </list>
            </option>
          </splitter-proportions>
        </settings>
      </state>
      <state key="ProjectJDKs.UI">
        <settings>
          <last-edited>1.8</last-edited>
          <splitter-proportions>
            <option name="proportions">
              <list>
                <option value="0.2" />
              </list>
            </option>
          </splitter-proportions>
        </settings>
      </state>
      <state key="ProjectLibrariesConfigurable.UI">
        <settings>
          <last-edited>Maven: ch.qos.logback:logback-classic:1.1.11</last-edited>
          <splitter-proportions>
            <option name="proportions">
              <list>
                <option value="0.2" />
              </list>
            </option>
          </splitter-proportions>
        </settings>
      </state>
    </states>
  </component>
</project>

================================================
FILE: README.md
================================================
# WEB数据库管理平台简介
给大家推荐一个自研的开源WEB版数据库管理工具:**kb-dms**

开源项目地址: [kb-dms](https://github.com/qabin/kb-dms)  ,如果能帮到你,请帮忙点个星。谢谢~

本工具主要有以下特点:
- **权限控制**:
   避免数据源权限不可控的风险,避免数据、库表被无故修改。
- **误操作拦截**:
  SQL语句不小心写错,不用担心,该工具将阻断相应SQL的执行,保障数据的安全。
- **记录可追踪**:
  所有的SQL执行记录都会被该工具记录,方便数据的恢复和定责。
- **操作体验**:
  该工具的操作体验与客户端基本无异,而且还开发了很多新功能,方便大家使用。
- **建表规范**
  平台推出了很多建表及索引相关的规范,并且从前端图形化页面上实现了相应误操作的拦截,帮助用户更好的规范库表。
    
 **kb-dms** 是一个WEB版的数据库管理平台,此平台支持权限可控、执行记录追踪、数据源配置管理、在线库表查询+编辑+新增等操作。
 
## 使用教程
[WEB数据库管理平台kb-dms:功能简介【一】](https://blog.csdn.net/a787373009/article/details/104301721) 

[WEB数据库管理平台kb-dms:本地安装与启动教程【二】](https://blog.csdn.net/a787373009/article/details/104306595) 

[WEB数据库管理平台kb-dms:注册与登录【三】
](https://blog.csdn.net/a787373009/article/details/104306679) 

[WEB数据库管理平台kb-dms:团队管理【四】
](https://blog.csdn.net/a787373009/article/details/104306729) 

[WEB数据库管理平台kb-dms:数据源配置【五】
](https://blog.csdn.net/a787373009/article/details/104307094) 

[WEB数据库管理平台kb-dms:数据库查询+更新+删除操作【六】
](https://blog.csdn.net/a787373009/article/details/104307459) 

[WEB数据库管理平台kb-dms:创建表+编辑表+编辑索引【七】
](https://blog.csdn.net/a787373009/article/details/104308275) 

[WEB数据库管理平台kb-dms:数据源权限配置【八】
](https://blog.csdn.net/a787373009/article/details/104309385) 

[WEB数据库管理平台kb-dms:表的右键操作介绍【九】
](https://blog.csdn.net/a787373009/article/details/104309811) 

[WEB数据库管理平台kb-dms:执行记录查询【十】
](https://blog.csdn.net/a787373009/article/details/104309958) 

[WEB数据库管理平台kb-dms:误操作拦截+越权操作拦截【十一】
](https://blog.csdn.net/a787373009/article/details/104310223) 

[WEB数据库管理平台kb-dms:数据统计【十二】
](https://blog.csdn.net/a787373009/article/details/104310479) 

## 功能简介
##### 数据查询更新

![代理工具界面](https://img-blog.csdnimg.cn/2020021321071269.gif)

##### 库表操作

![库表操作](https://img-blog.csdnimg.cn/20200213210748471.gif)

##### 权限控制

![权限控制](https://img-blog.csdnimg.cn/2020021321080826.gif)


================================================
FILE: kb-dms-backend/.gitignore
================================================
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**

### 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/

### VS Code ###
.vscode/


================================================
FILE: kb-dms-backend/contract/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>dms-backend</artifactId>
        <groupId>com.bin.kong.dms</groupId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.bin.kong.dms</groupId>
    <artifactId>contract</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>contract</name>
    <packaging>jar</packaging>

</project>


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/BaseResponse.java
================================================
package com.bin.kong.dms.contract.common;

import lombok.Getter;
import lombok.Setter;
import org.springframework.util.StringUtils;

@Getter
@Setter
public class BaseResponse {
    private int status;
    private String message;

    public void addMessage(String msg) {
        if (StringUtils.hasText(msg)) {
            if (StringUtils.hasText(this.message)) {
                this.message += ";" + msg;
            } else {
                this.message = msg;
            }
        }
    }

}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/BaseSearch.java
================================================
package com.bin.kong.dms.contract.common;

import lombok.*;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class BaseSearch {
    private String kw;

}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/GenericResponse.java
================================================
package com.bin.kong.dms.contract.common;

import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
public class GenericResponse<T> extends BaseResponse implements ResponseState {
    private T data;

    @Override
    public boolean isSuccess() {
        return getStatus() == 1;
    }
}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/PaginationResponse.java
================================================
package com.bin.kong.dms.contract.common;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class PaginationResponse<T> {
    private T data;
    private Integer count;
}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/ResponseState.java
================================================
package com.bin.kong.dms.contract.common;

public interface ResponseState {
    boolean isSuccess();
}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/SearchListAndCountDO.java
================================================
package com.bin.kong.dms.contract.common;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SearchListAndCountDO<T> {
    private Integer count;
    private T data;
}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/DatasourceForSearchResponse.java
================================================
package com.bin.kong.dms.contract.config.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DatasourceForSearchResponse {
    private Integer id;

    private String name;

    private String description;

    private Integer group_id;

    private String group_name;

    private Integer type;

    private String db;

    private Integer status;

    @Builder.Default
    private Boolean group_favorite = false;

    @Builder.Default
    private Boolean datasource_favorite = false;

    @Builder.Default
    private Boolean is_my_group=false;
}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/DatasourcePermissionMemberResponse.java
================================================
package com.bin.kong.dms.contract.config.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DatasourcePermissionMemberResponse<T> {

    private String account;

    private String name;

    private Integer datasource_id;

    private List<T> auth_list;
}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/DbResponse.java
================================================
package com.bin.kong.dms.contract.config.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DbResponse {

    private String name;

    @Builder.Default
    private Boolean favorite = false;
}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/TableResponse.java
================================================
package com.bin.kong.dms.contract.config.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TableResponse {

    private String name;

    @Builder.Default
    private Boolean favorite = false;
}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/permission/response/SqlOptionsResponse.java
================================================
package com.bin.kong.dms.contract.permission.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SqlOptionsResponse {
    private String name;

    private String desc;

    private Integer type;

}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/statistics/response/GeneralBizCountResponse.java
================================================
package com.bin.kong.dms.contract.statistics.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class GeneralBizCountResponse {

    private Integer bus_count;

    private Integer datasource_count;

    private Integer sql_exe_result_total;

    private Integer sql_syntax_no_permission_total;

    private Integer sql_syntax_other_error_total;

}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/statistics/response/GeneralMonthTimelineResponse.java
================================================
package com.bin.kong.dms.contract.statistics.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class GeneralMonthTimelineResponse {
    private String date;

    private Integer sql_exe_result_total;

    private Integer sql_exe_result_success_total;

    private Integer sql_exe_result_running_total;

    private Integer sql_exe_result_fail_total;

    private Integer sql_syntax_no_permission_total;

    private Integer sql_syntax_no_limit_total;

    private Integer sql_syntax_no_where_total;

    private Integer sql_syntax_error_total;

}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/entity/RequestUserInfo.java
================================================
package com.bin.kong.dms.contract.user.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class RequestUserInfo {
    private String name;
    private String account;
}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/LoginRequest.java
================================================
package com.bin.kong.dms.contract.user.request;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LoginRequest {
    private String account;
    private String login_pwd;
}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/RegisterRequest.java
================================================
package com.bin.kong.dms.contract.user.request;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RegisterRequest {
    private String account;
    private String login_pwd;
    private String name;
}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/SqlEditorShareRequest.java
================================================
package com.bin.kong.dms.contract.user.request;

import com.bin.kong.dms.contract.user.entity.RequestUserInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SqlEditorShareRequest {
    private List<RequestUserInfo> users;
}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/UpdateUserInfoRequest.java
================================================
package com.bin.kong.dms.contract.user.request;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UpdateUserInfoRequest {
    private String name;
    private Integer port;
    private String new_pwd;
    private String old_pwd;
}


================================================
FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/utils/SqlExeRequest.java
================================================
package com.bin.kong.dms.contract.utils;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SqlExeRequest {
    private String sql;
}


================================================
FILE: kb-dms-backend/core/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>dms-backend</artifactId>
        <groupId>com.bin.kong.dms</groupId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.bin.kong.dms</groupId>
    <artifactId>core</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot</artifactId>
            <version>1.5.19.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.8.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.8</version>
        </dependency>
    </dependencies>
    <name>core</name>
    <packaging>jar</packaging>


</project>


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/config/ThreadPoolConfig.java
================================================
package com.bin.kong.dms.core.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.task.AsyncTaskExecutor;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

import java.util.concurrent.ThreadPoolExecutor;

@Configuration
@EnableAsync
public class ThreadPoolConfig {
    private int corePoolSize = 10;//线程池维护线程的最少数量

    private int maxPoolSize = 50;//线程池维护线程的最大数量

    private int queueCapacity = 20; //缓存队列

    private int keepAlive = 120;//允许的空闲时间

    @Bean
    public AsyncTaskExecutor threadExecutor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(corePoolSize);
        executor.setMaxPoolSize(maxPoolSize);
        executor.setQueueCapacity(queueCapacity);
        executor.setThreadNamePrefix("threadExecutor-");
        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); //对拒绝task的处理策略
        executor.setKeepAliveSeconds(keepAlive);
        executor.initialize();
        return executor;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/constants/CookieConstants.java
================================================
package com.bin.kong.dms.core.constants;

public class CookieConstants {
    public final static String KB_MDS_SESSIONID = "KB-dms-SESSIONID";
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/constants/ResponseConstants.java
================================================
package com.bin.kong.dms.core.constants;

public class ResponseConstants {
    public final static Integer SUCCESS_CODE = 1;
    public final static Integer FAIL_CODE = 0;

    //未登录
    public final static Integer STATUS_UNLOGIN = 1001;
    //Token异常
    public final static Integer STATUS_TOKEN_ERROR = 1002;
    //无权限
    public final static Integer STATUS_NO_AUTH = 1003;
    //用户名密码错误
    public final static Integer STATUS_WRONG_PWD = 1004;

    public final static Integer STATUS_OTHER = 1005;
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/constants/UserInfoConstants.java
================================================
package com.bin.kong.dms.core.constants;

public class UserInfoConstants {
    public final static String CURRENT_USER_NAME="CURRENT_USER_NAME";

    public final static String CURRENT_USER="CURRENT_USER";

}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicDataExeUtils.java
================================================
package com.bin.kong.dms.core.dynamicdatasource;

import com.bin.kong.dms.core.entity.SqlExeResult;
import com.bin.kong.dms.core.enums.DatasourceTypeEnum;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.util.CollectionUtils;

import java.util.*;

public class DynamicDataExeUtils {

    /**
     * 执行DQL queryForList
     *
     * @param datasource
     * @param sql
     * @return
     */
    private static SqlExeResult<List<Map<String, Object>>> queryForList(String datasource, String sql) {

        SqlExeResult<List<Map<String, Object>>> result = SqlExeResult.<List<Map<String, Object>>>builder().sql(sql).start_time(new Date()).build();
        JdbcTemplate jdbcTemplate = DynamicDataSourceContextHolder.getJdbcTemplate(datasource);
        try {
            List<Map<String, Object>> resultList = jdbcTemplate.queryForList(sql);
            result.setData(resultList);
            if (!CollectionUtils.isEmpty(resultList)) {
                Map<String, String> field_type_map = new HashMap<>();
                Integer count=0;
                for (Map<String, Object> stringObjectMap : resultList) {
                    count++;
                    if(count>=10){
                        break;
                    }
                    Set<String> keys = stringObjectMap.keySet();
                    keys.forEach(k -> {
                                if (stringObjectMap.get(k) != null)
                                    field_type_map.put(k, stringObjectMap.get(k).getClass().toString());
                            }
                    );
                }
                result.setField_type(field_type_map);
            }

            result.setSuccess(true);

        } catch (Exception e) {
            result.setSuccess(false);
            result.setMessage(e.getMessage());
        }
        result.setEnd_time(new Date());
        return result;
    }

    /**
     * 执行DML update
     *
     * @param datasource
     * @param sql
     * @return
     */
    private static SqlExeResult<List<Map<String, Object>>> update(String datasource, String sql) {

        SqlExeResult<List<Map<String, Object>>> result = SqlExeResult.<List<Map<String, Object>>>builder().sql(sql).start_time(new Date()).build();
        JdbcTemplate jdbcTemplate = DynamicDataSourceContextHolder.getJdbcTemplate(datasource);
        try {

            Integer count = jdbcTemplate.update(sql);
            List<Map<String, Object>> resultList = new ArrayList<>();
            HashMap<String, Object> resultMap = new HashMap<>();
            resultMap.put("影响行数", count);
            resultList.add(resultMap);
            result.setData(resultList);
            result.setSuccess(true);

        } catch (Exception e) {
            result.setSuccess(false);
            result.setMessage(e.getMessage());
        }
        result.setEnd_time(new Date());

        return result;
    }

    /**
     * 执行DDL execute
     *
     * @param datasource
     * @param sql
     * @return
     */
    private static SqlExeResult execute(String datasource, String sql) {

        SqlExeResult result = SqlExeResult.builder().sql(sql).start_time(new Date()).build();
        JdbcTemplate jdbcTemplate = DynamicDataSourceContextHolder.getJdbcTemplate(datasource);
        try {
            jdbcTemplate.execute(sql);
            result.setSuccess(true);

        } catch (Exception e) {
            result.setSuccess(false);
            result.setMessage(e.getMessage());
        }
        result.setEnd_time(new Date());

        return result;
    }

    /**
     * sql执行入口
     *
     * @param sql
     * @param datasource_id
     * @param type
     * @param ip
     * @param port
     * @param db
     * @param username
     * @param password
     * @return
     */
    public static List<SqlExeResult> exeSql(String sql, Integer datasource_id, Integer type, String ip, Integer port, String db, String username, String password) {

        String dataSource = DynamicDataSourceUtils.addDataSource(datasource_id, type, ip, port, db, username, password);

        List<DynamicSqlOptionTypeEntity> sqlList = DynamicSqlOptionTypeWithDruidControl.dealSqlOptionType(sql, DatasourceTypeEnum.getByType(type));

        List<SqlExeResult> resultList = new ArrayList<>();

        for (DynamicSqlOptionTypeEntity sqlOptionTypeEntity : sqlList) {
            switch (sqlOptionTypeEntity.getOption_type_enum()) {
                case DQL:
                    resultList.add(queryForList(dataSource, sqlOptionTypeEntity.getSql()));
                    break;
                case DML:
                    resultList.add(update(dataSource, sqlOptionTypeEntity.getSql()));
                    break;
                case DDL:
                    resultList.add(execute(dataSource, sqlOptionTypeEntity.getSql()));
                    break;
                case EXEC:
                    resultList.add(queryForList(dataSource, sqlOptionTypeEntity.getSql()));
                    break;

            }
        }
        return resultList;
    }

}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicDataSourceContextHolder.java
================================================
package com.bin.kong.dms.core.dynamicdatasource;

import org.springframework.jdbc.core.JdbcTemplate;

import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class DynamicDataSourceContextHolder {


    private static Map<String, DataSource> dataSourceMap = new HashMap<>();

    private static Map<String, JdbcTemplate> jdbcTemplateMap = new HashMap<>();

    public static List<String> dataSourceNames = new ArrayList<>();

    private static final ThreadLocal<String> CONTEXT_HOLDER = new ThreadLocal<>();


    public static void setDataSource(String dataSourceName) {
        if (dataSourceMap.containsKey(dataSourceName)) {
            CONTEXT_HOLDER.set(dataSourceName);
        } else {
            throw new NullPointerException("不存在的dataSourceName:" + dataSourceName);
        }
    }

    public static String getDataSource() {
        return CONTEXT_HOLDER.get();
    }

    public static void clearDataSource() {
        CONTEXT_HOLDER.remove();
    }


    public static void putDataSource(String sourceName, DataSource dataSource) {
        dataSourceMap.put(sourceName, dataSource);
    }

    public static DataSource getDataSource(String sourceName) {
        return dataSourceMap.get(sourceName);
    }

    public static boolean containsDataSource(String dataSourceName) {
        return dataSourceNames.contains(dataSourceName);
    }

    public static void putJdbcTemplate(String dataSourceName, JdbcTemplate jdbcTemplate) {
        if (!jdbcTemplateMap.containsKey(dataSourceName)) {
            jdbcTemplateMap.put(dataSourceName, jdbcTemplate);
        }
    }

    public static JdbcTemplate getJdbcTemplate(String dataSourceName) {
        if (jdbcTemplateMap.containsKey(dataSourceName)) {
            return jdbcTemplateMap.get(dataSourceName);
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicDataSourceUtils.java
================================================
package com.bin.kong.dms.core.dynamicdatasource;

import com.alibaba.druid.pool.DruidDataSource;
import com.bin.kong.dms.core.enums.DatasourceTypeEnum;
import org.apache.commons.lang3.StringUtils;
import org.springframework.jdbc.core.JdbcTemplate;

import javax.sql.DataSource;
import java.util.Properties;

public class DynamicDataSourceUtils {

    /**
     * 添加数据源
     * 为了防止多线程添加同一个数据源,这里采用同步,同时会判断是否已存在
     *
     * @param datasource_id
     * @param type
     * @param ip
     * @param port
     * @param db            实例名
     * @param username
     * @param password
     * @return String 新建数据源对应的key,如果已经存在,则返回之前的key。
     */
    public static synchronized String addDataSource(Integer datasource_id, Integer type, String ip,
                                                    int port, String db, String username, String password) {

        String dataSourceName = getDataSourceName(datasource_id, type, db);

        if (DynamicDataSourceContextHolder.getDataSource(dataSourceName) == null) {
            DataSource ds = createDataSource(ip, port, db, username, password, type);
            //存储数据源
            if (null != ds) {
                DynamicDataSourceContextHolder.putDataSource(dataSourceName, ds);
                //存储jdbcTemplate
                DynamicDataSourceContextHolder.putJdbcTemplate(dataSourceName, new JdbcTemplate(ds));
            }

        }

        return dataSourceName;
    }


    public static String getDataSourceName(Integer datasource_id, Integer type, String db) {
        return (DatasourceTypeEnum.getByType(type).getName() + "_" + datasource_id + "_" + db).toUpperCase();
    }

    /**
     * 创建一个数据源
     *
     * @param ip
     * @param port
     * @param db
     * @param username
     * @param password
     * @return
     */
    private static DataSource createDataSource(String ip, int port, String db, String username, String password, Integer type) {
        if (StringUtils.isEmpty(db)) {
            return null;
        }

        Properties properties = new Properties();
        properties.setProperty("remarks", "true");
        properties.setProperty("useInformationSchema", "true");
        DruidDataSource dds = new DruidDataSource();
        dds.setDriverClassName(DatasourceTypeEnum.getByType(type).getDriver());
        dds.setUrl(getConnectionUrlWithDb(ip, port, db, type));
        dds.setUsername(username);
        dds.setPassword(password);
        dds.setConnectProperties(properties);
        dds.setMaxActive(5);
        dds.setMinIdle(1);
        dds.setInitialSize(1);
        dds.setMaxWait(60 * 1000);
        return dds;
    }

    private static String getConnectionUrlWithDb(String ip, Integer port, String db, Integer type) {
        switch (DatasourceTypeEnum.getByType(type)) {
            case MYSQL:
                return "jdbc:" + DatasourceTypeEnum.MYSQL.getName() + "://" + ip + ":" + port + "/" + db + "?useSSL=false&useUnicode=true&characterEncoding=utf8&tinyInt1isBit=false";
            case SQL_SERVER:
                return "jdbc:" + DatasourceTypeEnum.SQL_SERVER.getName() + "://" + ip + ":" + port + ";DatabaseName=" + db;

        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicSqlOptionTypeEntity.java
================================================
package com.bin.kong.dms.core.dynamicdatasource;

import com.bin.kong.dms.core.enums.DatasourceTypeEnum;
import com.bin.kong.dms.core.enums.SqlOptionTypeEnum;
import com.bin.kong.dms.core.enums.SqlSyntaxCheckResultEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DynamicSqlOptionTypeEntity {
    private String origin_sql;

    private String sql;

    private SqlOptionTypeEnum option_type_enum;

    private DatasourceTypeEnum datasource_type_enum;

    private SqlSyntaxCheckResultEnum syntax_check_result_enum;

    private Object druidObj;

    private String table_list;
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicSqlOptionTypeWithDruidControl.java
================================================
package com.bin.kong.dms.core.dynamicdatasource;

import com.alibaba.druid.sql.SQLUtils;
import com.alibaba.druid.sql.ast.SQLStatement;
import com.alibaba.druid.sql.ast.statement.*;
import com.bin.kong.dms.core.enums.DatasourceTypeEnum;
import com.bin.kong.dms.core.enums.SqlOptionTypeEnum;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;

import java.util.ArrayList;
import java.util.List;

public class DynamicSqlOptionTypeWithDruidControl {

    /**
     * SQL分割 +分类
     *
     * @param sql
     * @return
     */
    public static List<DynamicSqlOptionTypeEntity> dealSqlOptionType(String sql, DatasourceTypeEnum datasourceTypeEnum) {
        List<DynamicSqlOptionTypeEntity> sqlOptionTypeEntityList = new ArrayList<>();

        if (StringUtils.isNotEmpty(sql)) {

            List<SQLStatement> smList = SQLUtils.parseStatements(sql, datasourceTypeEnum.getName());


            if (!CollectionUtils.isEmpty(smList)) {
                smList.forEach(s -> {
                    DynamicSqlOptionTypeEntity sqlOptionTypeEntity = DynamicSqlOptionTypeEntity.builder()
                            .datasource_type_enum(datasourceTypeEnum)
                            .origin_sql(s.toString())
                            .sql(s.toString())
                            .druidObj(s)
                            .build();

                    if (s instanceof SQLUpdateStatement || s instanceof SQLDeleteStatement || s instanceof SQLInsertStatement) {
                        sqlOptionTypeEntity.setOption_type_enum(SqlOptionTypeEnum.DML);

                    } else if (s instanceof SQLDDLStatement) {
                        sqlOptionTypeEntity.setOption_type_enum(SqlOptionTypeEnum.DDL);
                    } else if (s instanceof SQLSelectStatement) {
                        sqlOptionTypeEntity.setOption_type_enum(SqlOptionTypeEnum.DQL);
                    } else {
                        sqlOptionTypeEntity.setOption_type_enum(SqlOptionTypeEnum.EXEC);
                    }

                    sqlOptionTypeEntityList.add(sqlOptionTypeEntity);

                });
                return sqlOptionTypeEntityList;
            }
        }
        return sqlOptionTypeEntityList;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicSqlSyntaxCheck.java
================================================
package com.bin.kong.dms.core.dynamicdatasource;

import com.alibaba.druid.sql.ast.statement.SQLDeleteStatement;
import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock;
import com.alibaba.druid.sql.ast.statement.SQLSelectStatement;
import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement;
import com.bin.kong.dms.core.enums.DatasourceTypeEnum;
import com.bin.kong.dms.core.enums.SqlSyntaxCheckResultEnum;
import org.apache.commons.lang3.StringUtils;

public class DynamicSqlSyntaxCheck {

    public final static Integer LIMIT_ROW_NUM = 100;

    /**
     * 检查语法 +发现语法问题 修复
     *
     * @return
     */

    public static void check(DynamicSqlOptionTypeEntity entity) {
        if (StringUtils.isNotEmpty(entity.getSql())) {
            switch (entity.getOption_type_enum()) {
                case DQL:
                    if (entity.getDatasource_type_enum() == DatasourceTypeEnum.MYSQL) {
                        if (entity.getDruidObj() instanceof SQLSelectStatement) {
                            SQLSelectQueryBlock query = ((SQLSelectQueryBlock) (((SQLSelectStatement) entity.getDruidObj()).getSelect().getQuery()));

                            if (null == query.getLimit()) {
                                entity.setSyntax_check_result_enum(SqlSyntaxCheckResultEnum.NO_LIMIT);
                                query.limit(LIMIT_ROW_NUM, 0);
                                entity.setSql(query.getParent().toString());
                            }

                        }
                    }

                    break;
                case DML:
                    if (entity.getDruidObj() instanceof SQLUpdateStatement) {

                        if (null == ((SQLUpdateStatement) entity.getDruidObj()).getWhere()) {
                            entity.setSyntax_check_result_enum(SqlSyntaxCheckResultEnum.NO_WHERE);
                        }

                    } else if (entity.getDruidObj() instanceof SQLDeleteStatement) {
                        if (null == ((SQLDeleteStatement) entity.getDruidObj()).getWhere()) {
                            entity.setSyntax_check_result_enum(SqlSyntaxCheckResultEnum.NO_WHERE);

                        }
                    }
                    break;
            }
        }
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/MetaIndexEntity.java
================================================
package com.bin.kong.dms.core.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MetaIndexEntity {
    private String INDEX_NAME;
    private String COLUMN_NAME;
    private Boolean NON_UNIQUE;
    private Integer ORDINAL_POSITION;
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/Result.java
================================================
package com.bin.kong.dms.core.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Result<T> {
    private boolean success;
    private T data;
    private String message;
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/SqlExeResult.java
================================================
package com.bin.kong.dms.core.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.Map;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SqlExeResult<T> {
    private Date start_time;
    private Date end_time;
    private String sql;
    private boolean success;
    private T data;
    private String message;
    private Map<String, String> field_type;
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableColumnAndIndexEntity.java
================================================
package com.bin.kong.dms.core.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TableColumnAndIndexEntity {
    private List<TableFieldEntity> columns;
    private List<TableIndexEntity> index;
    private TableInfoEntity info;

}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableFieldEntity.java
================================================
package com.bin.kong.dms.core.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TableFieldEntity {

    private String column_name;
    private Integer ordinal_position;
    private String type_name;
    private String extra;
    @Builder.Default
    private Boolean is_nullable = false;
    @Builder.Default
    private Boolean is_autoincrement = false;
    @Builder.Default
    private Boolean is_primary_key = false;
    @Builder.Default
    private Boolean is_unsigned = false;
    private String column_def;
    private String remarks;
    @Builder.Default
    private Boolean is_online = true;

    private String online_column_name;

    private String online_after;

}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableIndexEntity.java
================================================
package com.bin.kong.dms.core.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TableIndexEntity {

    private String index_name;
    private String index_type;
    private String storage_type;
    private List<String> index_columns;
    private String online_index_name;

}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableInfoEntity.java
================================================
package com.bin.kong.dms.core.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TableInfoEntity {
    private String database_name;
    private String table_name;
    private String engine;
    private String character_set;
    private String commit;
    private String folder;
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/BusGroupStatusEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum BusGroupStatusEnum {
    //状态:-1 未生效  1. 生效
    NO_ACTIVE(-1), ACTIVE(1);

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    private Integer status;

    BusGroupStatusEnum(Integer status) {
        this.status = status;
    }

    public static BusGroupStatusEnum getByStatus(Integer status) {
        for (BusGroupStatusEnum statusEnum : values()) {
            if (statusEnum.getStatus() == status) {
                return statusEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/DataSourceStatusEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum DataSourceStatusEnum {
    //状态:-1 未生效  1. 生效
    NO_ACTIVE(-1), ACTIVE(1);

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    private Integer status;

    DataSourceStatusEnum(Integer status) {
        this.status = status;
    }

    public static DataSourceStatusEnum getByStatus(Integer status) {
        for (DataSourceStatusEnum statusEnum : values()) {
            if (statusEnum.getStatus() == status) {
                return statusEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/DatasourceSearchTypeEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum DatasourceSearchTypeEnum {
    //1. ALL 2. CREATE_BY_ME
    ALL(1, "all"), CREATED_BY_ME(2, "created_by_me"), OWNER_BY_ME(3, "owner_by_me");

    public Integer getType() {
        return type;
    }

    public String getName() {
        return name;
    }

    private Integer type;

    private String name;


    DatasourceSearchTypeEnum(Integer type, String name) {
        this.type = type;
        this.name = name;
    }

    public static DatasourceSearchTypeEnum getByType(Integer type) {
        for (DatasourceSearchTypeEnum statusEnum : values()) {
            if (statusEnum.getType() == type) {
                return statusEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/DatasourceTypeEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum DatasourceTypeEnum {
    //1. mysql 2. sqlserver
    MYSQL(1, "mysql","com.mysql.cj.jdbc.Driver"), SQL_SERVER(2,"sqlserver","com.microsoft.sqlserver.jdbc.SQLServerDriver");

    public Integer getType() {
        return type;
    }

    public String getName() {
        return name;
    }

    public String getDriver() {
        return driver;
    }

    private Integer type;

    private String name;

    private String driver;


    DatasourceTypeEnum(Integer type, String name, String driver) {
        this.type = type;
        this.name = name;
        this.driver = driver;
    }

    public static DatasourceTypeEnum getByType(Integer type) {
        for (DatasourceTypeEnum statusEnum : values()) {
            if (statusEnum.getType() == type) {
                return statusEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/GroupSearchTypeEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum GroupSearchTypeEnum {
    //1. ALL 2. CREATE_BY_ME
    ALL(1, "all"), CREATED_BY_ME(2,"created_by_me"),OWNER_BY_ME(3, "owner_by_me");

    public Integer getType() {
        return type;
    }

    public String getName() {
        return name;
    }

    private Integer type;

    private String name;


    GroupSearchTypeEnum(Integer type, String name) {
        this.type = type;
        this.name = name;
    }

    public static GroupSearchTypeEnum getByType(Integer type) {
        for (GroupSearchTypeEnum statusEnum : values()) {
            if (statusEnum.getType() == type) {
                return statusEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlEditorActiveStatusEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum SqlEditorActiveStatusEnum {
    //状态:-1 非当前窗口  1. 当前窗口
    NO_ACTIVE(-1), ACTIVE(1);

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    private Integer status;

    SqlEditorActiveStatusEnum(Integer status) {
        this.status = status;
    }

    public static SqlEditorActiveStatusEnum getByStatus(Integer status) {
        for (SqlEditorActiveStatusEnum statusEnum : values()) {
            if (statusEnum.getStatus() == status) {
                return statusEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlEditorOpenStatusEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum SqlEditorOpenStatusEnum {
    //状态:-1 关闭  1. 打开
    CLOSED(-1), OPEN(1);

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    private Integer status;

    SqlEditorOpenStatusEnum(Integer status) {
        this.status = status;
    }

    public static SqlEditorOpenStatusEnum getByStatus(Integer status) {
        for (SqlEditorOpenStatusEnum statusEnum : values()) {
            if (statusEnum.getStatus() == status) {
                return statusEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlEditorStatusEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum SqlEditorStatusEnum {
    //状态:0 关闭窗口  1. 打开窗口
    CLOSED(0), OPEN(1);

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    private Integer status;

    SqlEditorStatusEnum(Integer status) {
        this.status = status;
    }

    public static SqlEditorStatusEnum getByStatus(Integer status) {
        for (SqlEditorStatusEnum statusEnum : values()) {
            if (statusEnum.getStatus() == status) {
                return statusEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeRecordStatusEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum SqlExeRecordStatusEnum {
    //状态:1 执行中  2. 执行完成
    RUNNING(1), COMPLETE(2);

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    private Integer status;

    SqlExeRecordStatusEnum(Integer status) {
        this.status = status;
    }

    public static SqlExeRecordStatusEnum getByStatus(Integer status) {
        for (SqlExeRecordStatusEnum statusEnum : values()) {
            if (statusEnum.getStatus() == status) {
                return statusEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeResultCountTypeForStatisticsEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum SqlExeResultCountTypeForStatisticsEnum {
    //状态:
    ALL(1), SUCCESS(2), FAIL(3), RUNNING(4);

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    private Integer type;

    SqlExeResultCountTypeForStatisticsEnum(Integer type) {
        this.type = type;
    }

    public static SqlExeResultCountTypeForStatisticsEnum getByType(Integer type) {
        for (SqlExeResultCountTypeForStatisticsEnum typeEnum : values()) {
            if (typeEnum.getType() == type) {
                return typeEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeResultSearchByEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum SqlExeResultSearchByEnum {
    //1. ALL 2. CREATE_BY_ME
    ALL(1, "all"), EXECUTED_BY_ME(2, "executed_by_me"), OWNER_BY_ME(3, "owner_by_me");

    public Integer getType() {
        return type;
    }

    public String getName() {
        return name;
    }

    private Integer type;

    private String name;


    SqlExeResultSearchByEnum(Integer type, String name) {
        this.type = type;
        this.name = name;
    }

    public static SqlExeResultSearchByEnum getByType(Integer type) {
        for (SqlExeResultSearchByEnum statusEnum : values()) {
            if (statusEnum.getType() == type) {
                return statusEnum;
            }
        }
        return null;
    }

    public static SqlExeResultSearchByEnum getByName(String name) {
        for (SqlExeResultSearchByEnum statusEnum : values()) {
            if (statusEnum.getName().equals(name)) {
                return statusEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeResultSearchTypeEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum SqlExeResultSearchTypeEnum {
    ALL(0, "all"), DQL_TYPE(1, "dql_type"), DML_TYPE(2, "dml_type"), DDL_TYPE(3, "ddl_type"),
    NO_PERMISSION(3, "no_permission"), SYNTAX_ERROR(5, "syntax_error"),EXE_FAILED(6, "exe_failed");

    public Integer getType() {
        return type;
    }

    public String getName() {
        return name;
    }

    private Integer type;

    private String name;


    SqlExeResultSearchTypeEnum(Integer type, String name) {
        this.type = type;
        this.name = name;
    }

    public static SqlExeResultSearchTypeEnum getByType(Integer type) {
        for (SqlExeResultSearchTypeEnum statusEnum : values()) {
            if (statusEnum.getType() == type) {
                return statusEnum;
            }
        }
        return null;
    }

    public static SqlExeResultSearchTypeEnum getByName(String name) {
        for (SqlExeResultSearchTypeEnum statusEnum : values()) {
            if (statusEnum.getName().equals(name)) {
                return statusEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeResultStatusEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum SqlExeResultStatusEnum {
    //状态:1 执行中  2. 执行成功 -1. 执行失败
    RUNNING(1), SUCCESS(2), FAIL(-1);

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    private Integer status;

    SqlExeResultStatusEnum(Integer status) {
        this.status = status;
    }

    public static SqlExeResultStatusEnum getByStatus(Integer status) {
        for (SqlExeResultStatusEnum statusEnum : values()) {
            if (statusEnum.getStatus() == status) {
                return statusEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlOptionTypeEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum SqlOptionTypeEnum {
    //状态:1 执行中  2. 执行完成
    DQL(1, "DQL", "查询权限", new String[]{"SELECT"}), DML(2, "DML", "修改数据权限", new String[]{"INSERT", "UPDATE", "DELETE"}), DDL(3, "DDL", "操作表结构权限", new String[]{"CREATE", "ALTER", "DROP", "TRUNCATE", "EXEC", "IF", "DECLARE", "BEGIN"}), EXEC(4, "EXEC", "操作表结构权限", new String[]{});

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }


    public String[] getCommand() {
        return command;
    }

    public void setCommand(String[] command) {
        this.command = command;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    private Integer type;

    private String[] command;

    private String name;

    private String desc;

    SqlOptionTypeEnum(Integer type, String name, String desc, String[] command) {
        this.type = type;
        this.command = command;
        this.name = name;
        this.desc = desc;
    }

    public static SqlOptionTypeEnum getByType(Integer type) {
        for (SqlOptionTypeEnum typeEnum : values()) {
            if (typeEnum.getType() == type) {
                return typeEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlOptionTypeEnumForPermission.java
================================================
package com.bin.kong.dms.core.enums;

public enum SqlOptionTypeEnumForPermission {
    //状态:1 执行中  2. 执行完成
    DQL(1, "DQL", "查询权限", new String[]{"SELECT"}), DML(2, "DML", "修改数据权限", new String[]{"INSERT", "UPDATE", "DELETE"}), DDL(3, "DDL", "操作表结构权限", new String[]{"CREATE", "ALTER", "DROP", "TRUNCATE", "EXEC", "IF", "DECLARE", "BEGIN"});

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }


    public String[] getCommand() {
        return command;
    }

    public void setCommand(String[] command) {
        this.command = command;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    private Integer type;

    private String[] command;

    private String name;

    private String desc;

    SqlOptionTypeEnumForPermission(Integer type, String name, String desc, String[] command) {
        this.type = type;
        this.command = command;
        this.name = name;
        this.desc = desc;
    }

    public static SqlOptionTypeEnumForPermission getByType(Integer type) {
        for (SqlOptionTypeEnumForPermission typeEnum : values()) {
            if (typeEnum.getType() == type) {
                return typeEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlQuerySwitchEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum SqlQuerySwitchEnum {
    //状态:-1 关闭  1. 打开
    CLOSED(-1), OPEN(1);

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    private Integer status;

    SqlQuerySwitchEnum(Integer status) {
        this.status = status;
    }

    public static SqlQuerySwitchEnum getByStatus(Integer status) {
        for (SqlQuerySwitchEnum statusEnum : values()) {
            if (statusEnum.getStatus() == status) {
                return statusEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlSyntaxCheckResultEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum SqlSyntaxCheckResultEnum {
    //状态:0.正常,1 NO_LIMIT  2. NO_WHERE
    SUCCESS(0, "没有检测到语法问题", false), NO_LIMIT(1, "SQL缺少返回行数限制!", false), NO_WHERE(2, "SQL缺少WHERE条件限制!", true),NO_PERMISSION(3, "越权操作!", true);

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public Boolean getStop() {
        return stop;
    }

    public void setStop(Boolean stop) {
        this.stop = stop;
    }

    private Integer type;
    private String message;
    private Boolean stop;

    SqlSyntaxCheckResultEnum(Integer type, String message, Boolean stop) {
        this.type = type;
        this.message = message;
        this.stop = stop;
    }

    public static SqlSyntaxCheckResultEnum getByType(Integer type) {
        for (SqlSyntaxCheckResultEnum typeEnum : values()) {
            if (typeEnum.getType() == type) {
                return typeEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlSyntaxErrorCountTypeForStatisticsEnum.java
================================================
package com.bin.kong.dms.core.enums;

public enum SqlSyntaxErrorCountTypeForStatisticsEnum {
    //状态:
   ALL(1), NO_LIMIT(2), NO_WHERE(3), NO_PERMISSION(4);

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    private Integer type;

    SqlSyntaxErrorCountTypeForStatisticsEnum(Integer type) {
        this.type = type;
    }

    public static SqlSyntaxErrorCountTypeForStatisticsEnum getByType(Integer type) {
        for (SqlSyntaxErrorCountTypeForStatisticsEnum typeEnum : values()) {
            if (typeEnum.getType() == type) {
                return typeEnum;
            }
        }
        return null;
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/exception/UserNotExistException.java
================================================
package com.bin.kong.dms.core.exception;

public class UserNotExistException extends RuntimeException {
    public UserNotExistException() {
        super("user not found");
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/exception/UserStatusException.java
================================================
package com.bin.kong.dms.core.exception;

public class UserStatusException extends RuntimeException {
    public UserStatusException(String message) {
        super(message);
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/mybatis/DataSourceConfig.java
================================================
package com.bin.kong.dms.core.mybatis;

import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;

import javax.sql.DataSource;

@Configuration
public class DataSourceConfig {
    @Primary
    @Bean
    @ConfigurationProperties("spring.datasource.dms")
    public DataSource dasDms() {
        return DruidDataSourceBuilder.create().build();
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/mybatis/MybatisConfigDms.java
================================================
package com.bin.kong.dms.core.mybatis;

import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

import javax.sql.DataSource;

@Configuration
@MapperScan(value = "com.bin.kong.dms.dao.mapper.dms", sqlSessionFactoryRef = "sqlSessionFactoryBeanDms")
public class MybatisConfigDms {
    @Autowired
    @Qualifier("dasDms")
    DataSource dasDms;

    @Bean
    SqlSessionFactory sqlSessionFactoryBeanDms() throws Exception {
        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
        factoryBean.setDataSource(dasDms);
        factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:/mybatis/**/*.xml"));
        return factoryBean.getObject();
    }

    @Bean
    SqlSessionTemplate sqlSessionTemplateDms() throws Exception {
        return new SqlSessionTemplate(sqlSessionFactoryBeanDms());
    }
}


================================================
FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/utils/DbUtils.java
================================================
package com.bin.kong.dms.core.utils;

import com.bin.kong.dms.core.dynamicdatasource.DynamicDataSourceContextHolder;
import com.bin.kong.dms.core.dynamicdatasource.DynamicDataSourceUtils;
import com.bin.kong.dms.core.entity.*;
import com.bin.kong.dms.core.enums.DatasourceTypeEnum;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.support.rowset.SqlRowSet;
import org.springframework.jdbc.support.rowset.SqlRowSetMetaData;
import org.springframework.util.CollectionUtils;

import java.sql.*;
import java.util.*;
import java.util.stream.Collectors;

@Slf4j
public class DbUtils {
    private final static String MYSQL_CONNECT_URL = "jdbc:mysql://%s:%s?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8";

    private final static String MYSQL_CONNECT_URL_WITH_DB = "jdbc:mysql://%s:%s/%s?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8";

    private final static String SQL_SERVER_CONNECT_URL = "jdbc:sqlserver://%s:%s";

    private final static String SQL_SERVER_CONNECT_URL_WITH_DB = "jdbc:sqlserver://%s:%s;DatabaseName=%s";

    private final static String[] EXCLUDE_DB_LIST_FOR_MYSQL = new String[]{
            "information_schema", "performance_schema", "mysql", "sys"
    };
    private final static String[] MYSQL_DATE_TYPE_LIST = new String[]{
            "datetime",
            "date",
            "timestamp",
            "time",
            "year"
    };


    private final static String[] MYSQL_TEXT_TYPE_LIST = new String[]{
            "longtext",
            "mediumtext",
            "text",
            "tinytext",
    };


    private final static String[] SQL_NO_LENGTH_TYPE_LIST = new String[]{
            "text",
            "ntext",
            "bit",
            "tinyint",
            "smallint",
            "int",
            "int identity",
            "bigint",
            "smallmoney",
            "money",
            "real",
            "datetime",
            "datetime2",
            "smalldatetime",
            "date",
            "time",
            "datetimeoffset",
            "timestamp",

    };

    /**
     * Mysql数据库连接
     *
     * @param ip
     * @param port
     * @param username
     * @param password
     * @return
     */
    public static Result connectForMysql(String ip, Integer port, String username, String password) {
        return getConnection(ip, port, username, password, DatasourceTypeEnum.MYSQL.getType(), null);
    }


    /**
     * 测试数据源连接
     *
     * @param ip
     * @param port
     * @param username
     * @param password
     * @param type
     * @return
     */
    public static Result testConnect(String ip, Integer port, String username, String password, Integer type) {
        Result<Connection> result = getConnection(ip, port, username, password, type, null);

        if (null != result) {
            Connection conn = result.getData();
            if (null != conn) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    log.error("关闭数据源连接异常!" + e);
                }
            }
        }
        return result;
    }

    public static Result connectForSqlServer(String ip, Integer port, String username, String password) {
        return getConnection(ip, port, username, password, DatasourceTypeEnum.SQL_SERVER.getType(), null);
    }

    /**
     * 拼接mysql数据库连接地址
     *
     * @param ip
     * @param port
     * @return
     */
    public static String getMysqlConnectUrl(String ip, Integer port, String db) {
        if (StringUtils.isNotEmpty(db)) {
            return String.format(MYSQL_CONNECT_URL_WITH_DB, ip, port, db);

        } else {
            return String.format(MYSQL_CONNECT_URL, ip, port);
        }
    }

    public static String getMysqlConnectUrl(String ip, Integer port) {
        return getMysqlConnectUrl(ip, port, null);
    }

    public static String getSqlServerConnectUrl(String ip, Integer port, String db) {
        if (StringUtils.isNotEmpty(db)) {
            return String.format(SQL_SERVER_CONNECT_URL_WITH_DB, ip, port, db);

        } else {
            return String.format(SQL_SERVER_CONNECT_URL, ip, port);
        }
    }


    public static List<String> getTableNames(String ip, Integer port, String username, String password, String db, Integer type) {
        List<String> tableNames = new ArrayList<>();
        Connection conn = getConnection(ip, port, username, password, type, db).getData();
        ResultSet rs = null;
        try {
            //获取数据库的元数据
            DatabaseMetaData metaData = conn.getMetaData();
            //从元数据中获取到所有的表名
            rs = metaData.getTables(db, null, null,
                    new String[]{"TABLE"});

            while (rs.next()) {
                tableNames.add(rs.getString(3));
            }
        } catch (SQLException e) {
            log.error("获取数据源异常!", e);
        } finally {
            try {
                rs.close();
                conn.close();
            } catch (SQLException e) {
                log.error("断开数据源连接异常!", e);
            }
        }
        return tableNames;
    }


    public static TableInfoEntity getTableInfo(Integer datasource_id, String ip, Integer port, String username, String password, String db, Integer type, String tableName) {
        TableInfoEntity infoEntity = TableInfoEntity.builder().build();
        try {
            String dataSource = DynamicDataSourceUtils.addDataSource(datasource_id, type, ip, port, db, username, password);
            JdbcTemplate jdbcTemplate = DynamicDataSourceContextHolder.getJdbcTemplate(dataSource);

            String sql = "select * from information_schema.tables where table_schema='" + db + "'  and table_name='" + tableName + "' limit 1";

            List<Map<String, Object>> resultList = jdbcTemplate.queryForList(sql);
            if (resultList.size() > 0) {
                Map<String, Object> resultMap = resultList.get(0);
                infoEntity.setEngine((String) resultMap.get("ENGINE"));
                infoEntity.setCommit((String) resultMap.get("TABLE_COMMENT"));
                String charset = (String) resultMap.get("TABLE_COLLATION");
                if (StringUtils.isNotEmpty(charset)) {
                    List<String> charsetList = Arrays.asList(charset.split("_"));
                    infoEntity.setCharacter_set(charsetList.get(0));
                }
            }

        } catch (Exception e) {
            log.error("获取数据源异常!", e);
        }
        return infoEntity;
    }

    /**
     * 获取字段名称
     *
     * @param db
     * @param tableName
     * @return
     */
    public static List<TableFieldEntity> getColumnNames(Integer datasource_id, String ip, Integer port, String username, String password, String db, String tableName, Integer type) {
        List<TableFieldEntity> tableFiledEntityList = new ArrayList<>();
        if (StringUtils.isEmpty(tableName)) {
            return tableFiledEntityList;
        }

        Connection conn = getConnection(ip, port, username, password, type, db).getData();
        ResultSet rs = null;
        try {
            //获取数据库的元数据
            //DatabaseMetaData metaData = conn.getMetaData();
            List<String> primaryK
Download .txt
gitextract_eiqufxd7/

├── .idea/
│   ├── compiler.xml
│   ├── encodings.xml
│   ├── libraries/
│   │   ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml
│   │   ├── Maven__ch_qos_logback_logback_core_1_1_11.xml
│   │   ├── Maven__com_alibaba_druid_1_1_10.xml
│   │   ├── Maven__com_alibaba_druid_spring_boot_starter_1_1_10.xml
│   │   ├── Maven__com_alibaba_fastjson_1_2_46.xml
│   │   ├── Maven__com_fasterxml_classmate_1_3_4.xml
│   │   ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml
│   │   ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_10.xml
│   │   ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_10.xml
│   │   ├── Maven__com_github_jsqlparser_jsqlparser_1_4.xml
│   │   ├── Maven__com_google_protobuf_protobuf_java_2_6_0.xml
│   │   ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml
│   │   ├── Maven__com_microsoft_sqlserver_sqljdbc4_4_1.xml
│   │   ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml
│   │   ├── Maven__commons_beanutils_commons_beanutils_1_9_3.xml
│   │   ├── Maven__commons_codec_commons_codec_1_10.xml
│   │   ├── Maven__commons_collections_commons_collections_3_2_2.xml
│   │   ├── Maven__javax_validation_validation_api_1_1_0_Final.xml
│   │   ├── Maven__junit_junit_4_12.xml
│   │   ├── Maven__mysql_mysql_connector_java_8_0_11.xml
│   │   ├── Maven__net_minidev_accessors_smart_1_1.xml
│   │   ├── Maven__net_minidev_json_smart_2_2_1.xml
│   │   ├── Maven__net_sf_ehcache_ehcache_core_2_5_3.xml
│   │   ├── Maven__org_apache_commons_commons_lang3_3_8_1.xml
│   │   ├── Maven__org_apache_httpcomponents_httpclient_4_5_5.xml
│   │   ├── Maven__org_apache_httpcomponents_httpclient_4_5_8.xml
│   │   ├── Maven__org_apache_httpcomponents_httpcore_4_4_9.xml
│   │   ├── Maven__org_apache_shiro_shiro_core_1_3_2.xml
│   │   ├── Maven__org_apache_shiro_shiro_ehcache_1_3_2.xml
│   │   ├── Maven__org_apache_shiro_shiro_spring_1_3_2.xml
│   │   ├── Maven__org_apache_shiro_shiro_web_1_3_2.xml
│   │   ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_27.xml
│   │   ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_27.xml
│   │   ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_27.xml
│   │   ├── Maven__org_apache_tomcat_tomcat_annotations_api_8_5_27.xml
│   │   ├── Maven__org_apache_tomcat_tomcat_jdbc_8_5_27.xml
│   │   ├── Maven__org_apache_tomcat_tomcat_juli_8_5_27.xml
│   │   ├── Maven__org_aspectj_aspectjweaver_1_8_13.xml
│   │   ├── Maven__org_aspectj_aspectjweaver_1_8_3.xml
│   │   ├── Maven__org_assertj_assertj_core_2_6_0.xml
│   │   ├── Maven__org_hamcrest_hamcrest_core_1_3.xml
│   │   ├── Maven__org_hamcrest_hamcrest_library_1_3.xml
│   │   ├── Maven__org_hibernate_hibernate_validator_5_3_6_Final.xml
│   │   ├── Maven__org_jboss_logging_jboss_logging_3_3_1_Final.xml
│   │   ├── Maven__org_mockito_mockito_core_1_10_19.xml
│   │   ├── Maven__org_mybatis_mybatis_3_4_5.xml
│   │   ├── Maven__org_mybatis_mybatis_spring_1_3_1.xml
│   │   ├── Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_3_1.xml
│   │   ├── Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_3_1.xml
│   │   ├── Maven__org_objenesis_objenesis_2_1.xml
│   │   ├── Maven__org_ow2_asm_asm_5_0_3.xml
│   │   ├── Maven__org_projectlombok_lombok_1_16_20.xml
│   │   ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml
│   │   ├── Maven__org_slf4j_jcl_over_slf4j_1_7_25.xml
│   │   ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml
│   │   ├── Maven__org_slf4j_log4j_over_slf4j_1_7_25.xml
│   │   ├── Maven__org_slf4j_slf4j_api_1_7_25.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_1_5_19_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_starter_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_starter_jdbc_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_test_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_10_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_aop_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_beans_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_context_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_core_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_expression_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_jdbc_5_1_9_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_test_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_tx_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_web_4_3_14_RELEASE.xml
│   │   ├── Maven__org_springframework_spring_webmvc_4_3_14_RELEASE.xml
│   │   └── Maven__org_yaml_snakeyaml_1_17.xml
│   ├── misc.xml
│   ├── modules.xml
│   ├── uiDesigner.xml
│   ├── vcs.xml
│   └── workspace.xml
├── README.md
├── kb-dms-backend/
│   ├── .gitignore
│   ├── contract/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bin/
│   │                       └── kong/
│   │                           └── dms/
│   │                               └── contract/
│   │                                   ├── common/
│   │                                   │   ├── BaseResponse.java
│   │                                   │   ├── BaseSearch.java
│   │                                   │   ├── GenericResponse.java
│   │                                   │   ├── PaginationResponse.java
│   │                                   │   ├── ResponseState.java
│   │                                   │   └── SearchListAndCountDO.java
│   │                                   ├── config/
│   │                                   │   └── response/
│   │                                   │       ├── DatasourceForSearchResponse.java
│   │                                   │       ├── DatasourcePermissionMemberResponse.java
│   │                                   │       ├── DbResponse.java
│   │                                   │       └── TableResponse.java
│   │                                   ├── permission/
│   │                                   │   └── response/
│   │                                   │       └── SqlOptionsResponse.java
│   │                                   ├── statistics/
│   │                                   │   └── response/
│   │                                   │       ├── GeneralBizCountResponse.java
│   │                                   │       └── GeneralMonthTimelineResponse.java
│   │                                   ├── user/
│   │                                   │   ├── entity/
│   │                                   │   │   └── RequestUserInfo.java
│   │                                   │   └── request/
│   │                                   │       ├── LoginRequest.java
│   │                                   │       ├── RegisterRequest.java
│   │                                   │       ├── SqlEditorShareRequest.java
│   │                                   │       └── UpdateUserInfoRequest.java
│   │                                   └── utils/
│   │                                       └── SqlExeRequest.java
│   ├── core/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bin/
│   │                       └── kong/
│   │                           └── dms/
│   │                               └── core/
│   │                                   ├── config/
│   │                                   │   └── ThreadPoolConfig.java
│   │                                   ├── constants/
│   │                                   │   ├── CookieConstants.java
│   │                                   │   ├── ResponseConstants.java
│   │                                   │   └── UserInfoConstants.java
│   │                                   ├── dynamicdatasource/
│   │                                   │   ├── DynamicDataExeUtils.java
│   │                                   │   ├── DynamicDataSourceContextHolder.java
│   │                                   │   ├── DynamicDataSourceUtils.java
│   │                                   │   ├── DynamicSqlOptionTypeEntity.java
│   │                                   │   ├── DynamicSqlOptionTypeWithDruidControl.java
│   │                                   │   └── DynamicSqlSyntaxCheck.java
│   │                                   ├── entity/
│   │                                   │   ├── MetaIndexEntity.java
│   │                                   │   ├── Result.java
│   │                                   │   ├── SqlExeResult.java
│   │                                   │   ├── TableColumnAndIndexEntity.java
│   │                                   │   ├── TableFieldEntity.java
│   │                                   │   ├── TableIndexEntity.java
│   │                                   │   └── TableInfoEntity.java
│   │                                   ├── enums/
│   │                                   │   ├── BusGroupStatusEnum.java
│   │                                   │   ├── DataSourceStatusEnum.java
│   │                                   │   ├── DatasourceSearchTypeEnum.java
│   │                                   │   ├── DatasourceTypeEnum.java
│   │                                   │   ├── GroupSearchTypeEnum.java
│   │                                   │   ├── SqlEditorActiveStatusEnum.java
│   │                                   │   ├── SqlEditorOpenStatusEnum.java
│   │                                   │   ├── SqlEditorStatusEnum.java
│   │                                   │   ├── SqlExeRecordStatusEnum.java
│   │                                   │   ├── SqlExeResultCountTypeForStatisticsEnum.java
│   │                                   │   ├── SqlExeResultSearchByEnum.java
│   │                                   │   ├── SqlExeResultSearchTypeEnum.java
│   │                                   │   ├── SqlExeResultStatusEnum.java
│   │                                   │   ├── SqlOptionTypeEnum.java
│   │                                   │   ├── SqlOptionTypeEnumForPermission.java
│   │                                   │   ├── SqlQuerySwitchEnum.java
│   │                                   │   ├── SqlSyntaxCheckResultEnum.java
│   │                                   │   └── SqlSyntaxErrorCountTypeForStatisticsEnum.java
│   │                                   ├── exception/
│   │                                   │   ├── UserNotExistException.java
│   │                                   │   └── UserStatusException.java
│   │                                   ├── mybatis/
│   │                                   │   ├── DataSourceConfig.java
│   │                                   │   └── MybatisConfigDms.java
│   │                                   └── utils/
│   │                                       ├── DbUtils.java
│   │                                       ├── HttpUtils.java
│   │                                       ├── PPAesUtils.java
│   │                                       └── PPStringUtils.java
│   ├── dao/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   └── com/
│   │           │       └── bin/
│   │           │           └── kong/
│   │           │               └── dms/
│   │           │                   └── dao/
│   │           │                       └── mapper/
│   │           │                           ├── config/
│   │           │                           │   ├── CfAdminConfigMapper.java
│   │           │                           │   ├── CfBusGroupMapper.java
│   │           │                           │   ├── CfBusGroupOwnersMapper.java
│   │           │                           │   ├── CfBusGroupUsersMapper.java
│   │           │                           │   ├── CfDatasourceMapper.java
│   │           │                           │   ├── CfDatasourceOwnersMapper.java
│   │           │                           │   ├── CfDatasourcePermissionMemberMapper.java
│   │           │                           │   └── CfDatasourcePermissionSqlOptionsMapper.java
│   │           │                           ├── join/
│   │           │                           │   ├── BusGroupJoinOwnerMapper.java
│   │           │                           │   ├── DatasourceJoinGroupJoinOwnerMapper.java
│   │           │                           │   ├── DatasourceJoinGroupMapper.java
│   │           │                           │   └── SqlEditorTabJoinDatasourceMapper.java
│   │           │                           ├── result/
│   │           │                           │   ├── RsSqlExeRecordMapper.java
│   │           │                           │   └── RsSqlExeResultMapper.java
│   │           │                           ├── statistics/
│   │           │                           │   ├── StSqlExeBizTotalMapper.java
│   │           │                           │   ├── StSqlExeResultCountDayMapper.java
│   │           │                           │   ├── StSqlExeResultCountTimelineMapper.java
│   │           │                           │   ├── StSqlSyntaxErrorCountDayMapper.java
│   │           │                           │   └── StSqlSyntaxErrorCountTimelineMapper.java
│   │           │                           └── user/
│   │           │                               ├── UsActiveSqlEditorTabMapper.java
│   │           │                               ├── UsFavoriteDatasourceMapper.java
│   │           │                               ├── UsFavoriteDbMapper.java
│   │           │                               ├── UsFavoriteGroupMapper.java
│   │           │                               ├── UsFavoriteTableMapper.java
│   │           │                               ├── UsSqlEditorTabMapper.java
│   │           │                               └── UserInfoMapper.java
│   │           └── resources/
│   │               ├── generatorConfig.xml
│   │               └── mybatis/
│   │                   ├── configMapping/
│   │                   │   ├── CfAdminConfigMapper.xml
│   │                   │   ├── CfBusGroupMapper.xml
│   │                   │   ├── CfBusGroupOwnersMapper.xml
│   │                   │   ├── CfBusGroupUsersMapper.xml
│   │                   │   ├── CfDatasourceMapper.xml
│   │                   │   ├── CfDatasourceOwnersMapper.xml
│   │                   │   ├── CfDatasourcePermissionMemberMapper.xml
│   │                   │   └── CfDatasourcePermissionSqlOptionsMapper.xml
│   │                   ├── joinMapping/
│   │                   │   ├── BusGroupJoinOwnerMapper.xml
│   │                   │   ├── DatasourceJoinGroupJoinOwnerMapper.xml
│   │                   │   ├── DatasourceJoinGroupMapper.xml
│   │                   │   └── SqlEditorTabJoinDatasourceMapper.xml
│   │                   ├── resultMapping/
│   │                   │   ├── RsSqlExeRecordMapper.xml
│   │                   │   └── RsSqlExeResultMapper.xml
│   │                   ├── statisticsMapping/
│   │                   │   ├── StSqlExeBizTotalMapper.xml
│   │                   │   ├── StSqlExeResultCountDayMapper.xml
│   │                   │   ├── StSqlExeResultCountTimelineMapper.xml
│   │                   │   ├── StSqlSyntaxErrorCountDayMapper.xml
│   │                   │   └── StSqlSyntaxErrorCountTimelineMapper.xml
│   │                   └── userMapping/
│   │                       ├── UsActiveSqlEditorTabMapper.xml
│   │                       ├── UsFavoriteDatasourceMapper.xml
│   │                       ├── UsFavoriteDbMapper.xml
│   │                       ├── UsFavoriteGroupMapper.xml
│   │                       ├── UsFavoriteTableMapper.xml
│   │                       ├── UsSqlEditorTabMapper.xml
│   │                       └── UserInfoMapper.xml
│   ├── model/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bin/
│   │                       └── kong/
│   │                           └── dms/
│   │                               └── model/
│   │                                   ├── config/
│   │                                   │   ├── entity/
│   │                                   │   │   ├── CfAdminConfig.java
│   │                                   │   │   ├── CfBusGroup.java
│   │                                   │   │   ├── CfBusGroupOwners.java
│   │                                   │   │   ├── CfBusGroupUsers.java
│   │                                   │   │   ├── CfDatasource.java
│   │                                   │   │   ├── CfDatasourceOwners.java
│   │                                   │   │   ├── CfDatasourcePermissionMember.java
│   │                                   │   │   └── CfDatasourcePermissionSqlOptions.java
│   │                                   │   └── search/
│   │                                   │       ├── AdminSearch.java
│   │                                   │       ├── BusGroupSearch.java
│   │                                   │       ├── BusGroupUsersSearch.java
│   │                                   │       └── DatasourceSearch.java
│   │                                   ├── join/
│   │                                   │   ├── entity/
│   │                                   │   │   ├── BusGroupJoinOwner.java
│   │                                   │   │   ├── DatasourceJoinGroup.java
│   │                                   │   │   ├── DatasourceJoinGroupJoinOwner.java
│   │                                   │   │   ├── DdlOptionJoinTask.java
│   │                                   │   │   └── SqlEditorTabJoinDatasource.java
│   │                                   │   └── search/
│   │                                   │       ├── BusGroupJoinOwnerSearch.java
│   │                                   │       ├── DatasourceJoinGroupJoinOwnerSearch.java
│   │                                   │       ├── DatasourceJoinGroupSearch.java
│   │                                   │       ├── DdlOptionsJoinTaskSearch.java
│   │                                   │       └── SqlEditorTabJoinDatasourceSearch.java
│   │                                   ├── result/
│   │                                   │   ├── entity/
│   │                                   │   │   ├── RsSqlExeRecord.java
│   │                                   │   │   └── RsSqlExeResult.java
│   │                                   │   └── search/
│   │                                   │       ├── SqlExeResultForStatisticsSearch.java
│   │                                   │       └── SqlExeResultSearch.java
│   │                                   ├── statistics/
│   │                                   │   ├── entity/
│   │                                   │   │   ├── StSqlExeBizTotal.java
│   │                                   │   │   ├── StSqlExeResultCountDay.java
│   │                                   │   │   ├── StSqlExeResultCountTimeline.java
│   │                                   │   │   ├── StSqlSyntaxErrorCountDay.java
│   │                                   │   │   └── StSqlSyntaxErrorCountTimeline.java
│   │                                   │   └── search/
│   │                                   │       ├── StSqlExeResultCountDaySearch.java
│   │                                   │       ├── StSqlExeResultCountTimelineSearch.java
│   │                                   │       ├── StSqlSyntaxErrorCountDaySearch.java
│   │                                   │       └── StSqlSyntaxErrorCountTimelineSearch.java
│   │                                   └── user/
│   │                                       ├── entity/
│   │                                       │   ├── UsActiveSqlEditorTab.java
│   │                                       │   ├── UsFavoriteDatasource.java
│   │                                       │   ├── UsFavoriteDb.java
│   │                                       │   ├── UsFavoriteGroup.java
│   │                                       │   ├── UsFavoriteTable.java
│   │                                       │   ├── UsSqlEditorTab.java
│   │                                       │   ├── UserInfo.java
│   │                                       │   └── UserInfoDTO.java
│   │                                       └── search/
│   │                                           └── SqlEditorTabSearch.java
│   ├── pom.xml
│   └── server/
│       ├── .gitignore
│       ├── .mvn/
│       │   └── wrapper/
│       │       ├── MavenWrapperDownloader.java
│       │       ├── maven-wrapper.jar
│       │       └── maven-wrapper.properties
│       ├── mvnw
│       ├── mvnw.cmd
│       ├── pom.xml
│       └── src/
│           ├── main/
│           │   ├── java/
│           │   │   └── com/
│           │   │       └── bin/
│           │   │           └── kong/
│           │   │               └── dms/
│           │   │                   └── sever/
│           │   │                       ├── SeverApplication.java
│           │   │                       ├── config/
│           │   │                       │   └── ShiroConfig.java
│           │   │                       ├── controller/
│           │   │                       │   ├── common/
│           │   │                       │   │   └── BaseController.java
│           │   │                       │   ├── config/
│           │   │                       │   │   ├── AdminController.java
│           │   │                       │   │   ├── BusGroupController.java
│           │   │                       │   │   ├── BusGroupOwnersController.java
│           │   │                       │   │   ├── BusGroupUsersController.java
│           │   │                       │   │   ├── DatasourceController.java
│           │   │                       │   │   ├── DatasourceOwnersController.java
│           │   │                       │   │   ├── DatasourcePermissionMemberController.java
│           │   │                       │   │   └── DatasourcePermissionSqlOptionsController.java
│           │   │                       │   ├── permission/
│           │   │                       │   │   └── PermissionController.java
│           │   │                       │   ├── result/
│           │   │                       │   │   └── SqlExeResultController.java
│           │   │                       │   ├── statistics/
│           │   │                       │   │   └── GeneralStatisticsController.java
│           │   │                       │   ├── user/
│           │   │                       │   │   ├── ActiveSqlEditorTabController.java
│           │   │                       │   │   ├── LoginController.java
│           │   │                       │   │   ├── RegisterController.java
│           │   │                       │   │   ├── SqlEditorTabController.java
│           │   │                       │   │   ├── UserFavoriteController.java
│           │   │                       │   │   └── UserInfoController.java
│           │   │                       │   └── utils/
│           │   │                       │       ├── SqlEditorUtilsController.java
│           │   │                       │       └── SqlExeController.java
│           │   │                       ├── filter/
│           │   │                       │   └── UrlFilter.java
│           │   │                       ├── job/
│           │   │                       │   ├── SqlExeResultCountForDayJob.java
│           │   │                       │   ├── SqlExeResultCountForTimelineJob.java
│           │   │                       │   ├── SqlExeSyntaxErrorCountForDayJob.java
│           │   │                       │   └── SqlExeSyntaxErrorCountForTimelineJob.java
│           │   │                       ├── runner/
│           │   │                       │   └── DataSourceInitRunner.java
│           │   │                       ├── service/
│           │   │                       │   ├── ISqlExeService.java
│           │   │                       │   ├── ISqlOptionsTypePermissionService.java
│           │   │                       │   ├── IStSqlExeBizTotalService.java
│           │   │                       │   └── impl/
│           │   │                       │       ├── SqlExeServiceImpl.java
│           │   │                       │       ├── SqlOptionsTypePermissionServiceImpl.java
│           │   │                       │       └── StSqlExeBizTotalServiceImpl.java
│           │   │                       └── shiro/
│           │   │                           ├── MyCredentialsMatcher.java
│           │   │                           ├── MyExceptionHandler.java
│           │   │                           ├── MyShiroRealm.java
│           │   │                           └── PaoSessionManager.java
│           │   └── resources/
│           │       ├── application-dev.yml
│           │       ├── application.yml
│           │       ├── banner.txt
│           │       ├── db/
│           │       │   ├── 1_database.sql
│           │       │   ├── 2_tables.sql
│           │       │   └── 3_init_data.sql
│           │       ├── logback-spring.xml
│           │       └── static/
│           │           ├── index.html
│           │           └── static/
│           │               ├── css/
│           │               │   ├── app.a75ebbd0f55ebb297798f6129fc54248.css
│           │               │   └── app.a75ebbd0f55ebb297798f6129fc54248.css.map
│           │               └── js/
│           │                   ├── 0.adcbbedf1bc97e8c5a86.js
│           │                   ├── 0.adcbbedf1bc97e8c5a86.js.map
│           │                   ├── 1.17872d9c9558aa7b47a8.js
│           │                   ├── 1.17872d9c9558aa7b47a8.js.map
│           │                   ├── 2.f9dfc16198ee234c2eb8.js
│           │                   ├── 2.f9dfc16198ee234c2eb8.js.map
│           │                   ├── 3.c32696bce67f93ff9efe.js
│           │                   ├── 3.c32696bce67f93ff9efe.js.map
│           │                   ├── 4.cd83619a6b427be7d142.js
│           │                   ├── 4.cd83619a6b427be7d142.js.map
│           │                   ├── 5.a638a404fc2f3fb94a64.js
│           │                   ├── 5.a638a404fc2f3fb94a64.js.map
│           │                   ├── 6.8f273453121ae60f153f.js
│           │                   ├── 6.8f273453121ae60f153f.js.map
│           │                   ├── 7.5526581747961aef2581.js
│           │                   ├── 7.5526581747961aef2581.js.map
│           │                   ├── 8.3a774218aaed1aec2b73.js
│           │                   ├── 8.3a774218aaed1aec2b73.js.map
│           │                   ├── app.efe01cc3dc95d8a05618.js
│           │                   ├── app.efe01cc3dc95d8a05618.js.map
│           │                   ├── manifest.34de0bce1187b89041d6.js
│           │                   ├── manifest.34de0bce1187b89041d6.js.map
│           │                   ├── vendor.5404de12be6487c3db8e.js
│           │                   └── vendor.5404de12be6487c3db8e.js.map
│           └── test/
│               └── java/
│                   └── com/
│                       └── bin/
│                           └── kong/
│                               └── dms/
│                                   └── sever/
│                                       └── SeverApplicationTests.java
├── kb-dms-web/
│   ├── .babelrc
│   ├── .editorconfig
│   ├── .gitignore
│   ├── .postcssrc.js
│   ├── README.md
│   ├── build/
│   │   ├── build.js
│   │   ├── check-versions.js
│   │   ├── utils.js
│   │   ├── vue-loader.conf.js
│   │   ├── webpack.base.conf.js
│   │   ├── webpack.dev.conf.js
│   │   └── webpack.prod.conf.js
│   ├── config/
│   │   ├── dev.env.js
│   │   ├── index.js
│   │   ├── prod.env.js
│   │   └── test.env.js
│   ├── index.html
│   ├── jsonlint.js
│   ├── jsonlint.l
│   ├── jsonlint.y
│   ├── package.json
│   ├── src/
│   │   ├── App.vue
│   │   ├── api/
│   │   │   ├── config/
│   │   │   │   ├── admin_api.js
│   │   │   │   ├── bus_group_api.js
│   │   │   │   ├── bus_group_owners_api.js
│   │   │   │   ├── bus_group_users_api.js
│   │   │   │   ├── datasource_api.js
│   │   │   │   ├── datasource_owners_api.js
│   │   │   │   ├── datasource_permission_member_api.js
│   │   │   │   └── datasource_permission_sql_options_api.js
│   │   │   ├── permission/
│   │   │   │   └── sql_options_api.js
│   │   │   ├── result/
│   │   │   │   └── sql_exe_result_api.js
│   │   │   ├── statistics/
│   │   │   │   └── general_statistics_api.js
│   │   │   ├── user/
│   │   │   │   ├── sql_editor_tab_api.js
│   │   │   │   ├── user_favorite_api.js
│   │   │   │   ├── user_info_api.js
│   │   │   │   ├── user_login_api.js
│   │   │   │   └── user_register_api.js
│   │   │   └── utils/
│   │   │       ├── sql_editor_utils_api.js
│   │   │       └── sql_exe_utils_api.js
│   │   ├── components/
│   │   │   ├── GenericFormUI.js
│   │   │   ├── catalog/
│   │   │   │   ├── ComponentGenericFilter.js
│   │   │   │   ├── ComponentLazyInput.js
│   │   │   │   ├── ComponentSelectorCatalog.js
│   │   │   │   ├── MixinCatalogBase.js
│   │   │   │   ├── MixinCatalogBaseNoPage.js
│   │   │   │   └── MixinExpandableCatalogBase.js
│   │   │   ├── datePicker/
│   │   │   │   ├── DatePicker.js
│   │   │   │   ├── hour_selector.js
│   │   │   │   ├── minute_selector.js
│   │   │   │   ├── style.css
│   │   │   │   └── utils.js
│   │   │   ├── echarts/
│   │   │   │   └── echarts_tools.js
│   │   │   ├── editor/
│   │   │   │   ├── Editor.js
│   │   │   │   └── componentFontsColorCard.js
│   │   │   ├── elements/
│   │   │   │   ├── PpSection.js
│   │   │   │   ├── clear_btn.js
│   │   │   │   ├── favorite-btn.js
│   │   │   │   ├── icon_btn.js
│   │   │   │   ├── icon_btn_improve.js
│   │   │   │   ├── pp_field.js
│   │   │   │   ├── pp_navigator.js
│   │   │   │   ├── pp_section.css
│   │   │   │   ├── pp_section.js
│   │   │   │   ├── pp_section_card.js
│   │   │   │   └── side_navigator.js
│   │   │   ├── modal/
│   │   │   │   └── MixinsBaseModal.js
│   │   │   ├── selector/
│   │   │   │   ├── BusGroupSelector.js
│   │   │   │   ├── ComponentDatePicker.js
│   │   │   │   ├── ComponentMultiPersonSelector.js
│   │   │   │   ├── ComponentPersonSelector.js
│   │   │   │   ├── Datasource.js
│   │   │   │   ├── DatasourceDB.js
│   │   │   │   ├── DatasourceDbSelector.js
│   │   │   │   ├── DatasourceSelector.js
│   │   │   │   ├── DatasourceTypeSelector.js
│   │   │   │   ├── MixinSelectorBase.js
│   │   │   │   ├── MySqlEditorSelector.js
│   │   │   │   ├── MysqlCharsetSelector.js
│   │   │   │   ├── PluginMultiSelector.js
│   │   │   │   ├── PluginSelectorOptionsQueryFilter.js
│   │   │   │   ├── PpPopover.js
│   │   │   │   ├── TableDataTypeInputSelector.js
│   │   │   │   ├── TableIndexTypeInputSelector.js
│   │   │   │   └── TableSelector.js
│   │   │   └── upload/
│   │   │       └── button_upload_file.js
│   │   ├── css/
│   │   │   ├── materialdesignicons.css
│   │   │   ├── overwrite.css
│   │   │   ├── style.css
│   │   │   └── theme.css
│   │   ├── layouts/
│   │   │   ├── footer-menu.vue
│   │   │   ├── header-menu.vue
│   │   │   ├── header_data.js
│   │   │   ├── index.vue
│   │   │   ├── left-menu-item.vue
│   │   │   ├── left-menu.vue
│   │   │   ├── left_menu_data.js
│   │   │   └── path_bar.vue
│   │   ├── main.js
│   │   ├── pages/
│   │   │   ├── config/
│   │   │   │   ├── admin/
│   │   │   │   │   ├── comp_admin_catalog.js
│   │   │   │   │   └── index.js
│   │   │   │   ├── datasource/
│   │   │   │   │   ├── comp_datasource_catalog.js
│   │   │   │   │   ├── comp_datasource_detail.js
│   │   │   │   │   ├── index.js
│   │   │   │   │   ├── modal_datasource_create.js
│   │   │   │   │   └── section_datasource_permission.js
│   │   │   │   ├── group_config/
│   │   │   │   │   ├── comp_group_catalog.js
│   │   │   │   │   ├── comp_group_detail.js
│   │   │   │   │   ├── comp_group_users.js
│   │   │   │   │   └── index.js
│   │   │   │   ├── layouts/
│   │   │   │   │   ├── footer-menu.vue
│   │   │   │   │   ├── header-menu.vue
│   │   │   │   │   └── index.vue
│   │   │   │   └── system_config.js
│   │   │   ├── history/
│   │   │   │   ├── comp_sql_exe_result_catalog.js
│   │   │   │   ├── comp_sql_exe_result_tool_bar.js
│   │   │   │   ├── index.js
│   │   │   │   ├── modal_sql_exe_result_detail.js
│   │   │   │   └── sql_exe_result_search_by_selector.js
│   │   │   ├── home/
│   │   │   │   ├── comp_exe_result.js
│   │   │   │   ├── comp_exe_result_catalog.js
│   │   │   │   ├── comp_field_catalog.js
│   │   │   │   ├── comp_sql_editor.js
│   │   │   │   ├── comp_sql_editor_tabs.js
│   │   │   │   ├── comp_table_catalog.js
│   │   │   │   ├── comp_table_column_type_input.js
│   │   │   │   ├── comp_table_content_catalog.js
│   │   │   │   ├── comp_table_data_menu.js
│   │   │   │   ├── comp_table_edit_catalog.js
│   │   │   │   ├── comp_table_edit_field_type_input.js
│   │   │   │   ├── comp_table_edit_row_menu.js
│   │   │   │   ├── comp_table_folder.js
│   │   │   │   ├── comp_table_folder_menu.js
│   │   │   │   ├── comp_table_index_field_type_input.js
│   │   │   │   ├── comp_table_index_row_menu.js
│   │   │   │   ├── comp_table_info.js
│   │   │   │   ├── comp_table_info_columns_catalog.js
│   │   │   │   ├── comp_table_info_ddl.js
│   │   │   │   ├── index.js
│   │   │   │   ├── modal_sql_confirm.js
│   │   │   │   ├── pp_navigator_table_info.js
│   │   │   │   ├── utils_ddl_sql_check.js
│   │   │   │   ├── utils_ddl_sql_command_builder.js
│   │   │   │   ├── utils_dml_sql_command_builder.js
│   │   │   │   └── utils_edit_ddl_sql_command_builder.js
│   │   │   ├── statistics/
│   │   │   │   ├── comp_dash_card_simple.js
│   │   │   │   └── index.js
│   │   │   └── user/
│   │   │       ├── info/
│   │   │       │   └── index.js
│   │   │       ├── login/
│   │   │       │   └── index.js
│   │   │       └── register/
│   │   │           └── index.js
│   │   ├── plugins/
│   │   │   ├── PpDialog.js
│   │   │   ├── PpNotify.css
│   │   │   ├── PpNotify.js
│   │   │   ├── axios.js
│   │   │   ├── clipboard.js
│   │   │   ├── easy-table/
│   │   │   │   └── kb-easytable.js
│   │   │   ├── quasar.js
│   │   │   ├── sql_exe_editor/
│   │   │   │   ├── editor.js
│   │   │   │   └── style.css
│   │   │   ├── theme_ctl.js
│   │   │   ├── vue-editor/
│   │   │   │   ├── vkbeautify.js
│   │   │   │   ├── vue-editor.css
│   │   │   │   ├── vue-editor.js
│   │   │   │   └── vue-eidtor-data-format.js
│   │   │   ├── vuelidate.js
│   │   │   └── vuetouch.js
│   │   ├── router/
│   │   │   ├── index.js
│   │   │   └── routes.js
│   │   ├── store/
│   │   │   ├── home/
│   │   │   │   ├── actions.js
│   │   │   │   ├── getters.js
│   │   │   │   ├── index.js
│   │   │   │   ├── mutations.js
│   │   │   │   └── state.js
│   │   │   ├── index.js
│   │   │   ├── main/
│   │   │   │   ├── actions.js
│   │   │   │   ├── getters.js
│   │   │   │   ├── index.js
│   │   │   │   ├── mutations.js
│   │   │   │   └── state.js
│   │   │   └── user/
│   │   │       ├── actions.js
│   │   │       ├── getters.js
│   │   │       ├── index.js
│   │   │       ├── mutations.js
│   │   │       └── state.js
│   │   └── utils/
│   │       ├── Optional.js
│   │       ├── clipboard.js
│   │       ├── config_dictionary.js
│   │       ├── data_format_utils.js
│   │       ├── data_utils.js
│   │       ├── date_format_utils.js
│   │       ├── edit_ddl_dictionary.js
│   │       ├── favorite_selection.js
│   │       ├── favorite_user_selection.js
│   │       ├── local_storage_utils.js
│   │       ├── mysql_charset_dictionary.js
│   │       ├── regExp.js
│   │       ├── render_field_helper.js
│   │       ├── request_dictionary.js
│   │       ├── result_dictionary.js
│   │       ├── sql_editor_dictionary.js
│   │       ├── user_dictionary.js
│   │       └── utils_mysql_keywords_check.js
│   ├── static/
│   │   └── .gitkeep
│   └── test/
│       └── e2e/
│           ├── custom-assertions/
│           │   └── elementCount.js
│           ├── nightwatch.conf.js
│           ├── runner.js
│           └── specs/
│               └── test.js
└── kb-dms.iml
Download .txt
Showing preview only (276K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (3077 symbols across 308 files)

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/BaseResponse.java
  class BaseResponse (line 7) | @Getter
    method addMessage (line 13) | public void addMessage(String msg) {

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/BaseSearch.java
  class BaseSearch (line 5) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/GenericResponse.java
  class GenericResponse (line 6) | @Setter
    method isSuccess (line 11) | @Override

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/PaginationResponse.java
  class PaginationResponse (line 8) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/ResponseState.java
  type ResponseState (line 3) | public interface ResponseState {
    method isSuccess (line 4) | boolean isSuccess();

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/SearchListAndCountDO.java
  class SearchListAndCountDO (line 8) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/DatasourceForSearchResponse.java
  class DatasourceForSearchResponse (line 8) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/DatasourcePermissionMemberResponse.java
  class DatasourcePermissionMemberResponse (line 10) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/DbResponse.java
  class DbResponse (line 8) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/TableResponse.java
  class TableResponse (line 8) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/permission/response/SqlOptionsResponse.java
  class SqlOptionsResponse (line 8) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/statistics/response/GeneralBizCountResponse.java
  class GeneralBizCountResponse (line 8) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/statistics/response/GeneralMonthTimelineResponse.java
  class GeneralMonthTimelineResponse (line 8) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/entity/RequestUserInfo.java
  class RequestUserInfo (line 8) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/LoginRequest.java
  class LoginRequest (line 8) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/RegisterRequest.java
  class RegisterRequest (line 8) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/SqlEditorShareRequest.java
  class SqlEditorShareRequest (line 11) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/UpdateUserInfoRequest.java
  class UpdateUserInfoRequest (line 8) | @Data

FILE: kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/utils/SqlExeRequest.java
  class SqlExeRequest (line 8) | @Data

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/config/ThreadPoolConfig.java
  class ThreadPoolConfig (line 11) | @Configuration
    method threadExecutor (line 22) | @Bean

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/constants/CookieConstants.java
  class CookieConstants (line 3) | public class CookieConstants {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/constants/ResponseConstants.java
  class ResponseConstants (line 3) | public class ResponseConstants {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/constants/UserInfoConstants.java
  class UserInfoConstants (line 3) | public class UserInfoConstants {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicDataExeUtils.java
  class DynamicDataExeUtils (line 10) | public class DynamicDataExeUtils {
    method queryForList (line 19) | private static SqlExeResult<List<Map<String, Object>>> queryForList(St...
    method update (line 61) | private static SqlExeResult<List<Map<String, Object>>> update(String d...
    method execute (line 91) | private static SqlExeResult execute(String datasource, String sql) {
    method exeSql (line 121) | public static List<SqlExeResult> exeSql(String sql, Integer datasource...

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicDataSourceContextHolder.java
  class DynamicDataSourceContextHolder (line 11) | public class DynamicDataSourceContextHolder {
    method setDataSource (line 23) | public static void setDataSource(String dataSourceName) {
    method getDataSource (line 31) | public static String getDataSource() {
    method clearDataSource (line 35) | public static void clearDataSource() {
    method putDataSource (line 40) | public static void putDataSource(String sourceName, DataSource dataSou...
    method getDataSource (line 44) | public static DataSource getDataSource(String sourceName) {
    method containsDataSource (line 48) | public static boolean containsDataSource(String dataSourceName) {
    method putJdbcTemplate (line 52) | public static void putJdbcTemplate(String dataSourceName, JdbcTemplate...
    method getJdbcTemplate (line 58) | public static JdbcTemplate getJdbcTemplate(String dataSourceName) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicDataSourceUtils.java
  class DynamicDataSourceUtils (line 11) | public class DynamicDataSourceUtils {
    method addDataSource (line 26) | public static synchronized String addDataSource(Integer datasource_id,...
    method getDataSourceName (line 46) | public static String getDataSourceName(Integer datasource_id, Integer ...
    method createDataSource (line 60) | private static DataSource createDataSource(String ip, int port, String...
    method getConnectionUrlWithDb (line 81) | private static String getConnectionUrlWithDb(String ip, Integer port, ...

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicSqlOptionTypeEntity.java
  class DynamicSqlOptionTypeEntity (line 11) | @Data

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicSqlOptionTypeWithDruidControl.java
  class DynamicSqlOptionTypeWithDruidControl (line 14) | public class DynamicSqlOptionTypeWithDruidControl {
    method dealSqlOptionType (line 22) | public static List<DynamicSqlOptionTypeEntity> dealSqlOptionType(Strin...

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicSqlSyntaxCheck.java
  class DynamicSqlSyntaxCheck (line 11) | public class DynamicSqlSyntaxCheck {
    method check (line 21) | public static void check(DynamicSqlOptionTypeEntity entity) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/MetaIndexEntity.java
  class MetaIndexEntity (line 8) | @Data

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/Result.java
  class Result (line 8) | @Data

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/SqlExeResult.java
  class SqlExeResult (line 11) | @Data

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableColumnAndIndexEntity.java
  class TableColumnAndIndexEntity (line 10) | @Data

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableFieldEntity.java
  class TableFieldEntity (line 8) | @Data

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableIndexEntity.java
  class TableIndexEntity (line 10) | @Data

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableInfoEntity.java
  class TableInfoEntity (line 8) | @Data

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/BusGroupStatusEnum.java
  type BusGroupStatusEnum (line 3) | public enum BusGroupStatusEnum {
    method getStatus (line 7) | public Integer getStatus() {
    method setStatus (line 11) | public void setStatus(Integer status) {
    method BusGroupStatusEnum (line 17) | BusGroupStatusEnum(Integer status) {
    method getByStatus (line 21) | public static BusGroupStatusEnum getByStatus(Integer status) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/DataSourceStatusEnum.java
  type DataSourceStatusEnum (line 3) | public enum DataSourceStatusEnum {
    method getStatus (line 7) | public Integer getStatus() {
    method setStatus (line 11) | public void setStatus(Integer status) {
    method DataSourceStatusEnum (line 17) | DataSourceStatusEnum(Integer status) {
    method getByStatus (line 21) | public static DataSourceStatusEnum getByStatus(Integer status) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/DatasourceSearchTypeEnum.java
  type DatasourceSearchTypeEnum (line 3) | public enum DatasourceSearchTypeEnum {
    method getType (line 7) | public Integer getType() {
    method getName (line 11) | public String getName() {
    method DatasourceSearchTypeEnum (line 20) | DatasourceSearchTypeEnum(Integer type, String name) {
    method getByType (line 25) | public static DatasourceSearchTypeEnum getByType(Integer type) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/DatasourceTypeEnum.java
  type DatasourceTypeEnum (line 3) | public enum DatasourceTypeEnum {
    method getType (line 7) | public Integer getType() {
    method getName (line 11) | public String getName() {
    method getDriver (line 15) | public String getDriver() {
    method DatasourceTypeEnum (line 26) | DatasourceTypeEnum(Integer type, String name, String driver) {
    method getByType (line 32) | public static DatasourceTypeEnum getByType(Integer type) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/GroupSearchTypeEnum.java
  type GroupSearchTypeEnum (line 3) | public enum GroupSearchTypeEnum {
    method getType (line 7) | public Integer getType() {
    method getName (line 11) | public String getName() {
    method GroupSearchTypeEnum (line 20) | GroupSearchTypeEnum(Integer type, String name) {
    method getByType (line 25) | public static GroupSearchTypeEnum getByType(Integer type) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlEditorActiveStatusEnum.java
  type SqlEditorActiveStatusEnum (line 3) | public enum SqlEditorActiveStatusEnum {
    method getStatus (line 7) | public Integer getStatus() {
    method setStatus (line 11) | public void setStatus(Integer status) {
    method SqlEditorActiveStatusEnum (line 17) | SqlEditorActiveStatusEnum(Integer status) {
    method getByStatus (line 21) | public static SqlEditorActiveStatusEnum getByStatus(Integer status) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlEditorOpenStatusEnum.java
  type SqlEditorOpenStatusEnum (line 3) | public enum SqlEditorOpenStatusEnum {
    method getStatus (line 7) | public Integer getStatus() {
    method setStatus (line 11) | public void setStatus(Integer status) {
    method SqlEditorOpenStatusEnum (line 17) | SqlEditorOpenStatusEnum(Integer status) {
    method getByStatus (line 21) | public static SqlEditorOpenStatusEnum getByStatus(Integer status) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlEditorStatusEnum.java
  type SqlEditorStatusEnum (line 3) | public enum SqlEditorStatusEnum {
    method getStatus (line 7) | public Integer getStatus() {
    method setStatus (line 11) | public void setStatus(Integer status) {
    method SqlEditorStatusEnum (line 17) | SqlEditorStatusEnum(Integer status) {
    method getByStatus (line 21) | public static SqlEditorStatusEnum getByStatus(Integer status) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeRecordStatusEnum.java
  type SqlExeRecordStatusEnum (line 3) | public enum SqlExeRecordStatusEnum {
    method getStatus (line 7) | public Integer getStatus() {
    method setStatus (line 11) | public void setStatus(Integer status) {
    method SqlExeRecordStatusEnum (line 17) | SqlExeRecordStatusEnum(Integer status) {
    method getByStatus (line 21) | public static SqlExeRecordStatusEnum getByStatus(Integer status) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeResultCountTypeForStatisticsEnum.java
  type SqlExeResultCountTypeForStatisticsEnum (line 3) | public enum SqlExeResultCountTypeForStatisticsEnum {
    method getType (line 7) | public Integer getType() {
    method setType (line 11) | public void setType(Integer type) {
    method SqlExeResultCountTypeForStatisticsEnum (line 17) | SqlExeResultCountTypeForStatisticsEnum(Integer type) {
    method getByType (line 21) | public static SqlExeResultCountTypeForStatisticsEnum getByType(Integer...

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeResultSearchByEnum.java
  type SqlExeResultSearchByEnum (line 3) | public enum SqlExeResultSearchByEnum {
    method getType (line 7) | public Integer getType() {
    method getName (line 11) | public String getName() {
    method SqlExeResultSearchByEnum (line 20) | SqlExeResultSearchByEnum(Integer type, String name) {
    method getByType (line 25) | public static SqlExeResultSearchByEnum getByType(Integer type) {
    method getByName (line 34) | public static SqlExeResultSearchByEnum getByName(String name) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeResultSearchTypeEnum.java
  type SqlExeResultSearchTypeEnum (line 3) | public enum SqlExeResultSearchTypeEnum {
    method getType (line 7) | public Integer getType() {
    method getName (line 11) | public String getName() {
    method SqlExeResultSearchTypeEnum (line 20) | SqlExeResultSearchTypeEnum(Integer type, String name) {
    method getByType (line 25) | public static SqlExeResultSearchTypeEnum getByType(Integer type) {
    method getByName (line 34) | public static SqlExeResultSearchTypeEnum getByName(String name) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeResultStatusEnum.java
  type SqlExeResultStatusEnum (line 3) | public enum SqlExeResultStatusEnum {
    method getStatus (line 7) | public Integer getStatus() {
    method setStatus (line 11) | public void setStatus(Integer status) {
    method SqlExeResultStatusEnum (line 17) | SqlExeResultStatusEnum(Integer status) {
    method getByStatus (line 21) | public static SqlExeResultStatusEnum getByStatus(Integer status) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlOptionTypeEnum.java
  type SqlOptionTypeEnum (line 3) | public enum SqlOptionTypeEnum {
    method getType (line 7) | public Integer getType() {
    method setType (line 11) | public void setType(Integer type) {
    method getCommand (line 16) | public String[] getCommand() {
    method setCommand (line 20) | public void setCommand(String[] command) {
    method getName (line 24) | public String getName() {
    method setName (line 28) | public void setName(String name) {
    method getDesc (line 32) | public String getDesc() {
    method setDesc (line 36) | public void setDesc(String desc) {
    method SqlOptionTypeEnum (line 48) | SqlOptionTypeEnum(Integer type, String name, String desc, String[] com...
    method getByType (line 55) | public static SqlOptionTypeEnum getByType(Integer type) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlOptionTypeEnumForPermission.java
  type SqlOptionTypeEnumForPermission (line 3) | public enum SqlOptionTypeEnumForPermission {
    method getType (line 7) | public Integer getType() {
    method setType (line 11) | public void setType(Integer type) {
    method getCommand (line 16) | public String[] getCommand() {
    method setCommand (line 20) | public void setCommand(String[] command) {
    method getName (line 24) | public String getName() {
    method setName (line 28) | public void setName(String name) {
    method getDesc (line 32) | public String getDesc() {
    method setDesc (line 36) | public void setDesc(String desc) {
    method SqlOptionTypeEnumForPermission (line 48) | SqlOptionTypeEnumForPermission(Integer type, String name, String desc,...
    method getByType (line 55) | public static SqlOptionTypeEnumForPermission getByType(Integer type) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlQuerySwitchEnum.java
  type SqlQuerySwitchEnum (line 3) | public enum SqlQuerySwitchEnum {
    method getStatus (line 7) | public Integer getStatus() {
    method setStatus (line 11) | public void setStatus(Integer status) {
    method SqlQuerySwitchEnum (line 17) | SqlQuerySwitchEnum(Integer status) {
    method getByStatus (line 21) | public static SqlQuerySwitchEnum getByStatus(Integer status) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlSyntaxCheckResultEnum.java
  type SqlSyntaxCheckResultEnum (line 3) | public enum SqlSyntaxCheckResultEnum {
    method getType (line 7) | public Integer getType() {
    method setType (line 11) | public void setType(Integer type) {
    method getMessage (line 15) | public String getMessage() {
    method setMessage (line 19) | public void setMessage(String message) {
    method getStop (line 23) | public Boolean getStop() {
    method setStop (line 27) | public void setStop(Boolean stop) {
    method SqlSyntaxCheckResultEnum (line 35) | SqlSyntaxCheckResultEnum(Integer type, String message, Boolean stop) {
    method getByType (line 41) | public static SqlSyntaxCheckResultEnum getByType(Integer type) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlSyntaxErrorCountTypeForStatisticsEnum.java
  type SqlSyntaxErrorCountTypeForStatisticsEnum (line 3) | public enum SqlSyntaxErrorCountTypeForStatisticsEnum {
    method getType (line 7) | public Integer getType() {
    method setType (line 11) | public void setType(Integer type) {
    method SqlSyntaxErrorCountTypeForStatisticsEnum (line 17) | SqlSyntaxErrorCountTypeForStatisticsEnum(Integer type) {
    method getByType (line 21) | public static SqlSyntaxErrorCountTypeForStatisticsEnum getByType(Integ...

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/exception/UserNotExistException.java
  class UserNotExistException (line 3) | public class UserNotExistException extends RuntimeException {
    method UserNotExistException (line 4) | public UserNotExistException() {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/exception/UserStatusException.java
  class UserStatusException (line 3) | public class UserStatusException extends RuntimeException {
    method UserStatusException (line 4) | public UserStatusException(String message) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/mybatis/DataSourceConfig.java
  class DataSourceConfig (line 11) | @Configuration
    method dasDms (line 13) | @Primary

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/mybatis/MybatisConfigDms.java
  class MybatisConfigDms (line 15) | @Configuration
    method sqlSessionFactoryBeanDms (line 22) | @Bean
    method sqlSessionTemplateDms (line 30) | @Bean

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/utils/DbUtils.java
  class DbUtils (line 18) | @Slf4j
    method connectForMysql (line 79) | public static Result connectForMysql(String ip, Integer port, String u...
    method testConnect (line 94) | public static Result testConnect(String ip, Integer port, String usern...
    method connectForSqlServer (line 110) | public static Result connectForSqlServer(String ip, Integer port, Stri...
    method getMysqlConnectUrl (line 121) | public static String getMysqlConnectUrl(String ip, Integer port, Strin...
    method getMysqlConnectUrl (line 130) | public static String getMysqlConnectUrl(String ip, Integer port) {
    method getSqlServerConnectUrl (line 134) | public static String getSqlServerConnectUrl(String ip, Integer port, S...
    method getTableNames (line 144) | public static List<String> getTableNames(String ip, Integer port, Stri...
    method getTableInfo (line 172) | public static TableInfoEntity getTableInfo(Integer datasource_id, Stri...
    method getColumnNames (line 205) | public static List<TableFieldEntity> getColumnNames(Integer datasource...
    method getTableIndex (line 320) | public static List<TableIndexEntity> getTableIndex(Integer datasource_...
    method getDbNames (line 376) | public static List<String> getDbNames(String ip, Integer port, String ...
    method getConnection (line 413) | public static Result<Connection> getConnection(String ip, Integer port...
    method getConnection (line 447) | public static Result<Connection> getConnection(String ip, Integer port...
    method check_is_no_length (line 451) | private static boolean check_is_no_length(Integer type, String type_na...
    method deal_meta_index_to_table_index (line 473) | private static List<TableIndexEntity> deal_meta_index_to_table_index(L...

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/utils/HttpUtils.java
  class HttpUtils (line 29) | public class HttpUtils {
    method doPost (line 32) | public static String doPost(String url, Map<String, Object> paramsMap,...
    method doPost (line 66) | public static String doPost(String url, String jsonParams) {
    method doGet (line 98) | public static String doGet(String url, Map<String, Object> params, Map...
    method addHeaderToRequest (line 140) | private static void addHeaderToRequest(Map<String, String> headersMap,...

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/utils/PPAesUtils.java
  class PPAesUtils (line 12) | @Slf4j
    method encodeAES (line 27) | public static String encodeAES(String input) {
    method decodeAES (line 38) | public static String decodeAES(String input) {
    method doAES (line 50) | private static String doAES(String data, String key, int mode) {
    method parseByte2HexStr (line 100) | private static String parseByte2HexStr(byte buf[]) {
    method parseHexStr2Byte (line 118) | private static byte[] parseHexStr2Byte(String hexStr) {

FILE: kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/utils/PPStringUtils.java
  class PPStringUtils (line 17) | @Slf4j
    method getTableNames (line 21) | public static List<String> getTableNames(String sql) {

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfAdminConfigMapper.java
  type CfAdminConfigMapper (line 9) | public interface CfAdminConfigMapper {
    method deleteByPrimaryKey (line 10) | int deleteByPrimaryKey(Integer id);
    method deleteByAccount (line 12) | int deleteByAccount(String account);
    method insertSelective (line 14) | int insertSelective(CfAdminConfig record);
    method selectByPrimaryKey (line 16) | CfAdminConfig selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 18) | int updateByPrimaryKeySelective(CfAdminConfig record);
    method selectList (line 20) | List<CfAdminConfig> selectList(CfAdminConfig base);
    method searchList (line 22) | List<CfAdminConfig> searchList(AdminSearch search);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfBusGroupMapper.java
  type CfBusGroupMapper (line 8) | public interface CfBusGroupMapper {
    method deleteByPrimaryKey (line 9) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 11) | int insertSelective(CfBusGroup record);
    method selectByPrimaryKey (line 13) | CfBusGroup selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 15) | int updateByPrimaryKeySelective(CfBusGroup record);
    method selectList (line 17) | List<CfBusGroup> selectList(CfBusGroup base);
    method searchList (line 19) | List<CfBusGroup> searchList(BusGroupSearch search);
    method selectCount (line 21) | int selectCount(CfBusGroup base);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfBusGroupOwnersMapper.java
  type CfBusGroupOwnersMapper (line 7) | public interface CfBusGroupOwnersMapper {
    method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
    method deleteByBusGroupId (line 10) | int deleteByBusGroupId(Integer bus_group_id);
    method insertSelective (line 12) | int insertSelective(CfBusGroupOwners record);
    method selectByPrimaryKey (line 14) | CfBusGroupOwners selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 16) | int updateByPrimaryKeySelective(CfBusGroupOwners record);
    method selectList (line 18) | List<CfBusGroupOwners> selectList(CfBusGroupOwners base);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfBusGroupUsersMapper.java
  type CfBusGroupUsersMapper (line 10) | public interface CfBusGroupUsersMapper {
    method deleteByPrimaryKey (line 11) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 13) | int insertSelective(CfBusGroupUsers record);
    method selectByPrimaryKey (line 15) | CfBusGroupUsers selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 17) | int updateByPrimaryKeySelective(CfBusGroupUsers record);
    method selectList (line 19) | List<CfBusGroupUsers> selectList(CfBusGroupUsers base);
    method searchList (line 21) | List<CfBusGroupUsers> searchList(BusGroupUsersSearch search);
    method deleteByAccount (line 23) | Integer deleteByAccount(Map<String, Object> params);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfDatasourceMapper.java
  type CfDatasourceMapper (line 8) | public interface CfDatasourceMapper {
    method deleteByPrimaryKey (line 9) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 11) | int insertSelective(CfDatasource record);
    method selectByPrimaryKey (line 13) | CfDatasource selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 15) | int updateByPrimaryKeySelective(CfDatasource record);
    method searchList (line 17) | List<CfDatasource> searchList(DatasourceSearch search);
    method selectList (line 19) | List<CfDatasource> selectList(CfDatasource record);
    method selectCount (line 21) | int selectCount(CfDatasource record);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfDatasourceOwnersMapper.java
  type CfDatasourceOwnersMapper (line 7) | public interface CfDatasourceOwnersMapper {
    method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
    method deleteByDatasourceId (line 10) | int deleteByDatasourceId(Integer datasource_id);
    method insertSelective (line 12) | int insertSelective(CfDatasourceOwners record);
    method selectByPrimaryKey (line 14) | CfDatasourceOwners selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 16) | int updateByPrimaryKeySelective(CfDatasourceOwners record);
    method selectList (line 18) | List<CfDatasourceOwners> selectList(CfDatasourceOwners base);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfDatasourcePermissionMemberMapper.java
  type CfDatasourcePermissionMemberMapper (line 7) | public interface CfDatasourcePermissionMemberMapper {
    method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
    method deleteByKeySelective (line 10) | int deleteByKeySelective(CfDatasourcePermissionMember record);
    method insertSelective (line 12) | int insertSelective(CfDatasourcePermissionMember record);
    method selectByPrimaryKey (line 14) | CfDatasourcePermissionMember selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 16) | int updateByPrimaryKeySelective(CfDatasourcePermissionMember record);
    method selectList (line 18) | List<CfDatasourcePermissionMember> selectList(CfDatasourcePermissionMe...

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfDatasourcePermissionSqlOptionsMapper.java
  type CfDatasourcePermissionSqlOptionsMapper (line 7) | public interface CfDatasourcePermissionSqlOptionsMapper {
    method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
    method deleteByKeySelective (line 10) | int deleteByKeySelective(CfDatasourcePermissionSqlOptions record);
    method insertSelective (line 12) | int insertSelective(CfDatasourcePermissionSqlOptions record);
    method selectByPrimaryKey (line 14) | CfDatasourcePermissionSqlOptions selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 16) | int updateByPrimaryKeySelective(CfDatasourcePermissionSqlOptions record);
    method selectList (line 18) | List<CfDatasourcePermissionSqlOptions> selectList(CfDatasourcePermissi...

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/join/BusGroupJoinOwnerMapper.java
  type BusGroupJoinOwnerMapper (line 9) | public interface BusGroupJoinOwnerMapper {
    method searchList (line 11) | List<BusGroupJoinOwner> searchList(BusGroupJoinOwnerSearch search);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/join/DatasourceJoinGroupJoinOwnerMapper.java
  type DatasourceJoinGroupJoinOwnerMapper (line 9) | public interface DatasourceJoinGroupJoinOwnerMapper {
    method selectByPrimaryKey (line 11) | DatasourceJoinGroupJoinOwner selectByPrimaryKey(Integer id);
    method searchList (line 13) | List<DatasourceJoinGroupJoinOwner> searchList(DatasourceJoinGroupJoinO...

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/join/DatasourceJoinGroupMapper.java
  type DatasourceJoinGroupMapper (line 9) | public interface DatasourceJoinGroupMapper {
    method selectByPrimaryKey (line 11) | DatasourceJoinGroup selectByPrimaryKey(Integer id);
    method searchList (line 13) | List<DatasourceJoinGroup> searchList(DatasourceJoinGroupSearch search);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/join/SqlEditorTabJoinDatasourceMapper.java
  type SqlEditorTabJoinDatasourceMapper (line 9) | public interface SqlEditorTabJoinDatasourceMapper {
    method searchList (line 11) | List<SqlEditorTabJoinDatasource> searchList(SqlEditorTabJoinDatasource...

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/result/RsSqlExeRecordMapper.java
  type RsSqlExeRecordMapper (line 5) | public interface RsSqlExeRecordMapper {
    method deleteByPrimaryKey (line 6) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 8) | int insertSelective(RsSqlExeRecord record);
    method selectByPrimaryKey (line 10) | RsSqlExeRecord selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 12) | int updateByPrimaryKeySelective(RsSqlExeRecord record);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/result/RsSqlExeResultMapper.java
  type RsSqlExeResultMapper (line 9) | public interface RsSqlExeResultMapper {
    method deleteByPrimaryKey (line 10) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 12) | int insertSelective(RsSqlExeResult record);
    method selectByPrimaryKey (line 14) | RsSqlExeResult selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 16) | int updateByPrimaryKeySelective(RsSqlExeResult record);
    method selectList (line 19) | List<RsSqlExeResult> selectList(RsSqlExeResult base);
    method searchCountForStatistics (line 22) | int searchCountForStatistics(SqlExeResultForStatisticsSearch base);
    method searchList (line 25) | List<RsSqlExeResult> searchList(SqlExeResultSearch search);
    method searchCount (line 27) | Integer searchCount(SqlExeResultSearch search);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlExeBizTotalMapper.java
  type StSqlExeBizTotalMapper (line 5) | public interface StSqlExeBizTotalMapper {
    method deleteByPrimaryKey (line 6) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 8) | int insertSelective(StSqlExeBizTotal record);
    method selectByPrimaryKey (line 10) | StSqlExeBizTotal selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 12) | int updateByPrimaryKeySelective(StSqlExeBizTotal record);
    method updateAddStatisticsCount (line 14) | int updateAddStatisticsCount(StSqlExeBizTotal record);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlExeResultCountDayMapper.java
  type StSqlExeResultCountDayMapper (line 8) | public interface StSqlExeResultCountDayMapper {
    method deleteByPrimaryKey (line 9) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 11) | int insertSelective(StSqlExeResultCountDay record);
    method selectByPrimaryKey (line 13) | StSqlExeResultCountDay selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 15) | int updateByPrimaryKeySelective(StSqlExeResultCountDay record);
    method searchList (line 17) | List<StSqlExeResultCountDay> searchList(StSqlExeResultCountDaySearch s...

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlExeResultCountTimelineMapper.java
  type StSqlExeResultCountTimelineMapper (line 6) | public interface StSqlExeResultCountTimelineMapper {
    method deleteByPrimaryKey (line 7) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 9) | int insertSelective(StSqlExeResultCountTimeline record);
    method selectByPrimaryKey (line 11) | StSqlExeResultCountTimeline selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 13) | Integer updateByPrimaryKeySelective(StSqlExeResultCountTimeline record);
    method searchCountForStatistics (line 15) | Integer searchCountForStatistics(StSqlExeResultCountTimelineSearch base);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlSyntaxErrorCountDayMapper.java
  type StSqlSyntaxErrorCountDayMapper (line 8) | public interface StSqlSyntaxErrorCountDayMapper {
    method deleteByPrimaryKey (line 9) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 11) | int insertSelective(StSqlSyntaxErrorCountDay record);
    method selectByPrimaryKey (line 13) | StSqlSyntaxErrorCountDay selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 15) | int updateByPrimaryKeySelective(StSqlSyntaxErrorCountDay record);
    method searchList (line 17) | List<StSqlSyntaxErrorCountDay> searchList(StSqlSyntaxErrorCountDaySear...

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlSyntaxErrorCountTimelineMapper.java
  type StSqlSyntaxErrorCountTimelineMapper (line 6) | public interface StSqlSyntaxErrorCountTimelineMapper {
    method deleteByPrimaryKey (line 7) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 9) | int insertSelective(StSqlSyntaxErrorCountTimeline record);
    method selectByPrimaryKey (line 11) | StSqlSyntaxErrorCountTimeline selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 13) | int updateByPrimaryKeySelective(StSqlSyntaxErrorCountTimeline record);
    method searchCountForStatistics (line 15) | Integer searchCountForStatistics(StSqlSyntaxErrorCountTimelineSearch b...

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsActiveSqlEditorTabMapper.java
  type UsActiveSqlEditorTabMapper (line 7) | public interface UsActiveSqlEditorTabMapper {
    method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 10) | int insertSelective(UsActiveSqlEditorTab record);
    method selectByPrimaryKey (line 12) | UsActiveSqlEditorTab selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 14) | int updateByPrimaryKeySelective(UsActiveSqlEditorTab record);
    method selectList (line 16) | List<UsActiveSqlEditorTab> selectList(UsActiveSqlEditorTab base);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsFavoriteDatasourceMapper.java
  type UsFavoriteDatasourceMapper (line 7) | public interface UsFavoriteDatasourceMapper {
    method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 10) | int insertSelective(UsFavoriteDatasource record);
    method selectByPrimaryKey (line 12) | UsFavoriteDatasource selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 14) | int updateByPrimaryKeySelective(UsFavoriteDatasource record);
    method selectList (line 16) | List<UsFavoriteDatasource> selectList(UsFavoriteDatasource record);
    method deleteByPrimaryKeySelective (line 18) | int deleteByPrimaryKeySelective(UsFavoriteDatasource record);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsFavoriteDbMapper.java
  type UsFavoriteDbMapper (line 7) | public interface UsFavoriteDbMapper {
    method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 10) | int insertSelective(UsFavoriteDb record);
    method selectByPrimaryKey (line 12) | UsFavoriteDb selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 14) | int updateByPrimaryKeySelective(UsFavoriteDb record);
    method selectList (line 16) | List<UsFavoriteDb> selectList(UsFavoriteDb record);
    method deleteByPrimaryKeySelective (line 18) | int deleteByPrimaryKeySelective(UsFavoriteDb record);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsFavoriteGroupMapper.java
  type UsFavoriteGroupMapper (line 7) | public interface UsFavoriteGroupMapper {
    method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 10) | int insertSelective(UsFavoriteGroup record);
    method selectByPrimaryKey (line 12) | UsFavoriteGroup selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 14) | int updateByPrimaryKeySelective(UsFavoriteGroup record);
    method updateByPrimaryKey (line 16) | int updateByPrimaryKey(UsFavoriteGroup record);
    method selectList (line 18) | List<UsFavoriteGroup> selectList(UsFavoriteGroup record);
    method deleteByPrimaryKeySelective (line 20) | int deleteByPrimaryKeySelective(UsFavoriteGroup record);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsFavoriteTableMapper.java
  type UsFavoriteTableMapper (line 7) | public interface UsFavoriteTableMapper {
    method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 10) | int insertSelective(UsFavoriteTable record);
    method selectByPrimaryKey (line 12) | UsFavoriteTable selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 14) | int updateByPrimaryKeySelective(UsFavoriteTable record);
    method selectList (line 17) | List<UsFavoriteTable> selectList(UsFavoriteTable record);
    method deleteByPrimaryKeySelective (line 19) | int deleteByPrimaryKeySelective(UsFavoriteTable record);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsSqlEditorTabMapper.java
  type UsSqlEditorTabMapper (line 8) | public interface UsSqlEditorTabMapper {
    method deleteByPrimaryKey (line 9) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 11) | int insertSelective(UsSqlEditorTab record);
    method selectByPrimaryKey (line 13) | UsSqlEditorTab selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 15) | int updateByPrimaryKeySelective(UsSqlEditorTab record);
    method searchList (line 17) | List<UsSqlEditorTab> searchList(SqlEditorTabSearch search);

FILE: kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UserInfoMapper.java
  type UserInfoMapper (line 8) | public interface UserInfoMapper {
    method deleteByPrimaryKey (line 9) | int deleteByPrimaryKey(Integer id);
    method insertSelective (line 11) | int insertSelective(UserInfo record);
    method selectByPrimaryKey (line 13) | UserInfo selectByPrimaryKey(Integer id);
    method updateByPrimaryKeySelective (line 15) | int updateByPrimaryKeySelective(UserInfo record);
    method selectByLoginName (line 17) | UserInfo selectByLoginName(String loginName);
    method searchList (line 19) | List<UserInfo> searchList(BaseSearch search);

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfAdminConfig.java
  class CfAdminConfig (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfBusGroup.java
  class CfBusGroup (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfBusGroupOwners.java
  class CfBusGroupOwners (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfBusGroupUsers.java
  class CfBusGroupUsers (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfDatasource.java
  class CfDatasource (line 9) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfDatasourceOwners.java
  class CfDatasourceOwners (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfDatasourcePermissionMember.java
  class CfDatasourcePermissionMember (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfDatasourcePermissionSqlOptions.java
  class CfDatasourcePermissionSqlOptions (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/search/AdminSearch.java
  class AdminSearch (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/search/BusGroupSearch.java
  class BusGroupSearch (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/search/BusGroupUsersSearch.java
  class BusGroupUsersSearch (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/search/DatasourceSearch.java
  class DatasourceSearch (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/entity/BusGroupJoinOwner.java
  class BusGroupJoinOwner (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/entity/DatasourceJoinGroup.java
  class DatasourceJoinGroup (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/entity/DatasourceJoinGroupJoinOwner.java
  class DatasourceJoinGroupJoinOwner (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/entity/DdlOptionJoinTask.java
  class DdlOptionJoinTask (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/entity/SqlEditorTabJoinDatasource.java
  class SqlEditorTabJoinDatasource (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/search/BusGroupJoinOwnerSearch.java
  class BusGroupJoinOwnerSearch (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/search/DatasourceJoinGroupJoinOwnerSearch.java
  class DatasourceJoinGroupJoinOwnerSearch (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/search/DatasourceJoinGroupSearch.java
  class DatasourceJoinGroupSearch (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/search/DdlOptionsJoinTaskSearch.java
  class DdlOptionsJoinTaskSearch (line 8) | @Data
    method getStartNum (line 27) | public Integer getStartNum() {

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/search/SqlEditorTabJoinDatasourceSearch.java
  class SqlEditorTabJoinDatasourceSearch (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/result/entity/RsSqlExeRecord.java
  class RsSqlExeRecord (line 9) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/result/entity/RsSqlExeResult.java
  class RsSqlExeResult (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/result/search/SqlExeResultForStatisticsSearch.java
  class SqlExeResultForStatisticsSearch (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/result/search/SqlExeResultSearch.java
  class SqlExeResultSearch (line 8) | @Data
    method getStartNum (line 27) | public Integer getStartNum() {

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/entity/StSqlExeBizTotal.java
  class StSqlExeBizTotal (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/entity/StSqlExeResultCountDay.java
  class StSqlExeResultCountDay (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/entity/StSqlExeResultCountTimeline.java
  class StSqlExeResultCountTimeline (line 9) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/entity/StSqlSyntaxErrorCountDay.java
  class StSqlSyntaxErrorCountDay (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/entity/StSqlSyntaxErrorCountTimeline.java
  class StSqlSyntaxErrorCountTimeline (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/search/StSqlExeResultCountDaySearch.java
  class StSqlExeResultCountDaySearch (line 8) | @Data
    method getStartNum (line 21) | public Integer getStartNum() {

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/search/StSqlExeResultCountTimelineSearch.java
  class StSqlExeResultCountTimelineSearch (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/search/StSqlSyntaxErrorCountDaySearch.java
  class StSqlSyntaxErrorCountDaySearch (line 10) | @Data
    method getStartNum (line 23) | public Integer getStartNum() {

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/search/StSqlSyntaxErrorCountTimelineSearch.java
  class StSqlSyntaxErrorCountTimelineSearch (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UsActiveSqlEditorTab.java
  class UsActiveSqlEditorTab (line 9) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UsFavoriteDatasource.java
  class UsFavoriteDatasource (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UsFavoriteDb.java
  class UsFavoriteDb (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UsFavoriteGroup.java
  class UsFavoriteGroup (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UsFavoriteTable.java
  class UsFavoriteTable (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UsSqlEditorTab.java
  class UsSqlEditorTab (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UserInfo.java
  class UserInfo (line 10) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UserInfoDTO.java
  class UserInfoDTO (line 8) | @Data

FILE: kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/search/SqlEditorTabSearch.java
  class SqlEditorTabSearch (line 8) | @Data

FILE: kb-dms-backend/server/.mvn/wrapper/MavenWrapperDownloader.java
  class MavenWrapperDownloader (line 29) | public class MavenWrapperDownloader {
    method main (line 55) | public static void main(String args[]) {
    method downloadFileFromURL (line 104) | private static void downloadFileFromURL(String urlString, File destina...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/SeverApplication.java
  class SeverApplication (line 10) | @SpringBootApplication
    method main (line 17) | public static void main(String[] args) {

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/config/ShiroConfig.java
  class ShiroConfig (line 26) | @Configuration
    method shiroFilter (line 30) | @Bean(name = "shiroFilter")
    method lifecycleBeanPostProcessor (line 59) | @Bean(name = "lifecycleBeanPostProcessor")
    method realm (line 65) | @Bean
    method defaultWebSecurityManager (line 75) | @Bean(name = "securityManager")
    method sessionManager (line 87) | @Bean
    method defaultAdvisorAutoProxyCreator (line 95) | @Bean
    method authorizationAttributeSourceAdvisor (line 108) | @Bean
    method handlerExceptionResolver (line 120) | @Bean(name = "exceptionHandler")
    method delegatingFilterProxy (line 125) | @Bean
    method credentialsMatcher (line 136) | @Bean(name = "credentialsMatcher")

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/common/BaseController.java
  class BaseController (line 11) | @RestController
    method getUserInfoDTO (line 16) | protected UserInfoDTO getUserInfoDTO() {

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/config/AdminController.java
  class AdminController (line 17) | @RestController
    method ajax_admin_search (line 24) | @RequestMapping(value = "/admin/_search", produces = MediaType.APPLICA...
    method ajax_add_admin (line 43) | @RequestMapping(value = "/admin", produces = MediaType.APPLICATION_JSO...
    method ajax_delete_admin (line 76) | @RequestMapping(value = "/admin/_delete", produces = MediaType.APPLICA...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/config/BusGroupController.java
  class BusGroupController (line 26) | @RestController
    method search_list (line 36) | @RequestMapping(value = "/bus/group/_search", produces = MediaType.APP...
    method detail (line 74) | @RequestMapping(value = "/bus/group/{id}", produces = MediaType.APPLIC...
    method trouble_create (line 91) | @RequestMapping(value = "/bus/group", produces = MediaType.APPLICATION...
    method trouble_update (line 123) | @RequestMapping(value = "/bus/group/{id}", produces = MediaType.APPLIC...
    method get_user_group (line 149) | @RequestMapping(value = "/bus/group/user/_group", produces = MediaType...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/config/BusGroupOwnersController.java
  class BusGroupOwnersController (line 16) | @RestController
    method ajax_link_owners_search (line 22) | @RequestMapping(value = "/bus/group/{id}/owners", produces = MediaType...
    method ajax_update_link_owners (line 41) | @RequestMapping(value = "/bus/group/{id}/owners", produces = MediaType...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/config/BusGroupUsersController.java
  class BusGroupUsersController (line 19) | @RestController
    method search_list (line 25) | @RequestMapping(value = "/bus/group/users/_search", produces = MediaTy...
    method ajax_add_group_user (line 44) | @RequestMapping(value = "/bus/group/users", produces = MediaType.APPLI...
    method ajax_delete_group_user (line 80) | @RequestMapping(value = "/bus/group/users/_delete", produces = MediaTy...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/config/DatasourceController.java
  class DatasourceController (line 47) | @RestController
    method ajax_datasource_search (line 71) | @RequestMapping(value = "/datasource/_search", produces = MediaType.AP...
    method ajax_add_datasource (line 136) | @RequestMapping(value = "/datasource", produces = MediaType.APPLICATIO...
    method ajax_get_datasource (line 164) | @RequestMapping(value = "/datasource/{id}", produces = MediaType.APPLI...
    method ajax_update_datasource (line 183) | @RequestMapping(value = "/datasource/{id}", produces = MediaType.APPLI...
    method ajax_active_datasource (line 214) | @RequestMapping(value = "/datasource/{id}/_active", produces = MediaTy...
    method ajax_get_datasource_db (line 262) | @RequestMapping(value = "/datasource/{id}/_db", produces = MediaType.A...
    method ajax_get_datasource_db_table (line 304) | @RequestMapping(value = "/datasource/{id}/{db}/_table", produces = Med...
    method ajax_get_datasource_db_table_filed (line 347) | @RequestMapping(value = "/datasource/{id}/{db}/{table}/_field", produc...
    method ajax_get_datasource_db_table_info (line 369) | @RequestMapping(value = "/datasource/{id}/{db}/{table}/_info", produce...
    method datasource_favorite_deal (line 401) | private List<DatasourceForSearchResponse> datasource_favorite_deal(Lis...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/config/DatasourceOwnersController.java
  class DatasourceOwnersController (line 16) | @RestController
    method ajax_datasource_owners_search (line 22) | @RequestMapping(value = "/datasource/{id}/owners", produces = MediaTyp...
    method ajax_update_datasource_owners (line 41) | @RequestMapping(value = "/datasource/{id}/owners", produces = MediaTyp...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/config/DatasourcePermissionMemberController.java
  class DatasourcePermissionMemberController (line 22) | @RestController
    method ajax_get_datasource_permission_member (line 31) | @RequestMapping(value = "/datasource/{id}/permission/member", produces...
    method ajax_add_datasource_permission_member (line 71) | @RequestMapping(value = "/datasource/{id}/permission/member", produces...
    method ajax_delete_datasource_permission_member (line 106) | @RequestMapping(value = "/datasource/{id}/permission/member", produces...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/config/DatasourcePermissionSqlOptionsController.java
  class DatasourcePermissionSqlOptionsController (line 16) | @RestController
    method ajax_add_datasource_permission_sql_options (line 24) | @RequestMapping(value = "/datasource/{id}/permission/sql/options", pro...
    method ajax_delete_datasource_permission_sql_options (line 55) | @RequestMapping(value = "/datasource/{id}/permission/sql/options", pro...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/permission/PermissionController.java
  class PermissionController (line 24) | @RestController
    method ajax_get_sql_options (line 42) | @RequestMapping(value = "/permission/sql/options", method = RequestMet...
    method ajax_get_datasource_update_permission (line 57) | @RequestMapping(value = "/permission/datasource/{id}/_update", method ...
    method ajax_get_datasource_permission_sql_options (line 89) | @RequestMapping(value = "/permission/datasource/{id}/sql/_options", me...
    method ajax_get_group_update_permission (line 126) | @RequestMapping(value = "/permission/group/{id}/_update", method = Req...
    method is_admin (line 162) | private Boolean is_admin() {

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/result/SqlExeResultController.java
  class SqlExeResultController (line 22) | @RestController
    method ajax_get_sql_exe_record_result (line 31) | @RequestMapping(value = "/sql/exe/record/{id}/_result", produces = Med...
    method ajax_sql_exe_result_search (line 59) | @RequestMapping(value = "/sql/exe/result/_search", produces = MediaTyp...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/statistics/GeneralStatisticsController.java
  class GeneralStatisticsController (line 35) | @RestController
    method ajax_get_general_all_biz_total (line 63) | @RequestMapping(value = "/statistics/general/all/biz", method = Reques...
    method ajax_get_general_month_timeline (line 102) | @RequestMapping(value = "/statistics/general/month/timeline", method =...
    method dealResponseWithType (line 187) | private void dealResponseWithType(StSqlExeResultCountDay stSqlExeResul...
    method getTodayCount (line 204) | private GeneralMonthTimelineResponse getTodayCount() {

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/user/ActiveSqlEditorTabController.java
  class ActiveSqlEditorTabController (line 20) | @RestController
    method ajax_add_active_sql_editor_tab (line 27) | @RequestMapping(value = "/sql/editor/tab/{id}/_active", produces = Med...
    method ajax_search_active_sql_editor_tab (line 59) | @RequestMapping(value = "/active/sql/editor/tab/_search", produces = M...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/user/LoginController.java
  class LoginController (line 23) | @RestController
    method ajax_user_login (line 35) | @RequestMapping(value = "/user/login", method = RequestMethod.POST, pr...
    method logout (line 87) | @RequestMapping(value = "/user/logout", method = RequestMethod.GET)

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/user/RegisterController.java
  class RegisterController (line 20) | @RestController
    method ajax_register (line 26) | @RequestMapping(value = "/user/register", method = RequestMethod.POST,...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/user/SqlEditorTabController.java
  class SqlEditorTabController (line 26) | @RestController
    method ajax_add_sql_editor_tab (line 38) | @RequestMapping(value = "/sql/editor/tab", produces = MediaType.APPLIC...
    method ajax_update_sql_editor_tab (line 85) | @RequestMapping(value = "/sql/editor/tab/{id}", produces = MediaType.A...
    method ajax_delete_sql_editor_tab (line 112) | @RequestMapping(value = "/sql/editor/tab/{id}", produces = MediaType.A...
    method ajax_close_sql_editor_tab (line 129) | @RequestMapping(value = "/sql/editor/tab/{id}/_close", produces = Medi...
    method ajax_open_sql_editor_tab (line 149) | @RequestMapping(value = "/sql/editor/tab/{id}/_open", produces = Media...
    method ajax_search_sql_editor_tab (line 169) | @RequestMapping(value = "/sql/editor/tab/_search", produces = MediaTyp...
    method ajax_share_sql_editor_tab (line 199) | @RequestMapping(value = "/sql/editor/tab/{id}/_share", produces = Medi...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/user/UserFavoriteController.java
  class UserFavoriteController (line 27) | @RestController
    method ajax_add_group_favorite (line 40) | @RequestMapping(value = "group/{id}/_favorite", method = RequestMethod...
    method ajax_delete_group_favorite (line 67) | @RequestMapping(value = "group/{id}/_favorite", method = RequestMethod...
    method ajax_add_datasource_favorite (line 86) | @RequestMapping(value = "datasource/{id}/_favorite", method = RequestM...
    method ajax_delete_datasource_favorite (line 113) | @RequestMapping(value = "datasource/{id}/_favorite", method = RequestM...
    method ajax_add_db_favorite (line 131) | @RequestMapping(value = "datasource/{id}/{db}/_favorite", method = Req...
    method ajax_delete_db_favorite (line 160) | @RequestMapping(value = "datasource/{id}/{db}/_favorite", method = Req...
    method ajax_add_table_favorite (line 180) | @RequestMapping(value = "datasource/{id}/{db}/{table}/_favorite", meth...
    method ajax_delete_table_favorite (line 211) | @RequestMapping(value = "datasource/{id}/{db}/{table}/_favorite", meth...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/user/UserInfoController.java
  class UserInfoController (line 25) | @RestController
    method ajax_get_user_info (line 31) | @RequestMapping(value = "/user/info", method = RequestMethod.GET, prod...
    method ajax_update_user_info (line 53) | @RequestMapping(value = "/user/info", method = RequestMethod.PATCH, pr...
    method user_search (line 100) | @RequestMapping(value = "user/_search", method = RequestMethod.GET, pr...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/utils/SqlEditorUtilsController.java
  class SqlEditorUtilsController (line 26) | @RestController
    method ajax_get_table_create_sql (line 33) | @RequestMapping(value = "/sql/datasource/{id}/{db}/{table}/_create", p...
    method getTableCreateSql (line 50) | private String getTableCreateSql(Integer datasource_id, String ip, Int...
    method get_index_columns (line 117) | private String get_index_columns(List<String> columns) {

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/utils/SqlExeController.java
  class SqlExeController (line 36) | @RestController
    method ajax_datasource_db_async_sql_exe (line 50) | @RequestMapping(value = "/datasource/{id}/{db}/async/_exe", produces =...
    method ajax_datasource_db_sql_exe (line 88) | @RequestMapping(value = "/datasource/{id}/{db}/_exe", produces = Media...
    method ajax_datasource_drop_table (line 119) | @RequestMapping(value = "/datasource/{id}/{db}/{table}/_drop", produce...
    method ajax_datasource_truncate_table (line 155) | @RequestMapping(value = "/datasource/{id}/{db}/{table}/_truncate", pro...
    method ajax_get_datasource_table_content (line 188) | @RequestMapping(value = "/datasource/{id}/{db}/{table}/_content", prod...
    method get_datasource_table_content_sql (line 277) | private String get_datasource_table_content_sql(Integer datasource_typ...
    method getSqlExeResultList (line 307) | private List<RsSqlExeResult> getSqlExeResultList(Integer id, String db...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/filter/UrlFilter.java
  class UrlFilter (line 11) | @Order(0)
    method init (line 17) | @Override
    method doFilter (line 22) | @Override
    method destroy (line 34) | @Override

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/job/SqlExeResultCountForDayJob.java
  class SqlExeResultCountForDayJob (line 18) | @Component
    method exec (line 28) | @Async("threadExecutor")

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/job/SqlExeResultCountForTimelineJob.java
  class SqlExeResultCountForTimelineJob (line 21) | @Component
    method exec (line 35) | @Async("threadExecutor")

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/job/SqlExeSyntaxErrorCountForDayJob.java
  class SqlExeSyntaxErrorCountForDayJob (line 18) | @Component
    method exec (line 28) | @Async("threadExecutor")

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/job/SqlExeSyntaxErrorCountForTimelineJob.java
  class SqlExeSyntaxErrorCountForTimelineJob (line 21) | @Component
    method exec (line 35) | @Async("threadExecutor")

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/runner/DataSourceInitRunner.java
  class DataSourceInitRunner (line 8) | @Component
    method run (line 16) | @Override

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/service/ISqlExeService.java
  type ISqlExeService (line 5) | public interface ISqlExeService {
    method sqlExeAsync (line 6) | void sqlExeAsync(RsSqlExeRecord rsSqlExeRecord, String sql);
    method sqlExe (line 8) | void sqlExe(RsSqlExeRecord rsSqlExeRecord, String sql);

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/service/ISqlOptionsTypePermissionService.java
  type ISqlOptionsTypePermissionService (line 6) | public interface ISqlOptionsTypePermissionService {
    method check (line 7) | Result check(DynamicSqlOptionTypeEntity sqlOptionTypeEntity, String ac...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/service/IStSqlExeBizTotalService.java
  type IStSqlExeBizTotalService (line 5) | public interface IStSqlExeBizTotalService {
    method update (line 7) | void update(StSqlExeBizTotal bizTotal);

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/service/impl/SqlExeServiceImpl.java
  class SqlExeServiceImpl (line 36) | @Slf4j
    method sqlExeAsync (line 50) | @Override
    method sqlExe (line 57) | @Override
    method getGroupName (line 199) | private String getGroupName(Integer group_id) {

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/service/impl/SqlOptionsTypePermissionServiceImpl.java
  class SqlOptionsTypePermissionServiceImpl (line 25) | @Service
    method check (line 36) | @Override

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/service/impl/StSqlExeBizTotalServiceImpl.java
  class StSqlExeBizTotalServiceImpl (line 10) | @Service
    method update (line 17) | @Override

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/shiro/MyCredentialsMatcher.java
  class MyCredentialsMatcher (line 7) | public class MyCredentialsMatcher extends SimpleCredentialsMatcher {
    method doCredentialsMatch (line 8) | @Override

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/shiro/MyExceptionHandler.java
  class MyExceptionHandler (line 20) | public class MyExceptionHandler implements HandlerExceptionResolver {
    method resolveException (line 22) | public ModelAndView resolveException(HttpServletRequest httpServletReq...

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/shiro/MyShiroRealm.java
  class MyShiroRealm (line 26) | @Slf4j
    method doGetAuthenticationInfo (line 40) | @Override
    method doGetAuthorizationInfo (line 85) | @Override

FILE: kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/shiro/PaoSessionManager.java
  class PaoSessionManager (line 14) | @Component
    method getSessionId (line 19) | @Override
    method cookie_config (line 25) | private void cookie_config() {

FILE: kb-dms-backend/server/src/main/resources/db/2_tables.sql
  type `kb-dms` (line 1) | CREATE TABLE `kb-dms`.`user_info`(
  type `kb-dms` (line 12) | CREATE TABLE `kb-dms`.`us_sql_editor_tab`(
  type `kb-dms` (line 28) | CREATE TABLE `kb-dms`.`us_favorite_table`(
  type `kb-dms` (line 39) | CREATE TABLE `kb-dms`.`us_favorite_group`(
  type `kb-dms` (line 47) | CREATE TABLE `kb-dms`.`us_favorite_db`(
  type `kb-dms` (line 56) | CREATE TABLE `kb-dms`.`us_favorite_datasource`(
  type `kb-dms` (line 65) | CREATE TABLE `kb-dms`.`us_active_sql_editor_tab`(
  type `kb-dms` (line 74) | CREATE TABLE `kb-dms`.`st_sql_syntax_error_count_timeline`(
  type `kb-dms` (line 82) | CREATE TABLE `kb-dms`.`st_sql_syntax_error_count_day`(
  type `kb-dms` (line 90) | CREATE TABLE `kb-dms`.`st_sql_exe_result_count_timeline`(
  type `kb-dms` (line 98) | CREATE TABLE `kb-dms`.`st_sql_exe_result_count_day`(
  type `kb-dms` (line 106) | CREATE TABLE `kb-dms`.`st_sql_exe_biz_total`(
  type `kb-dms` (line 119) | CREATE TABLE `kb-dms`.`rs_sql_exe_result`(
  type `kb-dms` (line 142) | CREATE TABLE `kb-dms`.`rs_sql_exe_record`(
  type `kb-dms` (line 155) | CREATE TABLE `kb-dms`.`cf_datasource_permission_sql_options`(
  type `kb-dms` (line 163) | CREATE TABLE `kb-dms`.`cf_datasource_permission_member`(
  type `kb-dms` (line 171) | CREATE TABLE `kb-dms`.`cf_datasource_owners`(
  type `kb-dms` (line 179) | CREATE TABLE `kb-dms`.`cf_datasource`(
  type `kb-dms` (line 199) | CREATE TABLE `kb-dms`.`cf_bus_module`(
  type `kb-dms` (line 209) | CREATE TABLE `kb-dms`.`cf_bus_group_users`(
  type `kb-dms` (line 219) | CREATE TABLE `kb-dms`.`cf_bus_group_owners`(
  type `kb-dms` (line 227) | CREATE TABLE `kb-dms`.`cf_bus_group`(
  type `kb-dms` (line 238) | CREATE TABLE `kb-dms`.`cf_admin_config`(

FILE: kb-dms-backend/server/src/main/resources/static/static/js/0.adcbbedf1bc97e8c5a86.js
  function n (line 1) | function n(t,e=2,i="0"){let n=""+t;return n.length>=e?n:new Array(e-n.le...
  method install (line 1) | install({$q:t,Vue:e,lang:i}){this.__installed||(this.__installed=!0,this...
  method getLocale (line 1) | getLocale(){let t=navigator.language||navigator.languages[0]||navigator....
  function d (line 1) | function d(t,e=""){const i=t>0?"-":"+",o=Math.abs(t),r=o%60;return i+n(M...
  function f (line 1) | function f(t){const e=new Date(t.getFullYear(),t.getMonth(),t.getDate())...
  function p (line 1) | function p(t,e){const i=new Date(t);switch(e){case"year":i.setMonth(0);c...
  function g (line 1) | function g(t,e,i){return(t.getTime()-t.getTimezoneOffset()*u-(e.getTime(...
  function _ (line 1) | function _(t){return function(t,e,i="days"){let n=new Date(t),o=new Date...
  function m (line 1) | function m(t){if(t>=11&&t<=13)return`${t}th`;switch(t%10){case 1:return`...
  method Qo (line 1) | Qo(t){return m(this.Q(t))}
  method dd (line 1) | dd(t){return this.dddd(t).slice(0,2)}
  method h (line 1) | h(t){const e=t.getHours();return 0===e?12:e>12?e%12:e}
  method hh (line 1) | hh(t){return n(this.h(t))}
  method A (line 1) | A(t){return this.H(t)<12?"AM":"PM"}
  method a (line 1) | a(t){return this.H(t)<12?"am":"pm"}
  method aa (line 1) | aa(t){return this.H(t)<12?"a.m.":"p.m."}
  function v (line 1) | function v(t,e="YYYY-MM-DDTHH:mm:ss.SSSZ"){if(0!==t&&!t)return;let i=new...
  method get (line 1) | get(){let t;try{var e=Object.defineProperty({},"passive",{get(){t={passi...
  method set (line 1) | set(t){Object.defineProperty(this,"passive",{value:t})}
  function a (line 1) | function a(t,e,i){return[t,e].indexOf(i)>=0?"auto":t===e?"inclusive":"ex...
  function l (line 1) | function l(t,e,i,n,o){const{positions:s,anchorPos:l}=function(t,e){const...
  function c (line 1) | function c({el:t,animate:e,anchorEl:i,anchorOrigin:n,selfOrigin:o,maxHei...
  function u (line 1) | function u(t){let e=t.split(" ");return 2===e.length&&(["top","center","...
  function h (line 1) | function h(t){let e=t.split(" ");return{vertical:e[0],horizontal:e[1]}}

FILE: kb-dms-backend/server/src/main/resources/static/static/js/1.17872d9c9558aa7b47a8.js
  function n (line 1) | function n(){}
  function e (line 1) | function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}
  function w (line 1) | function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentine...
  function D (line 1) | function D(e){return(e=+e)!=e?e=0:0!==e&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)...
  function r (line 1) | function r(e){i&&i(e),n&&n(e),t.removeListener(document,"mousemove",i,!0...
  function u (line 1) | function u(e){if(0!==t.getButton(e)?c=0:e.detail>1?++c>4&&(c=1):c=1,r.is...
  function d (line 1) | function d(e){c=2,l&&clearTimeout(l),l=setTimeout(function(){l=null},i[c...
  function l (line 1) | function l(e,t,i){var l=a(t);if(!r.isMac&&s){if(t.getModifierState&&(t.g...
  function c (line 1) | function c(){s=Object.create(null)}
  function C (line 1) | function C(e){if(!g){if(g=!0,y)t=0,n=e?0:i.value.length-1;else var t=4,n...
  function A (line 1) | function A(){g||(i.value=u,r.isWebKit&&w.schedule())}
  function B (line 1) | function B(){clearTimeout(k),k=setTimeout(function(){m&&(i.style.cssText...
  function b (line 1) | function b(e){if(!f){if(f=!0,C)var t=0,n=e?0:i.value.length-1;else t=e?2...
  function w (line 1) | function w(){f||(i.value=h,r.isWebKit&&v.schedule())}
  function L (line 1) | function L(){clearTimeout(T),T=setTimeout(function(){p&&(i.style.cssText...
  function r (line 1) | function r(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler(...
  function s (line 1) | function s(e,t){if(e.start.row==e.end.row)var i=2*t.column-e.start.colum...
  function r (line 1) | function r(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}
  function a (line 1) | function a(e){o.call(this,e)}
  function h (line 1) | function h(){t&&(t=clearTimeout(t)),r&&(c.hide(),r=null,o._signal("hideG...
  function u (line 1) | function u(e){c.setPosition(e.x,e.y)}
  function c (line 1) | function c(e){var t=e.editor,i=n.createElement("img");i.src="data:image/...
  function h (line 1) | function h(e,t,i,n){return Math.sqrt(Math.pow(i-e,2)+Math.pow(n-t,2))}
  function o (line 1) | function o(e){"undefined"!=typeof console&&console.warn&&console.warn.ap...
  function a (line 1) | function a(e,t){var i=new Error(e);i.data=t,"object"==typeof console&&co...
  function c (line 1) | function c(r){if(a&&a.document){l.packaged=r||e.packaged||n.packaged||a....
  function R (line 1) | function R(e,t,i){if(!(r<e))if(1!=e||n!=h||o)for(var s,a,l,c,u=i.length,...
  function B (line 1) | function B(e,t,i,r){var l,c,h,T,D=t[r];switch(D){case u:case d:s=!1;case...
  function L (line 1) | function L(e){var t=e.charCodeAt(0),i=t>>8;return 0==i?t>191?u:T[t]:5==i...
  function w (line 1) | function w(e){for(var t=i;t<=n;t++)e(r.getLine(t),t)}
  function e (line 1) | function e(e,t,i){var n=i?e.column<=t.column:e.column<t.column;return e....
  function r (line 1) | function r(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.fol...
  function o (line 1) | function o(e,t){e.row-=t.row,0==e.row&&(e.column-=t.column)}
  function a (line 1) | function a(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row}
  function n (line 1) | function n(e){return t?"insert"!==e.action:"insert"===e.action}
  function u (line 1) | function u(e){return!(e<4352)&&(e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4...
  function g (line 1) | function g(e){var t=n.slice(h,e),r=t.length;t.join("").replace(/12/g,fun...
  function i (line 1) | function i(e){return/\w/.test(e)||t.regExp?"\\b":""}
  function o (line 1) | function o(e,t){this.platform=t||(r.isMac?"mac":"win"),this.commands={},...
  function a (line 1) | function a(e,t){o.call(this,e,t),this.$singleCommand=!1}
  function e (line 1) | function e(e){return"object"==typeof e&&e.bindKey&&e.bindKey.position||(...
  function o (line 1) | function o(e,t){return{win:e,mac:t}}
  function e (line 1) | function e(e){return{action:e.action,start:e.start,end:e.end,lines:1==e....
  function t (line 1) | function t(e){return{action:e.action,start:e.start,end:e.end,lines:e.lin...
  function i (line 1) | function i(e,t){for(var i=new Array(e.length),n=0;n<e.length;n++){for(va...
  function o (line 1) | function o(n){if(i.$themeId!=e)return t&&t();if(!n||!n.cssClass)throw ne...
  function a (line 1) | function a(e,t){var i=function(e,t){var i=t.src;r.qualifyURL(e);try{retu...
  function s (line 1) | function s(e,t){return e.row==t.row&&e.column==t.column}
  function f (line 1) | function f(e){e.$multiselectOnSessionChange||(e.$onAddRange=e.$onAddRang...
  function a (line 1) | function a(e){return l.stringRepeat(" ",e)}
  function c (line 1) | function c(e){return e[2]?a(i)+e[2]+a(n-e[2].length+r)+e[4].replace(/^([...
  function r (line 1) | function r(e){this.session=e,this.session.widgetManager=this,this.sessio...
  function o (line 1) | function o(e){return e&&e.__esModule?e:{default:e}}
  function c (line 1) | function c(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. L...
  function h (line 1) | function h(e,t,i){for(var r,s,o=[],a=t;a<i;a+=3)r=(e[a]<<16&16711680)+(e...
  function o (line 8) | function o(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}
  function a (line 8) | function a(e,t){if(o()<t)throw new RangeError("Invalid typed array lengt...
  function l (line 8) | function l(e,t,i){if(!(l.TYPED_ARRAY_SUPPORT||this instanceof l))return ...
  function c (line 8) | function c(e,t,i,n){if("number"==typeof t)throw new TypeError('"value" a...
  function h (line 8) | function h(e){if("number"!=typeof e)throw new TypeError('"size" argument...
  function u (line 8) | function u(e,t){if(h(t),e=a(e,t<0?0:0|f(t)),!l.TYPED_ARRAY_SUPPORT)for(v...
  function d (line 8) | function d(e,t){var i=t.length<0?0:0|f(t.length);e=a(e,i);for(var n=0;n<...
  function f (line 8) | function f(e){if(e>=o())throw new RangeError("Attempt to allocate Buffer...
  function p (line 8) | function p(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ...
  function g (line 8) | function g(e,t,i){var n=e[t];e[t]=e[i],e[i]=n}
  function m (line 8) | function m(e,t,i,n,r){if(0===e.length)return-1;if("string"==typeof i?(n=...
  function _ (line 8) | function _(e,t,i,n,r){var s,o=1,a=e.length,l=t.length;if(void 0!==n&&("u...
  function v (line 8) | function v(e,t,i,n){i=Number(i)||0;var r=e.length-i;n?(n=Number(n))>r&&(...
  function b (line 8) | function b(e,t,i,n){return W(H(t,e.length-i),e,i,n)}
  function w (line 8) | function w(e,t,i,n){return W(function(e){for(var t=[],i=0;i<e.length;++i...
  function C (line 8) | function C(e,t,i,n){return w(e,t,i,n)}
  function A (line 8) | function A(e,t,i,n){return W(q(t),e,i,n)}
  function y (line 8) | function y(e,t,i,n){return W(function(e,t){for(var i,n,r,s=[],o=0;o<e.le...
  function E (line 8) | function E(e,t,i){return 0===t&&i===e.length?n.fromByteArray(e):n.fromBy...
  function x (line 8) | function x(e,t,i){i=Math.min(e.length,i);for(var n=[],r=t;r<i;){var s,o,...
  function S (line 8) | function S(e,t,i){var n="";i=Math.min(e.length,i);for(var r=t;r<i;++r)n+...
  function $ (line 8) | function $(e,t,i){var n="";i=Math.min(e.length,i);for(var r=t;r<i;++r)n+...
  function k (line 8) | function k(e,t,i){var n=e.length;(!t||t<0)&&(t=0),(!i||i<0||i>n)&&(i=n);...
  function T (line 8) | function T(e,t,i){for(var n=e.slice(t,i),r="",s=0;s<n.length;s+=2)r+=Str...
  function D (line 8) | function D(e,t,i){if(e%1!=0||e<0)throw new RangeError("offset is not uin...
  function R (line 8) | function R(e,t,i,n,r,s){if(!l.isBuffer(e))throw new TypeError('"buffer" ...
  function B (line 8) | function B(e,t,i,n){t<0&&(t=65535+t+1);for(var r=0,s=Math.min(e.length-i...
  function L (line 8) | function L(e,t,i,n){t<0&&(t=4294967295+t+1);for(var r=0,s=Math.min(e.len...
  function M (line 8) | function M(e,t,i,n,r,s){if(i+n>e.length)throw new RangeError("Index out ...
  function O (line 8) | function O(e,t,i,n,s){return s||M(e,0,i,4),r.write(e,t,i,n,23,4),i+4}
  function I (line 8) | function I(e,t,i,n,s){return s||M(e,0,i,8),r.write(e,t,i,n,52,8),i+8}
  function P (line 8) | function P(e){return e<16?"0"+e.toString(16):e.toString(16)}
  function H (line 8) | function H(e,t){var i;t=t||1/0;for(var n=e.length,r=null,s=[],o=0;o<n;++...
  function q (line 8) | function q(e){return n.toByteArray(function(e){if((e=function(e){return ...
  function W (line 8) | function W(e,t,i,n){for(var r=0;r<n&&!(r+i>=t.length||r>=e.length);++r)t...
  function t (line 8) | function t(e,t){return null!=t&&e instanceof t}
  function o (line 8) | function o(a,c,h,u,d){"object"===(void 0===c?"undefined":i(c))&&(h=c.dep...
  function a (line 8) | function a(e){return Object.prototype.toString.call(e)}
  function l (line 8) | function l(e){var t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),...
  function e (line 8) | function e(e,t,i){return e=e.substr(1),/^\d+$/.test(e)&&!i.inFormatStrin...
  function t (line 8) | function t(e){return"(?:[^\\\\"+e+"]|\\\\.)"}
  function o (line 8) | function o(t){var i=e.indexOf(t,n+1);-1!=i&&(n=i)}
  function c (line 8) | function c(e){for(var t=[],i=0;i<e.length;i++){var n=e[i];if("object"==t...
  function o (line 8) | function o(e){return e&&!/^\^?\(.*\)\$?$|^\\b$/.test(e)&&(e="(?:"+e+")")...
  function a (line 8) | function a(e,t,i){return e=o(e),t=o(t),i?(e=t+e)&&"$"!=e[e.length-1]&&(e...
  function l (line 8) | function l(e){e.scope||(e.scope=t||"_"),t=e.scope,i[t]||(i[t]=[],n[t]={}...
  function r (line 8) | function r(e){var r=n[e.scope||t];if(r&&r[e.name]){delete r[e.name];var ...
  function c (line 8) | function c(){}
  function c (line 8) | function c(e){return e&&e.__esModule?e:{default:e}}
  method isComplexTitle (line 8) | isComplexTitle(){return Array.isArray(this.internalTitleRows)&&this.inte...
  method getTableHeight (line 8) | getTableHeight(){return this.isTableEmpty?this.tableEmptyHeight:this.int...
  method leftViewWidth (line 8) | leftViewWidth(){var e=0;return this.hasFrozenColumn&&(e=this.frozenCols....
  method rightViewWidth (line 8) | rightViewWidth(){let e=this.internalWidth-this.leftViewWidth;return this...
  method bodyViewHeight (line 8) | bodyViewHeight(){var e;return e=this.internalTitleRows.length>0?this.int...
  method totalColumnsWidth (line 8) | totalColumnsWidth(){return this.internalColumns.reduce(function(e,t){ret...
  method totalNoFrozenColumnsWidth (line 8) | totalNoFrozenColumnsWidth(){return this.noFrozenCols.reduce(function(e,t...
  method getColumnsFields (line 8) | getColumnsFields(){return this.internalColumns.map(e=>e.field)}
  method getNoFrozenColumnsFields (line 8) | getNoFrozenColumnsFields(){return this.internalColumns.filter(e=>!e.isFr...
  method getFrozenColumnsFields (line 8) | getFrozenColumnsFields(){return this.internalColumns.filter(e=>e.isFroze...
  method customCompFunc (line 8) | customCompFunc(e){this.$emit("on-custom-comp",e)}
  method trBgColor (line 8) | trBgColor(e){if(this.evenBgColor&&this.evenBgColor.length>0||this.oddBgC...
  method setColumnCellClassName (line 8) | setColumnCellClassName(e,t,i){return this.columnCellClassName&&this.colu...
  method titleColumnWidth (line 8) | titleColumnWidth(e){var t=0;Array.isArray(e)?t=this.internalColumns.filt...
  method titleColumnHeight (line 8) | titleColumnHeight(e){return e&&e>0?this.titleRowHeight*e:this.titleRowHe...
  method overflowTitle (line 8) | overflowTitle(e,t,i){var n="";if("function"==typeof i.formatter){var r=i...
  method getTotalColumnsHeight (line 8) | getTotalColumnsHeight(){var e=this.internalTitleRows&&this.internalTitle...
  method initTableWidth (line 8) | initTableWidth(){this.internalWidth=this.isHorizontalResize?this.maxWidt...
  method initColumns (line 8) | initColumns(){this.internalHeight=this.height,this.footerTotalHeight=thi...
  method initView (line 8) | initView(){this.internalWidth&&this.internalWidth>0||this.columns&&this....
  method initInternalTableData (line 8) | initInternalTableData(){return Array.isArray(this.tableData)?O()(this.ta...
  method resize (line 8) | resize(){this.resizeTimer=setTimeout(e=>{this.tableResize()})}
  method created (line 8) | created(){this.internalTableData=this.initInternalTableData(this.tableDa...
  method mounted (line 8) | mounted(){this.setScrollbarWidth(),this.tableEmpty(),this.tableResize(),...
  method beforeDestroy (line 8) | beforeDestroy(){clearTimeout(this.resizeTimer)}
  method render (line 8) | render(e){return e("div",{staticClass:"v-table-views v-table-class",styl...
  function t (line 8) | function t(e){var t=e.start;return{token:"string.start",regex:t,next:[{t...
  function i (line 8) | function i(e,t){for(var i=0,n=e.length-1;n>=0;n--){var r=e[n];"."===r?e....
  function n (line 8) | function n(e,t){if(e.filter)return e.filter(t);for(var i=[],n=0;n<e.leng...
  function n (line 8) | function n(e){for(var t=0;t<e.length&&""===e[t];t++);for(var i=e.length-...
  function m (line 8) | function m(e,t,i){return Object(g.a)({url:"/api/datasource/"+e+"/"+t+"/a...
  function _ (line 8) | function _(e){return Object(g.a)({url:"/api/sql/editor/tab",method:"post...
  function v (line 8) | function v(e){return Object(g.a)({url:"/api/sql/editor/tab/_search",meth...
  function b (line 8) | function b(e,t){return Object(g.a)({url:"/api/sql/editor/tab/"+e,method:...
  function w (line 8) | function w(e){return Object(g.a)({url:"/api/sql/editor/tab/"+e,method:"d...
  function C (line 8) | function C(e){return Object(g.a)({url:"/api/sql/editor/tab/"+e+"/_active...
  function A (line 8) | function A(){return Object(g.a)({url:"/api/active/sql/editor/tab/_search...
  function j (line 8) | function j(e){if(e===window)return{top:0,left:0};var t=e.getBoundingClie...
  function J (line 8) | function J(e){return!!(e&&e.length>0)&&Z.some(function(t){return t===e.t...
  function ee (line 8) | function ee(e){return e?{error:!1,msg:null}:{error:!0,msg:"备注信息不能为空!"}}
  function te (line 8) | function te(e){if(!e)return{error:!0,msg:"字段名不能为空!"};return/^[a-z][a-z0-...
  function se (line 8) | function se(e,t,i){return Object(g.a)({url:"/api/sql/datasource/"+e+"/"+...
  function Re (line 10) | function Re(e,t,i,n,r,s,o,a,l){i=i.filter(function(e){return e.column_na...
  function Be (line 10) | function Be(e,t){return Le(e,t,t.online_column_name===t.column_name?"MOD...
  function Le (line 10) | function Le(e,t,i){return i+=t.type_name?t.type_name:"",i+=t.is_unsigned...
  function Me (line 10) | function Me(e,t){return Le(0,t,"ADD COLUMN `"+t.column_name+"` ")}
  function Oe (line 10) | function Oe(e){for(var t="",i=0;i<e.length;i++)i==e.length-1?t+="`"+e[i]...
  function We (line 10) | function We(e){if(e===window)return{top:0,left:0};var t=e.getBoundingCli...
  function Ue (line 10) | function Ue(e,t){try{for(var i=t.length;i--;)if(t[i]===e)return i;return...
  function Ve (line 10) | function Ve(e,t){try{for(var i=t.length;i--;)if(t[i]===e)return void t.s...
  function e (line 10) | function e(e,t,i){return e=e.substr(1),/^\d+$/.test(e)&&!i.inFormatStrin...
  function t (line 10) | function t(e){return"(?:[^\\\\"+e+"]|\\\\.)"}
  function o (line 10) | function o(t){var i=e.indexOf(t,n+1);-1!=i&&(n=i)}
  function c (line 10) | function c(e){for(var t=[],i=0;i<e.length;i++){var n=e[i];if("object"==t...
  function o (line 10) | function o(e){return e&&!/^\^?\(.*\)\$?$|^\\b$/.test(e)&&(e="(?:"+e+")")...
  function a (line 10) | function a(e,t,i){return e=o(e),t=o(t),i?(e=t+e)&&"$"!=e[e.length-1]&&(e...
  function l (line 10) | function l(e){e.scope||(e.scope=t||"_"),t=e.scope,i[t]||(i[t]=[],n[t]={}...
  function r (line 10) | function r(e){var r=n[e.scope||t];if(r&&r[e.name]){delete r[e.name];var ...
  function s (line 10) | function s(e,t){var i=function(e,t){return e.getTextRange(n.fromPoints({...
  function f (line 10) | function f(){this.yy={}}
  function l (line 10) | function l(e,t,i,n){var s="",l=!0,c=!1,h=void 0;try{for(var u,d=o()(r()(...
  function c (line 10) | function c(e,t,i){var n="DELETE FROM "+e+" WHERE ",r=!0,s=!1;if(t&&t.map...
  function h (line 10) | function h(e,t,i){for(var n="INSERT INTO "+i+" (",r=!0,s=0;s<t.length;s+...

FILE: kb-dms-backend/server/src/main/resources/static/static/js/2.f9dfc16198ee234c2eb8.js
  function m (line 1) | function m(r,u){var c,m=g[r],v=g[u],y=f[m],x=new l(y,t,t.ecModel);if(m&&...
  function a (line 1) | function a(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__c...
  function r (line 1) | function r(t){return t&&t.width&&t.height}
  function d (line 1) | function d(t){return t.isHorizontal()?0:1}
  function f (line 1) | function f(t,e){var n=t.getRect();return[n[l[e]],n[l[e]]+n[u[e]]]}
  function u (line 1) | function u(t,e,n){this.root,this.data,this._nodes=[],this.hostModel=t,th...
  function a (line 1) | function a(t){this._setting=t||{},this._extent=[1/0,-1/0],this._interval...
  function s (line 1) | function s(t){return t>o||t<-o}
  function d (line 1) | function d(t){if(null==t||"object"!=typeof t)return t;var e=t,r=a.call(t...
  function f (line 1) | function f(t,e,n){if(!_(e)||!_(t))return n?d(e):t;for(var i in e)if(e.ha...
  function p (line 1) | function p(t,e,n){for(var i in e)e.hasOwnProperty(i)&&(n?null!=e[i]:null...
  function v (line 1) | function v(t,e,n){if(t&&e)if(t.forEach&&t.forEach===o)t.forEach(e,n);els...
  function y (line 1) | function y(t,e){var n=l.call(arguments,2);return function(){return t.app...
  function x (line 1) | function x(t){return"[object Array]"===a.call(t)}
  function _ (line 1) | function _(t){var e=typeof t;return"function"===e||!!t&&"object"===e}
  function b (line 1) | function b(t){return!!n[a.call(t)]}
  function w (line 1) | function w(t){return"object"==typeof t&&"number"==typeof t.nodeType&&"ob...
  function M (line 1) | function M(t){return t[S]}
  function I (line 1) | function I(t){var e=x(t);this.data={};var n=this;function i(t,i){e?n.set...
  function i (line 1) | function i(){}
  function g (line 1) | function g(t,e,n){if(n||null!=e.get(t)){for(var i=0;null!=e.get(t+i);)i+...
  function A (line 1) | function A(t,e,n){null!=p.get(e)?t.otherDims[e]=n:(t.coordDim=e,t.coordD...
  function l (line 1) | function l(t){for(var e=t[0].name+"<br/>",n=null,i=0,a=t.length;i<a;i++)...
  function s (line 1) | function s(t,e,n){e[1]>e[0]&&(e=e.slice().reverse());var i=t.coordToPoin...
  function l (line 1) | function l(t){return t.getRadiusAxis().inverse?0:1}
  function u (line 1) | function u(t){var e=t[0],n=t[t.length-1];e&&n&&Math.abs(Math.abs(e.coord...
  function s (line 1) | function s(t,e,n){this._model=t}
  function l (line 1) | function l(t,e,n,i){var a=n.calendarModel,r=n.seriesModel,o=a?a.coordina...
  function h (line 1) | function h(t,e){return null!=t[e]&&"auto"!==t[e]}
  function n (line 1) | function n(){}
  function i (line 1) | function i(t,e,n,i){for(var a=0,r=e.length,o=0,s=0;a<r;a++){var l=e[a];i...
  function f (line 1) | function f(){for(var n=-1*s;n<=s;n+=2){var l,c=u[n-1],h=u[n+1],d=(h?h.ne...
  function o (line 1) | function o(t){return parseInt(t,10)}
  function s (line 1) | function s(t,e){a.initVML(),this.root=t,this.storage=e;var n=document.cr...
  function g (line 1) | function g(t,e){return t.getVisual("opacity")||t.getModel().get(e)}
  function m (line 1) | function m(t,e,n){var i=t.getGraphicEl(),a=g(t,e);null!=n&&(null==a&&(a=...
  function v (line 1) | function v(t,e){var n=g(t,e),i=t.getGraphicEl();i.highlight&&i.highlight...
  function o (line 1) | function o(t,e,n){this.model=t,this.ecModel=e,this.api=n,this._brushType...
  function k (line 1) | function k(t,e,n,i){var r=a.createFromString(t,e);return n&&("center"===...
  function O (line 1) | function O(t,e){var n,i=e.width/e.height,a=t.height*i;return n=a<=t.widt...
  function E (line 1) | function E(t,e){if(t.applyTransform){var n=t.getBoundingRect().calculate...
  function N (line 1) | function N(t,e,n){var i=T(2*t);return(i+T(e))%2==0?i/2:(i+(n?1:-1))/2}
  function z (line 1) | function z(t){return null!=t&&"none"!==t}
  function H (line 1) | function H(t){var e=t.__hoverStl;if(e&&!t.__highlighted){var n=t.useHove...
  function G (line 1) | function G(t,e,n){!z(e[n])&&z(t[n])&&(t[n]=function(t){if("string"!=type...
  function F (line 1) | function F(t){var e=t.__highlighted;if(e)if(t.__highlighted=!1,"layer"==...
  function W (line 1) | function W(t,e){t.isGroup?t.traverse(function(t){!t.isGroup&&e(t)}):e(t)}
  function q (line 1) | function q(t,e){e=t.__hoverStl=!1!==e&&(e||{}),t.__hoverStlDirty=!0,t.__...
  function Y (line 1) | function Y(t){this.__hoverSilentOnTouch&&t.zrByTouch||!this.__isEmphasis...
  function U (line 1) | function U(t){this.__hoverSilentOnTouch&&t.zrByTouch||!this.__isEmphasis...
  function X (line 1) | function X(){this.__isEmphasisEntered=!0,W(this,H)}
  function Z (line 1) | function Z(){this.__isEmphasisEntered=!1,W(this,F)}
  function j (line 1) | function j(t,e){var n=!1===e;if(t.__hoverSilentOnTouch=null!=e&&e.hoverS...
  function K (line 1) | function K(t,e,n,a,r){return J(t,e,a,r),n&&i.extend(t,n),t}
  function J (line 1) | function J(t,e,n,a){if((n=n||L).isRectText){var r=e.getShallow("position...
  function Q (line 1) | function Q(t,e,n,a,r,o){n=!r&&n||L,t.textFill=$(e.getShallow("color"),a)...
  function $ (line 1) | function $(t,e){return"auto"!==t?t:e&&e.autoColor?e.autoColor:null}
  function tt (line 1) | function tt(t){var e=t.insideRollbackOpt;if(e&&null==t.textFill){var n,i...
  function et (line 1) | function et(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textSt...
  function nt (line 1) | function nt(t,e,n,i,a,r){if("function"==typeof a&&(r=a,a=null),i&&i.isAn...
  function it (line 1) | function it(t,e,n,i,a){nt(!0,t,e,n,i,a)}
  function at (line 1) | function at(t,e,n){return e&&!i.isArrayLike(e)&&(e=u.getLocalTransform(e...
  function l (line 1) | function l(t){var e={position:s.clone(t.position),rotation:t.rotation};r...
  function o (line 1) | function o(t,e,n,i){var a=e.getData(),r=this.dataIndex,o=a.getName(r),l=...
  function s (line 1) | function s(t,e,n,i,a){var r=(e.startAngle+e.endAngle)/2,o=Math.cos(r),s=...
  function l (line 1) | function l(t,e){a.Group.call(this);var n=new a.Sector({z2:2}),i=new a.Po...
  function f (line 1) | function f(){r.stopAnimation(!0),r.animateTo({shape:{r:u.r+o.get("hoverO...
  function p (line 1) | function p(){r.stopAnimation(!0),r.animateTo({shape:{r:u.r}},300,"elasti...
  function n (line 1) | function n(t){return t}
  function i (line 1) | function i(t,e,i,a,r){this._old=t,this._new=e,this._oldKeyGetter=i||n,th...
  function a (line 1) | function a(t,e,n,i,a){for(var r=0;r<t.length;r++){var o="_ec_"+a[i](t[r]...
  function d (line 1) | function d(t,e,n){var a=t.ends;return new h({shape:{points:n?function(t,...
  function f (line 1) | function f(t,e,n,i){var a=e.getItemModel(n),o=a.getModel(s),c=e.getItemV...
  function g (line 1) | function g(t,e,n){var i=t.getData(),a=i.getLayout("largePoints"),r=new p...
  function m (line 1) | function m(t,e,n,i){var a=t>0?"P":"N",r=i.getVisual("borderColor"+a)||i....
  function c (line 1) | function c(t,e,n,i,a){var r=0,o=0;null==i&&(i=1/0),null==a&&(a=1/0);var ...
  function p (line 1) | function p(t,e,n){n=o.normalizeCssArray(n||0);var i=e.width,s=e.height,l...
  function g (line 1) | function g(t,e){return e&&t&&s(l,function(n){e.hasOwnProperty(n)&&(t[n]=...
  function l (line 1) | function l(n,i){var r={},o=0,l={},u=0;if(s(n,function(e){l[e]=t[e]}),s(n...
  function c (line 1) | function c(t,e){return t.hasOwnProperty(e)}
  function h (line 1) | function h(t,e){return null!=t[e]&&"auto"!==t[e]}
  function d (line 1) | function d(t,e,n){s(t,function(t){e[t]=n[t]})}
  function l (line 1) | function l(t,e,n){r.Group.call(this),this.updateData(t,e,n)}
  function h (line 1) | function h(t){return[t[0]/2,t[1]/2]}
  function d (line 1) | function d(t,e){this.parent.drift(t,e)}
  function v (line 1) | function v(){!r.isInEmphasis(this)&&x.call(this)}
  function y (line 1) | function y(){!r.isInEmphasis(this)&&_.call(this)}
  function x (line 1) | function x(){if(!this.incremental&&!this.useHoverLayer){var t=this.__sym...
  function _ (line 1) | function _(){this.incremental||this.useHoverLayer||this.animateTo({scale...
  function r (line 1) | function r(t){return"_EC_"+t}
  function l (line 1) | function l(t,e){this.id=null==t?"":t,this.inEdges=[],this.outEdges=[],th...
  function u (line 1) | function u(t,e,n){this.node1=t,this.node2=e,this.dataIndex=null==n?-1:n}
  function g (line 1) | function g(t,e){var n=(t[1]-t[0])/e/2;t[0]+=n,t[1]-=n}
  function h (line 1) | function h(t,e){return c?t>e:t<e}
  function m (line 1) | function m(t,e,n,i,a,r,o,s,l,c){if(c>e&&c>i&&c>r&&c>s||c<e&&c<i&&c<r&&c<...
  function v (line 1) | function v(t,e,n,i,a,r,o,s){if(s>e&&s>i&&s>r||s<e&&s<i&&s<r)return 0;var...
  function y (line 1) | function y(t,e,n,i,a,r,o,s){if((s-=e)>n||s<-n)return 0;var u=Math.sqrt(n...
  function x (line 1) | function x(t,e,n,i,l){for(var u,d,p=0,g=0,x=0,_=0,b=0,w=0;w<t.length;){v...
  function r (line 1) | function r(t,e,n,i){for(var a,r=[],o=0;o<n.length;o++){var s=n[o],l=t.ge...
  function o (line 1) | function o(t,e,n,a,o){var s=r(t,n,a,o),l=new i.Polyline({shape:{points:s...
  function s (line 1) | function s(t){var e=t.get("smooth",!0);return!0===e&&(e=a),{lineStyle:t....
  function l (line 1) | function l(t,e,n,i){var a=i.lineStyle;e.hasItemOption&&(a=e.getItemModel...
  function a (line 1) | function a(t,e,n,i,a,r,o){var s=.5*(n-t),l=.5*(i-e);return(2*(e-n)+s+l)*...
  function v (line 1) | function v(t,e){var n=t+":"+(e=e||g);if(h[n])return h[n];for(var i=(t+""...
  function y (line 1) | function y(t,e,n){return"right"===n?t-=e:"center"===n&&(t-=e/2),t}
  function x (line 1) | function x(t,e,n){return"middle"===n?t-=e/2:"bottom"===n&&(t-=e),t}
  function _ (line 1) | function _(t,e,n,i,a){if(!e)return"";var r=(t+"").split("\n");a=b(e,n,i,...
  function b (line 1) | function b(t,e,n,i){(i=s({},i)).font=e;n=l(n,"...");i.maxIterations=l(i....
  function w (line 1) | function w(t,e){var n=e.containerWidth,i=e.font,a=e.contentWidth;if(!n)r...
  function S (line 1) | function S(t,e,n,i){for(var a=0,r=0,o=t.length;r<o&&a<e;r++){var s=t.cha...
  function M (line 1) | function M(t){return v("国",t)}
  function I (line 1) | function I(t,e){return m.measureText(t,e)}
  function A (line 1) | function A(t,e,n,i,a){null!=t&&(t+="");var r=l(i,M(e)),o=t?t.split("\n")...
  function T (line 1) | function T(t,e){var n={lines:[],width:0,height:0};if(null!=t&&(t+=""),!t...
  function C (line 1) | function C(t,e,n){for(var i=""===e,a=e.split("\n"),r=t.lines,o=0;o<a.len...
  function f (line 1) | function f(t,e){var n,a,r,o=t.type,l=e.getMin(),d=e.getMax(),f=null!=l,p...
  function p (line 1) | function p(t){var e,n=t.getLabelModel().get("formatter"),i="category"===...
  function g (line 1) | function g(t,e){return"category"===t.type?t.scale.getLabel(e):e}
  function m (line 1) | function m(t){var e=t.get("interval");return null==e?"auto":e}
  function d (line 1) | function d(t,e,n,i,a,r,c,h){o(i)?(r=a,a=i,i=0):s(a)?(r=a,a="linear",i=0)...
  function f (line 1) | function f(t,e,n,i){if(e){var a={};a[e]={},a[e][n]=i,t.attr(a)}else t.at...
  function o (line 1) | function o(t,e,n,i,o,l){var u=r.getAxisPointerClass(t.axisPointerClass);...
  function s (line 1) | function s(t,e,n){var i=t._axisPointer;i&&i.dispose(e,n),t._axisPointer=...
  function _ (line 1) | function _(t){return f(1e4*t)/1e4}
  function b (line 1) | function b(t){return t<x&&t>-x}
  function w (line 1) | function w(t,e){e&&S(t,"transform","matrix("+h.call(e,",")+")")}
  function S (line 1) | function S(t,e,n){(!n||"linear"!==n.type&&"radial"!==n.type)&&t.setAttri...
  function M (line 1) | function M(t,e,n,i){if(function(t,e){var n=e?t.textFill:t.fill;return nu...
  function L (line 1) | function L(t){return"middle"===t?"middle":"bottom"===t?"after-edge":"han...
  function d (line 1) | function d(t){var e=r.getTransform(n.handles[t].parent,this.group),s=r.t...
  function _ (line 1) | function _(t){return"vertical"===t?"ns-resize":"ew-resize"}
  function v (line 1) | function v(t,e){h.isInstance(t)||(t=h.seriesDataToSource(t)),this._sourc...
  function _ (line 1) | function _(){return this._data.length}
  function b (line 1) | function b(t){return this._data[t]}
  function w (line 1) | function w(t){for(var e=0;e<t.length;e++)this._data.push(t[e])}
  function M (line 1) | function M(t,e,n,i){return null!=n?t[n]:t}
  function A (line 1) | function A(t,e,n,i){return T(t[i],this._dimensionInfos[e])}
  function T (line 1) | function T(t,e){var n=e&&e.type;if("ordinal"===n){var i=e&&e.ordinalMeta...
  function s (line 1) | function s(t){this.pointerChecker,this._zr=t,this._opt={};var e=i.bind,n...
  function l (line 1) | function l(t){if(!(r.isMiddleOrRightButtonOnMouseUpDown(t)||t.target&&t....
  function u (line 1) | function u(t){if(this._dragging&&g("moveOnMouseMove",t,this._opt)&&"pinc...
  function c (line 1) | function c(t){r.isMiddleOrRightButtonOnMouseUpDown(t)||(this._dragging=!1)}
  function h (line 1) | function h(t){var e=g("zoomOnMouseWheel",t,this._opt),n=g("moveOnMouseWh...
  function d (line 1) | function d(t){o.isTaken(this._zr,"globalPan")||f(this,"zoom",null,t,{sca...
  function f (line 1) | function f(t,e,n,i,a){t.pointerChecker&&t.pointerChecker(i,a.originX,a.o...
  function p (line 1) | function p(t,e,n,a,r){r.isAvailableBehavior=i.bind(g,null,n,a),t.trigger...
  function g (line 1) | function g(t,e,n){var a=n[t];return!t||a&&(!i.isString(a)||e.event[a+"Ke...
  function r (line 1) | function r(t){a.call(this,t)}
  function y (line 1) | function y(t,e,n){return t.getCoordSysModel()===e}
  function x (line 1) | function x(t,e,n){this._coordsMap={},this._coordsList=[],this._axesMap={...
  function b (line 1) | function b(t,e,n,i){n.getAxesOnZeroOf=function(){return a?[a]:[]};var a,...
  function w (line 1) | function w(t){return t&&"category"!==t.type&&"time"!==t.type&&h(t)}
  function o (line 1) | function o(){r(a,function(t){var e=t.isHorizontal(),n=e?[0,i.width]:[0,i...
  function s (line 1) | function s(e){return function(n,r){if(y(n,t)){var s=n.get("position");"x...
  function n (line 1) | function n(t,e,n){r(t.mapDimension(e.dim,!0),function(n){e.scale.unionEx...
  function M (line 1) | function M(t,e){return o(S,function(e){return t.getReferringComponents(e...
  function I (line 1) | function I(t){return"cartesian2d"===t.get("coordinateSystem")}
  function f (line 1) | function f(t,e,n){var i=t.cpx2,a=t.cpy2;return null===i||null===a?[(n?h:...
  function p (line 1) | function p(t){return t.name}
  function m (line 1) | function m(e,n,s){var u=this._layers;if("remove"!==e){for(var h,d,f,p=[]...
  function s (line 1) | function s(t,e){e=e||[0,360],r.call(this,"angle",t,e),this.type="category"}
  function r (line 1) | function r(t,e,n){var i,r={},o="toggleSelected"===t;return n.eachCompone...
  function r (line 1) | function r(t){this._ctor=t||a,this.group=new i.Group}
  function s (line 1) | function s(t){var e=t.hostModel;return{lineStyle:e.getModel("lineStyle")...
  function l (line 1) | function l(t){return isNaN(t[0])||isNaN(t[1])}
  function u (line 1) | function u(t){return!l(t[0])&&!l(t[1])}
  function n (line 1) | function n(t){t.isGroup||(t.incremental=t.useHoverLayer=!0)}
  function r (line 1) | function r(t,e){e.update="updateView",i.registerAction(e,function(e,n){v...
  function f (line 1) | function f(t,e){e.dispatchAction({type:"legendToggleSelect",name:t})}
  function p (line 1) | function p(t,e,n,i){var a=n.getZr().storage.getDisplayList()[0];a&&a.use...
  function g (line 1) | function g(t,e,n,i){var a=n.getZr().storage.getDisplayList()[0];a&&a.use...
  function u (line 1) | function u(t){a(c,function(e){e[0]in t&&!(e[1]in t)&&(t[e[1]]=t[e[0]])})}
  function a (line 1) | function a(t,e){var n=this.getAxis(),i=e instanceof Array?e[0]:e,a=(t in...
  function d (line 1) | function d(t,e,n,i){n<0&&(t+=n,n=-n),i<0&&(e+=i,i=-i),this.x=t,this.y=e,...
  function s (line 1) | function s(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t...
  function r (line 1) | function r(t){var e=t[a];return e||(e=t[a]=[{}]),e}
  function s (line 1) | function s(t){for(var e in t=t||{},r.call(this,t),t)t.hasOwnProperty(e)&...
  function g (line 1) | function g(t){return t>-l&&t<l}
  function m (line 1) | function m(t){return t>l||t<-l}
  function v (line 1) | function v(t,e,n,i,a){var r=1-a;return r*r*(r*t+3*a*e)+a*a*(a*i+3*r*n)}
  function y (line 1) | function y(t,e,n,i){var a=1-i;return a*(a*t+2*i*e)+i*i*n}
  function u (line 1) | function u(t){return!isNaN(t)&&!isFinite(t)}
  function c (line 1) | function c(t,e,n,i){var a=1-t,r=i.dimensions[t];return u(e[a])&&u(n[a])&...
  function h (line 1) | function h(t,e){if("cartesian2d"===t.type){var n=e[0].coord,i=e[1].coord...
  function d (line 1) | function d(t,e,n,i,a){var o,s=i.coordinateSystem,l=t.getItemModel(e),c=r...
  function w (line 1) | function w(e,n,i){var a=e.getItemModel(n);d(e,n,i,t,r),e.setItemVisual(n...
  function s (line 1) | function s(t){this.model=t}
  function d (line 1) | function d(t){return function(e,n){var i=f(e),r=[];return a(i,function(i...
  function f (line 1) | function f(t){return o.retrieveMap(t)||[]}
  function r (line 1) | function r(t,e,n){for(var i=[],a=e[0],r=e[1],o=0;o<t.length;o+=2){var s=...
  function s (line 1) | function s(t,e,n){if(this.name=t,this.geometries=e,n)n=[n[0],n[1]];else{...
  function o (line 1) | function o(t){var e={main:"",sub:""};return t&&(t=t.split(a),e.main=t[0]...
  function l (line 1) | function l(t,e){var n=i.slice(arguments,2);return this.superClass.protot...
  function u (line 1) | function u(t,e,n){return this.superClass.prototype[e].apply(t,n)}
  function i (line 1) | function i(t){return Math.sqrt(r(t))}
  function r (line 1) | function r(t){return t[0]*t[0]+t[1]*t[1]}
  function s (line 1) | function s(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[...
  function u (line 1) | function u(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])}
  function s (line 1) | function s(t,e){return t[e]}
  function l (line 1) | function l(t,e,n){t[e]=n}
  function u (line 1) | function u(t,e,n){return(e-t)*n+t}
  function c (line 1) | function c(t,e,n){return n>.5?e:t}
  function h (line 1) | function h(t,e,n,i,a){var r=t.length;if(1===a)for(var o=0;o<r;o++)i[o]=u...
  function d (line 1) | function d(t,e,n){var i=t.length,a=e.length;if(i!==a)if(i>a)t.length=a;e...
  function f (line 1) | function f(t,e,n){if(t===e)return!0;var i=t.length;if(i!==e.length)retur...
  function p (line 1) | function p(t,e,n,i,a,r,o,s,l){var u=t.length;if(1===l)for(var c=0;c<u;c+...
  function g (line 1) | function g(t,e,n,i,a,r,o){var s=.5*(n-t),l=.5*(i-e);return(2*(e-n)+s+l)*...
  function m (line 1) | function m(t){if(r(t)){var e=t.length;if(r(t[0])){for(var n=[],i=0;i<e;i...
  function v (line 1) | function v(t){return t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Ma...
  function y (line 1) | function y(t,e,n,o,s,l){var m=t._getter,y=t._setter,x="spline"===e,_=o.l...
  function p (line 1) | function p(t,e){var n=t.getItemLayout(e);return n&&!isNaN(n.x)&&!isNaN(n...
  function g (line 1) | function g(t,e,n){return n.itemModel=e,n.itemStyle=e.getModel("itemStyle...
  function m (line 1) | function m(t,e,n,o,s,l){var u=!n,c=t.tree.getNodeByDataIndex(e),h=(l=g(c...
  function v (line 1) | function v(t,e,n,i,r,o){for(var s,l=t.tree.getNodeByDataIndex(e),u=t.tre...
  function y (line 1) | function y(t,e,n){var i,a,r,s,l,u,c,h,d=t.orient;if("radial"===t.layout)...
  function l (line 1) | function l(t,e){return t.getVisual("opacity")||t.getModel().get(e)}
  function u (line 1) | function u(t,e,n){var i=t.getGraphicEl(),a=l(t,e);null!=n&&(null==a&&(a=...
  function c (line 1) | function c(t,e){var n=l(t,e),i=t.getGraphicEl();i.highlight&&i.highlight...
  function u (line 1) | function u(t,e){var n={};return n[e.dim+"AxisIndex"]=e.index,t.getCartes...
  function h (line 1) | function h(t){return"x"===t.dim?0:1}
  function a (line 1) | function a(t){return(t=Math.round(t))<0?0:t>255?255:t}
  function r (line 1) | function r(t){return t<0?0:t>1?1:t}
  function o (line 1) | function o(t){return t.length&&"%"===t.charAt(t.length-1)?a(parseFloat(t...
  function s (line 1) | function s(t){return t.length&&"%"===t.charAt(t.length-1)?r(parseFloat(t...
  function l (line 1) | function l(t,e,n){return n<0?n+=1:n>1&&(n-=1),6*n<1?t+(e-t)*n*6:2*n<1?e:...
  function u (line 1) | function u(t,e,n){return t+(e-t)*n}
  function c (line 1) | function c(t,e,n,i,a){return t[0]=e,t[1]=n,t[2]=i,t[3]=a,t}
  function h (line 1) | function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}
  function p (line 1) | function p(t,e){f&&h(f,e),f=d.put(t,f||e.slice())}
  function g (line 1) | function g(t,e){if(t){e=e||[];var n=d.get(t);if(n)return h(e,n);var a,r=...
  function m (line 1) | function m(t,e){var n=(parseFloat(t[0])%360+360)%360/360,i=s(t[1]),r=s(t...
  function v (line 1) | function v(t,e,n){if(e&&e.length&&t>=0&&t<=1){n=n||[];var i=t*(e.length-...
  function x (line 1) | function x(t,e,n){if(e&&e.length&&t>=0&&t<=1){var i=t*(e.length-1),o=Mat...
  function b (line 1) | function b(t,e){if(t&&t.length){var n=t[0]+","+t[1]+","+t[2];return"rgba...
  function r (line 1) | function r(t,e){return t&&t.hasOwnProperty&&t.hasOwnProperty(e)}
  function p (line 1) | function p(t,e,n){(this._brushController=new r(n.getZr())).on("brush",a....
  function v (line 1) | function v(t){var e={};return a.each(["xAxisIndex","yAxisIndex"],functio...
  function a (line 1) | function a(t,e,a){var r=e.getAxis(t),o=r.model,s=function(t,e,n){var i;r...
  function r (line 1) | function r(n,i){if(i){var r=n+"Index",o=i[r];null==o||"all"===o||a.isArr...
  function s (line 1) | function s(t){return t.getId()}
  function c (line 1) | function c(i,o){var s=null==i?null:n[i],c=null==o?null:a[o];!function(n,...
  function s (line 1) | function s(t,e,n){t.handler("leave",null,n)}
  function l (line 1) | function l(t,e,n,i){e.handler(t,n,i)}
  function n (line 1) | function n(n,i){t.on(n,function(n){var a=function(t){var e={showTip:[],h...
  function s (line 1) | function s(t){var e=t.getZr();return e[o]||(e[o]={})}
  function l (line 1) | function l(t){i.each(t,function(e,n){e.count||(e.controller.dispose(),de...
  function u (line 1) | function u(t,e){t.dispatchAction({type:"dataZoom",batch:e})}
  function g (line 1) | function g(t){return{renderMode:a,content:s(l(t)),style:f}}
  function g (line 1) | function g(t,n){var i=m.getDimensionInfo(n);if(i&&!1!==i.otherDims.toolt...
  function M (line 1) | function M(t){var e=t.name;c.isNameSpecified(t)||(t.name=function(t){var...
  function I (line 1) | function I(t){return t.model.getRawData().count()}
  function A (line 1) | function A(t){var e=t.model;return e.setData(e.getRawData().cloneShallow...
  function T (line 1) | function T(t,e){t.end>e.outputData.count()&&e.model.getRawData().cloneSh...
  function C (line 1) | function C(t,e){i.each(t.CHANGABLE_METHODS,function(n){t.wrapMethod(n,i....
  function D (line 1) | function D(t){var e=L(t);e&&e.setOutputEnd(this.count())}
  function L (line 1) | function L(t){var e=(t.ecModel||{}).scheduler,n=e&&e.getPipeline(t.uid);...
  function a (line 1) | function a(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]...
  function r (line 1) | function r(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNo...
  function o (line 1) | function o(t,e,n){return t.hierNode.ancestor.parentNode===e.parentNode?t...
  function s (line 1) | function s(t,e,n){var i=n/(e.hierNode.i-t.hierNode.i);e.hierNode.change-...
  function l (line 1) | function l(t,e){return t.parentNode===e.parentNode?1:2}
  function c (line 1) | function c(t){return!isNaN(t)&&!isFinite(t)}
  function h (line 1) | function h(t,e,n,i){var a=1-t;return c(e[a])&&c(n[a])}
  function d (line 1) | function d(t,e){var n=e.coord[0],i=e.coord[1];return!("cartesian2d"!==t....
  function f (line 1) | function f(t,e,n,i,a){var r,s=i.coordinateSystem,l=t.getItemModel(e),u=o...
  function l (line 1) | function l(t,e){var n=t._model;return n.get("axisExpandable")&&n.get("ax...
  function a (line 1) | function a(t){var e=t.itemStyle||(t.itemStyle={}),n=e.emphasis||(e.empha...
  function r (line 1) | function r(t,e){return t.hasOwnProperty(e)}
  function u (line 1) | function u(t,e){var n=t.getAxisModel(),i=t._percentWindow,r=t._valueWind...
  function l (line 1) | function l(t,e){t.eachChild(function(t){t.attr({z:e.z,zlevel:e.zlevel,st...
  function u (line 1) | function u(t,e){r.call(this);var n=new s(t,e),i=new r;this.add(n),this.a...
  function h (line 1) | function h(t,e,n){for(var i,a=t[0],h=t[1],d=t[2],f=1/0,p=n*n,g=.1,m=.1;m...
  function u (line 1) | function u(t){var e=t.getVisual("symbolSize");return e instanceof Array&...
  function c (line 1) | function c(t){i.call(this,t),this.path=null}
  function u (line 1) | function u(){s.call(this)}
  function c (line 1) | function c(t){this.name=t,this.zoomLimit,s.call(this),this._roamTransfor...
  function h (line 1) | function h(t,e,n,i){var a=n.seriesModel,r=a?a.coordinateSystem:null;retu...
  function h (line 1) | function h(t,e){var n=t.visual,a=[];i.isObject(n)?o(n,function(t){a.push...
  function d (line 1) | function d(t){return{applyVisual:function(e,n,i){e=this.mapValueToVisual...
  function f (line 1) | function f(t){var e=this.option.visual;return e[Math.round(r(t,[0,1],[0,...
  function p (line 1) | function p(t){return function(e,n,i){i(t,this.mapValueToVisual(e))}}
  function g (line 1) | function g(t){var e=this.option.visual;return e[this.option.loop&&t!==l?...
  function m (line 1) | function m(){return this.option.visual[0]}
  function v (line 1) | function v(t){return{linear:function(e){return r(e,t,this.option.visual,...
  function y (line 1) | function y(t){var e=this.option,n=e.pieceList;if(e.hasSpecialVisual){var...
  function x (line 1) | function x(t,e){return t.visual=e,"color"===t.type&&(t.parsedVisual=i.ma...
  function b (line 1) | function b(t,e,n){return t?e<=n:e<n}
  function h (line 1) | function h(e,n){var r=Math.abs(e-t);r<a&&(a=r,i=n)}
  function u (line 1) | function u(t){return null==t?"":(t+"").replace(s,function(t,e){return l[...
  function d (line 1) | function d(t,e){return"0000".substr(0,e-(t+="").length)+t}
  function a (line 1) | function a(t,e,n,i){var a=e+1;if(a===n)return 1;if(i(t[a++],t[e])<0){for...
  function r (line 1) | function r(t,e,n,i,a){for(i===e&&i++;i<n;i++){for(var r,o=t[i],s=e,l=i;s...
  function o (line 1) | function o(t,e,n,i,a,r){var o=0,s=0,l=1;if(r(t,e[n+a])>0){for(s=i-a;l<s&...
  function s (line 1) | function s(t,e,n,i,a,r){var o=0,s=0,l=1;if(r(t,e[n+a])<0){for(s=a+1;l<s&...
  function l (line 1) | function l(t,e){var n,a,r,l=i,u=0;n=t.length;var c=[];function h(n){var ...
  function s (line 1) | function s(t,e,n,i){r.call(this,t),this.map=e;var a=o.load(e,n);this._na...
  function l (line 1) | function l(t,e,n,i){var a=n.geoModel,r=n.seriesModel,o=a?a.coordinateSys...
  function d (line 1) | function d(t){return parseInt(t,10)}
  function e (line 1) | function e(t){i&&(i.__endIndex!==t&&(i.__dirty=!0),i.__endIndex=t)}
  function G (line 1) | function G(t){return function(e,n,i){e=e&&e.toLowerCase(),l.prototype[t]...
  function F (line 1) | function F(){l.call(this)}
  function W (line 1) | function W(t,e,n){n=n||{},"string"==typeof e&&(e=ft[e]),this.id,this.gro...
  function Y (line 1) | function Y(t,e,n){var i,a=this._model,r=this._coordSysMgr.getCoordinateS...
  function X (line 1) | function X(t){var e=t._model,n=t._scheduler;n.restorePipelines(e),n.prep...
  function Z (line 1) | function Z(t,e,n,i,r){var o=t._model;if(i){var s={};s[i+"Id"]=n[i+"Id"],...
  function j (line 1) | function j(t,e){var n=t._chartsMap,i=t._scheduler;e.eachSeries(function(...
  function K (line 1) | function K(t,e){var n=t.type,i=t.escapeConnect,r=st[n],o=r.actionInfo,s=...
  function J (line 1) | function J(t){for(var e=this._pendingActions;e.length;){var n=e.shift();...
  function Q (line 1) | function Q(t){!t&&this.trigger("updated")}
  function $ (line 1) | function $(t,e,n,i){for(var a="component"===e,r=a?t._componentsViews:t._...
  function tt (line 1) | function tt(t){t.clearColorPalette(),t.eachSeries(function(t){t.clearCol...
  function et (line 1) | function et(t,e,n,i){!function(t,e,n,i,a){L(a||t._componentsViews,functi...
  function nt (line 1) | function nt(t,e,n,i,a){var r,s=t._scheduler;e.eachSeries(function(e){var...
  function it (line 1) | function it(t,e){L(ht,function(n){n(t,e)})}
  function rt (line 1) | function rt(t,e){var n=t.get("z"),i=t.get("zlevel");e.group.traverse(fun...
  function ot (line 1) | function ot(){this.eventInfo}
  function c (line 1) | function c(t,e,n,i){return null==t[n]||e[i||n]===t[n]}
  function _t (line 1) | function _t(t){mt[t]=!1}
  function wt (line 1) | function wt(t){return gt[_.getAttribute(t,xt)]}
  function St (line 1) | function St(t,e){ft[t]=e}
  function Mt (line 1) | function Mt(t){ct.push(t)}
  function It (line 1) | function It(t,e){Ct(ut,t,e,R)}
  function At (line 1) | function At(t,e,n){"function"==typeof e&&(n=e,e="");var i=k(t)?t.type:[t...
  function Tt (line 1) | function Tt(t,e){Ct(dt,t,e,N,"visual")}
  function Ct (line 1) | function Ct(t,e,n,i,a){(P(e)||k(e))&&(n=e,e=i);var r=I.wrapStageHandler(...
  function Dt (line 1) | function Dt(t,e){pt[t]=e}
  function n (line 1) | function n(t,n){for(var i=0;i<t.length;i++)t[i][e]=n}
  function l (line 1) | function l(t){this.group=new i.Group,t.add(this.group)}
  function u (line 1) | function u(t,e,n,i,a,r){var o=[[a?t:t-s,e],[t+n,e],[t+n,e+i],[a?t:t-s,e+...
  function c (line 1) | function c(t,e,n){t.eventData={componentType:"series",componentSubType:"...
  function r (line 1) | function r(t,e,n){a.call(this,t,e,n),this.type="value",this.angle=0,this...
  function r (line 1) | function r(t){var e=t[1][0]-t[0][0],n=t[1][1]-t[0][1];return Math.sqrt(e...
  function l (line 1) | function l(t){this.model=t}
  function s (line 1) | function s(t,e,n){r.call(this,t,e,n),this._lastFrame=0,this._lastFramePe...
  function s (line 1) | function s(t,e,n){this.dimension="single",this.dimensions=["single"],thi...
  function c (line 1) | function c(t,e){var n=t.getItemStyle(),i=t.get("areaColor");return null!...
  function h (line 1) | function h(t,e){e.eachChild(function(e){i.each(e.__regions,function(n){e...
  function d (line 1) | function d(t,e){var n=new s.Group;this.uid=u("ec_map_draw"),this._contro...
  function c (line 1) | function c(){var e={type:"geoRoam",componentType:u};return e[u+"Id"]=t.i...
  function a (line 1) | function a(){var t=i.createCanvas();this.canvas=t,this.blurSize=30,this....
  function u (line 1) | function u(t){var e=c(t,"color");if(e){var n=c(t,"colorAlpha"),i=c(t,"co...
  function c (line 1) | function c(t,e){var n=t[e];if(null!=n&&"none"!==n)return n}
  function h (line 1) | function h(t,e){var n=t.get(e);return o(n)&&n.length?{name:e,range:n}:null}
  function s (line 1) | function s(t){i.call(this,t)}
  function v (line 1) | function v(t,e,n,i,a){null==n[t]||a||(e[t]=n[t],n[t]=i[t])}
  function y (line 1) | function y(t,e,n,o){var l=t.get("renderItem"),u=t.coordinateSystem,c={};...
  function x (line 1) | function x(t,e,n,i,a,r){return(t=_(t,e,n,i,a,r,!0))&&r.setItemGraphicEl(...
  function _ (line 1) | function _(t,e,n,r,o,s,u){var c,h=!n,d=(n=n||{}).type,f=n.shape,p=n.styl...
  function b (line 1) | function b(t,e){var n=t&&t.name;return null!=n?n:g+e}
  function w (line 1) | function w(t,e){var n=this.context,i=null!=t?n.newChildren[t]:null;_(nul...
  function S (line 1) | function S(t){var e=this.context,n=e.oldChildren[t];n&&e.group.remove(n)}
  function M (line 1) | function M(t){return t&&(t.pathData||t.d)}
  function I (line 1) | function I(t,e){return t&&t.hasOwnProperty(e)}
  function s (line 1) | function s(t){t.isGroup||(t.incremental=!0,t.useHoverLayer=!0)}
  function f (line 1) | function f(t){return isNaN(t[0])||isNaN(t[1])}
  function p (line 1) | function p(t,e,n,i,r,p,g,m,v,y,x){return"none"!==y&&y?function(t,e,n,i,a...
  function g (line 1) | function g(t,e){var n=[1/0,1/0],i=[-1/0,-1/0];if(e)for(var a=0;a<t.lengt...
  function h (line 1) | function h(t){o.defaultEmphasis(t,"label",["show"])}
  function h (line 1) | function h(t,e,n,a,r){var o=t.ends,s=new c({shape:{points:r?function(t,e...
  function d (line 1) | function d(t,e,n,i,a){var o=n.hostModel;(0,r[a?"initProps":"updateProps"...
  function r (line 1) | function r(t,e){return Math.abs(t-e)<a}
  function s (line 1) | function s(t,e){if((a=this)[o]===a){var n=i.extend({},this[r]);n[this.da...
  function l (line 1) | function l(t,e){return t.struct&&t.struct.update(this),e}
  function u (line 1) | function u(t,e){return a(e[r],function(n,i){n!==e&&d(n.cloneShallow(),i,...
  function c (line 1) | function c(t){var e=this[o];return null==t||null==e?e:e[r][t]}
  function h (line 1) | function h(t,e,n){t[r]={},a(e,function(e,i){d(e,i,t,n)})}
  function d (line 1) | function d(t,e,n,i){n[r][e]=t,t[o]=n,t.dataType=e,i.struct&&(t[i.structA...
  function o (line 1) | function o(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}
  function c (line 1) | function c(t){return n.getItemVisual(l,t)}
  function h (line 1) | function h(t,e){n.setItemVisual(l,t,e)}
  function d (line 1) | function d(t,i){l=null==s?t:i;var a=n.getRawDataItem(l);if(!a||!1!==a.vi...
  function a (line 1) | function a(t){return i.getItemVisual(l,t)}
  function s (line 1) | function s(t,e){i.setItemVisual(l,t,e)}
  function u (line 1) | function u(t,e){return e.type||(e.data?"category":"value")}
  function s (line 1) | function s(){return!1}
  function l (line 1) | function l(t,e,n){var a=i.createCanvas(),r=e.getWidth(),o=e.getHeight(),...
  function a (line 1) | function a(e,n){i.push({value:e,color:t(e,n)})}
  function l (line 1) | function l(t,e,n){if(n[0]===n[1])return n.slice();for(var i=(n[1]-n[0])/...
  function a (line 1) | function a(t,e){return e=e||[0,0],i.map([0,1],function(n){var i=e[n],a=t...
  function d (line 1) | function d(){}
  function f (line 1) | function f(t,e,n,a){(function t(e,n){if(i.isObject(e)&&i.isObject(n)){va...
  function p (line 1) | function p(t,e){t[e.get("label.show")?"show":"hide"]()}
  function g (line 1) | function g(t){return{position:t.position.slice(),rotation:t.rotation||0}}
  function m (line 1) | function m(t,e,n){var i=e.get("z"),a=e.get("zlevel");t&&t.traverse(funct...
  function d (line 1) | function d(t){var e=t.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=l(e,...
  function h (line 1) | function h(t,e){var n=this,a=n.getAngleAxis(),r=n.getRadiusAxis();if(a.s...
  function d (line 1) | function d(t,e){if(t.type=e.get("type"),t.scale=s(e),t.onBand=e.get("bou...
  function c (line 1) | function c(t){var e=this[s];e&&e.recordVersion===this[l]&&h(e,t)}
  function h (line 1) | function h(t,e){var n=t.circle,i=t.labelModel,a=t.hoverLabelModel,o=t.em...
  function g (line 1) | function g(t,e,n){this.parentModel=e,this.ecModel=n,this.option=t}
  function m (line 1) | function m(t,e,n){for(var i=0;i<e.length&&(!e[i]||null!=(t=t&&"object"==...
  function v (line 1) | function v(t,e){var n=p(t).getParent;return n?n.call(t,e):t.parentModel}
  function r (line 1) | function r(t,e,n){i.Group.call(this),this._createPolyline(t,e,n)}
  function d (line 1) | function d(t,e,n,i,a){this._zrId=t,this._svgRoot=e,this._tagNames="strin...
  function v (line 1) | function v(t){return parseInt(t,10)}
  function y (line 1) | function y(t,e){return e&&t&&e.parentNode!==t}
  function x (line 1) | function x(t,e,n){if(y(t,e)&&n){var i=n.nextSibling;i?t.insertBefore(e,i...
  function _ (line 1) | function _(t,e){if(y(t,e)){var n=t.firstChild;n?t.insertBefore(e,n):t.ap...
  function b (line 1) | function b(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)}
  function w (line 1) | function w(t){return t.__textSvgEl}
  function S (line 1) | function S(t){return t.__svgEl}
  function s (line 1) | function s(t,e){return"all"===t||i.isArray(t)&&i.indexOf(t,e)>=0||t===e}
  function l (line 1) | function l(t){var e=(t.ecModel.getComponent("axisPointer")||{}).coordSys...
  function u (line 1) | function u(t){return!!t.get("handle.show")}
  function c (line 1) | function c(t){return t.type+"||"+t.id}
  function b (line 1) | function b(o,l,p){var m=p.model.getModel("axisPointer",h),y=m.get("show"...
  function r (line 1) | function r(t,e,n){var i,a,r,o,s,l=0,u=0,c=null;function h(){u=(new Date)...
  function f (line 1) | function f(t,e){if("string"!=typeof t)return t;var n=t;return i.each(e,f...
  function p (line 1) | function p(t){var e=n.get(t);if(null==e){for(var i=t.split("."),r=a.aria...
  function l (line 1) | function l(t){this.model=t}
  function y (line 1) | function y(t){return t._rawCount>65535?g:v}
  function b (line 1) | function b(t,e){i.each(x.concat(e.__wrappedMethods||[]),function(n){e.ha...
  function M (line 1) | function M(t,e,n,i,a){var r=p[e.type],o=i-1,s=e.name,l=t[s][o];if(l&&l.l...
  function I (line 1) | function I(t){var e=t._invertedIndicesMap;i.each(e,function(n,i){var a=t...
  function A (line 1) | function A(t,e,n){var i;if(null!=e){var a=t._chunkSize,r=Math.floor(n/a)...
  function T (line 1) | function T(t){return t}
  function C (line 1) | function C(t){return t<this._count&&t>=0?this._indices[t]:-1}
  function D (line 1) | function D(t,e){var n=t._idList[e];return null==n&&(n=A(t,t._idDimIdx,e)...
  function L (line 1) | function L(t){return i.isArray(t)||(t=[t]),t}
  function P (line 1) | function P(t,e){var n=t.dimensions,a=new w(i.map(n,t.getDimensionInfo,t)...
  function k (line 1) | function k(t){for(var e,n,i=new Array(t.length),a=0;a<t.length;a++)i[a]=...
  function O (line 1) | function O(){return[1/0,-1/0]}
  function I (line 1) | function I(t,e){t._seriesIndicesMap=h(t._seriesIndices=o(e,function(t){r...
  function A (line 1) | function A(t,e){return e.hasOwnProperty("subType")?r(t,function(t){retur...
  function a (line 1) | function a(t,e){i.call(this,t,e,["filter"],"__filter_in_use__","_shadowD...
  function r (line 1) | function r(t){return t&&(t.shadowBlur||t.shadowOffsetX||t.shadowOffsetY|...
  function h (line 1) | function h(t,e){var n,a=d(t,"labels"),r=l(e),o=f(a,r);return o||p(a,r,{l...
  function d (line 1) | function d(t,e){return c(t)[e]||(c(t)[e]=[])}
  function f (line 1) | function f(t,e){for(var n=0;n<t.length;n++)if(t[n].key===e)return t[n].v...
  function p (line 1) | function p(t,e,n){return t.push({key:e,value:n}),n}
  function g (line 1) | function g(t,e,n){var i=s(t),a=t.scale,r=a.getExtent(),o=t.getLabelModel...
  function m (line 1) | function m(t,e,n){var a=t.scale,r=s(t),o=[];return i.each(a.getTicks(),f...
  function o (line 1) | function o(t,e){i.call(this,t,e,"clipPath","__clippath_in_use__")}
  function n (line 1) | function n(){this.on("mousedown",this._dragStart,this),this.on("mousemov...
  function i (line 1) | function i(t,e){return{target:t,topTarget:e&&e.topTarget}}
  function n (line 1) | function n(t){return t instanceof Array||(t=[t,t]),t}
  function s (line 1) | function s(t,e,n,i){return n=n||{},i||!a.canvasSupported?l(t,e,n):a.brow...
  function l (line 1) | function l(t,e,n){var i=function(t){return t.getBoundingClientRect?t.get...
  function l (line 1) | function l(){this.group=new i.Group}
  function u (line 1) | function u(t,e,n,i){var a=n.type,r=new(0,o[a.charAt(0).toUpperCase()+a.s...
  function c (line 1) | function c(t,e){var n=t&&t.parent;n&&("group"===t.type&&t.traverse(funct...
  function h (line 1) | function h(t,e){var n;return a.each(e,function(e){null!=t[e]&&"auto"!==t...
  function c (line 1) | function c(t){return function(e,n,i,a){var o=this._range,s=o.slice(),l=e...
  function S (line 1) | function S(t){for(var e=t.pop();t.length;){var n=t.pop();n&&(f.isInstanc...
  function M (line 1) | function M(t,e){return t.dispatchAction||a.bind(e.dispatchAction,e)}
  function I (line 1) | function I(t){return"center"===t||"middle"===t}
  function d (line 1) | function d(t,e,n){var i=this._targetInfoList=[],a={},r=g(e,t);s(m,functi...
  function p (line 1) | function p(t){return t[0]>t[1]&&t.reverse(),t}
  function g (line 1) | function g(t,e){return r.parseFinder(t,e,{includeMainTypes:h})}
  function _ (line 1) | function _(t,e,n,a){var r=n.getAxis(["x","y"][t]),o=p(i.map([0,1],functi...
  function w (line 1) | function w(t,e,n,i){return[e[0]-i[t]*n[0],e[1]-i[t]*n[1]]}
  function S (line 1) | function S(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}
  function a (line 1) | function a(t,e,n,i,a,r,o){function s(e,n,i,a){for(var r=e;r<n;r++)if(t[r...
  function r (line 1) | function r(t){return"center"===t.position}
  function n (line 1) | function n(t){var n=this.visualMapModel;n.option.hoverLink&&this.api.dis...
  function O (line 8) | function O(t,e){return"hsl("+(360*Math.random()).toFixed()+","+(30*Math....
  function x (line 8) | function x(t,n,r){var l,u=a.get(n,r),c=[];return c[o]=t,c[s]=u,isNaN(t)|...
  function _ (line 8) | function _(t,e,n){var i=e.slice(),a=e.slice();i[o]+=r,a[o]-=r,n?t.push(i...
  function b (line 8) | function b(t,e){var n=e.slice(),i=e.slice();n[o]-=r,i[o]+=r,t.push(n,i)}
  function d (line 8) | function d(){this.group=new a,this.uid=r.getUID("viewChart"),this.render...
  function p (line 8) | function p(t,e){if(t&&(t.trigger(e),"group"===t.type))for(var n=0;n<t.ch...
  function g (line 8) | function g(t,e,n){var a=s.queryDataIndex(t,e);null!=a?i(s.normalizeToArr...
  function m (line 8) | function m(t){return h(t.model)}
  function v (line 8) | function v(t){var e=t.model,n=t.ecModel,i=t.api,a=t.payload,r=e.pipeline...
  function r (line 8) | function r(t,e){a.call(this,"radius",t,e),this.type="category"}
  function o (line 8) | function o(t){return i.create(t)}
  function h (line 8) | function h(t){var e,n,r=[],h=t.get("transitionDuration"),d=t.get("backgr...
  function d (line 8) | function d(t,e){if(o.wxa)return null;var n=document.createElement("div")...
  function c (line 8) | function c(t){return"_"+t+"Type"}
  function h (line 8) | function h(t,e,n){var a=e.getItemVisual(n,"color"),o=e.getItemVisual(n,t...
  function d (line 8) | function d(t,e){var n=e[0],i=e[1],a=e[2];t.x1=n[0],t.y1=n[1],t.x2=i[0],t...
  function f (line 8) | function f(t,e,n){s.Group.call(this),this._createLine(t,e,n)}
  function v (line 8) | function v(t,e){if(t.length===e.length){for(var n=0;n<t.length;n++){var ...
  function y (line 8) | function y(t){return"number"==typeof t?t:t?.5:0}
  function x (line 8) | function x(t){var e=t.getGlobalExtent();if(t.onBand){var n=t.getBandWidt...
  function _ (line 8) | function _(t,e,n,i){return"polar"===t.type?function(t,e,n,i){var a=t.get...
  function b (line 8) | function b(t,e,n){for(var i=e.getBaseAxis(),a="x"===i.dim||"radius"===i....
  function w (line 8) | function w(t,e,n){var a=t.get("showAllSymbol"),o="auto"===a;if(!a||o){va...
  function a (line 8) | function a(t){return this._axes[t]}
  function s (line 8) | function s(t,e,n){var i=null==e.x?0:e.x,a=null==e.x2?1:e.x2,r=null==e.y?...
  function l (line 8) | function l(t,e,n){var i=n.width,a=n.height,r=Math.min(i,a),o=null==e.x?....
  function f (line 8) | function f(t,e,n,i,a,r,c,f,p,g,m){var v=p*(u/180),y=l(v)*(t-n)/2+s(v)*(e...
  function m (line 8) | function m(t,e){var n=function(t){if(!t)return new a;for(var e,n=0,i=0,r...
  function i (line 8) | function i(){var t=new n(6);return a(t),t}
  function a (line 8) | function a(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}
  function r (line 8) | function r(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]...
  function o (line 8) | function o(t){this.group=new i.Group,this._symbolCtor=t||a}
  function l (line 8) | function l(t,e,n,i){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(i.isIgnore&&...
  function u (line 8) | function u(t){return null==t||r(t)||(t={isIgnore:t}),t||{}}
  function c (line 8) | function c(t){var e=t.hostModel;return{itemStyle:e.getModel("itemStyle")...
  function i (line 8) | function i(t){t.isGroup||(t.incremental=t.useHoverLayer=!0)}
  function l (line 8) | function l(t,e,n){var i=[1,1];i[t.getOrient().index]=0,r(e,n,{type:"box"...
  function c (line 8) | function c(t,e,n,a,r){var o=t.axis;if(!o.scale.isBlank()&&o.containData(...
  function h (line 8) | function h(t,e,n,i){t[e.key]={value:n,payloadBatch:i}}
  function d (line 8) | function d(t,e,n,i){var a=n.payloadBatch,o=e.axis,s=o.model,l=e.axisPoin...
  function f (line 8) | function f(t){var e=t.axis.model,n={},i=n.axisDim=t.axis.dim;return n.ax...
  function p (line 8) | function p(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}
  function r (line 8) | function r(t,e){"outside"===t.textPosition&&(t.textPosition=e)}
  function s (line 8) | function s(){--i||(e.length=0,n={},t&&t())}
  function p (line 8) | function p(t){return"mousewheel"===t&&u.browser.firefox?"DOMMouseScroll":t}
  function g (line 8) | function g(t){t._touching=!0,clearTimeout(t._touchTimer),t._touchTimer=s...
  function v (line 8) | function v(t){var e=t.pointerType;return"pen"===e||"touch"===e}
  function y (line 8) | function y(t){var e;function n(e,n){s.each(e,function(e){a(t,p(e),n._han...
  function f (line 8) | function f(t,e,n){n.style.text=null,r.updateProps(n,{shape:{width:0}},e,...
  function p (line 8) | function p(t,e,n){n.style.text=null,r.updateProps(n,{shape:{r:n.shape.r0...
  function m (line 8) | function m(t,e,n,i,s,l,u,c){var h=e.getItemVisual(n,"color"),d=e.getItem...
  function y (line 8) | function y(t,e,n){var i=t.getData(),a=[],r=i.getLayout("valueAxisHorizon...
  function l (line 8) | function l(t,e){return e.type||(e.data?"category":"value")}
  function h (line 8) | function h(t){this._api=t,this._timelineOptions=[],this._mediaList=[],th...
  function d (line 8) | function d(t,e,n){var a={width:e,height:n,aspectratio:e/n},r=!0;return i...
  function l (line 8) | function l(t,e){return e.get(t>0?r:o)}
  function u (line 8) | function u(t,e){return e.get(t>0?i:a)}
  function m (line 8) | function m(t){var e=t.detail.item;t.detail.drawn&&n.layoutInstance.ondra...
  function a (line 8) | function a(t){t&&i.util.each(n,function(e){t.hasOwnProperty(e)&&(t["text...
  function o (line 8) | function o(t){r(t,function(e,n){var i=[],a=[NaN,NaN],r=[e.stackResultDim...
  function x (line 8) | function x(t,e,n){for(var i,a=0,r=1/0,o=0,s=t.length;o<s;o++)(i=t[o].get...
  function _ (line 8) | function _(t,e,n,i,a){var r=e===n.width?0:1,o=1-r,s=["x","y"],l=["width"...
  function b (line 8) | function b(t){return t.get(m)?t.get(v):0}
  function a (line 8) | function a(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.rever...
  function r (line 8) | function r(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=...
  function d (line 8) | function d(t){return!(t>=1)&&(t=1),t}
  function o (line 8) | function o(){return e<t?e++:null}
  function s (line 8) | function s(){var r=e%a*n+Math.ceil(e/a),o=e>=t?null:r<i?r:e;return e++,o}
  function l (line 8) | function l(t,e,n,i,a,r){s.reset(n,i,a,r),t._callingProgress=e,t._calling...
  function x (line 8) | function x(t,e,n,i){return new s.Polygon({shape:{points:t},draggable:!!n...
  function _ (line 8) | function _(t){var e=t.get("hoverLinkOnHandle");return!!(null==e?t.get("r...
  function b (line 8) | function b(t){return"vertical"===t?"ns-resize":"ew-resize"}
  function c (line 8) | function c(t,e){var n=t.getItemVisual(e,"symbol")||"circle",i=t.getItemV...
  function h (line 8) | function h(e,n,i,r,o,s){i.removeAll();for(var l=0;l<n.length-1;l++){var ...
  function d (line 8) | function d(t){return r.map(t,function(t){return[i.cx,i.cy]})}
  function x (line 8) | function x(){o.attr("ignore",p)}
  function _ (line 8) | function _(){o.attr("ignore",f)}
  function n (line 8) | function n(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}
  function p (line 8) | function p(t){l[t].entryCount--,0===l[t].entryCount&&u.push(t)}
  function g (line 8) | function g(t){c[t]=!0,p(t)}
  function o (line 8) | function o(t,e){i.Group.call(this);var n=new i.Polygon,a=new i.Polyline,...
  function s (line 8) | function s(t,e){i.call(this,t,e,["linearGradient","radialGradient"],"__g...
  function s (line 8) | function s(t,e,n,i){(!i||i.$from!==t.id)&&this._brushController.setPanel...
  function s (line 8) | function s(t){this.categories=t.categories||[],this._needCollect=t.needC...
  function u (line 8) | function u(t){return t._map||(t._map=a(t.categories))}
  function c (line 8) | function c(t){return r(t)&&null!=t.value?t.value:t+""}
  function l (line 8) | function l(t,e){return a.merge({brushType:t.brushType,brushMode:t.brushM...
  function a (line 8) | function a(t,e){return i.map(["Radius","Angle"],function(n,i){var a=this...
  function l (line 8) | function l(t){return t.getId()}
  function u (line 8) | function u(a,o){var l=null!=a?e[a]:null,u=null!=o?n[o]:null,c=h(l,u,i,s)...
  function C (line 8) | function C(t,e,n,i,o,s,l,u,c,h){if(l){var d=l.getLayout();if(d&&d.isInVi...
  function M (line 8) | function M(t){y(t)&&(t=(new DOMParser).parseFromString(t,"text/xml"));fo...
  function I (line 8) | function I(){this._defs={},this._root=null,this._isDefine=!1,this._isTex...
  function C (line 8) | function C(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inherit...
  function D (line 8) | function D(t){for(var e=b(t).split(S),n=[],i=0;i<e.length;i+=2){var a=pa...
  function P (line 8) | function P(t,e,n,i){var a=e.__inheritedStyle||{},r="text"===e.type;if(1=...
  function O (line 8) | function O(t,e){var n=e&&t&&t.match(k);return n?e[b(n[1])]:t}
  function N (line 8) | function N(t,e,n){var i=e/t.width,a=n/t.height,r=Math.min(i,a);return{sc...
  function h (line 8) | function h(t,e,n){this._model=t,this.dimensions=[],this._indicatorAxes=i...
  function s (line 8) | function s(t){var e=Math.pow(10,Math.floor(Math.log(t)/Math.LN10)),n=t/e...
  function p (line 8) | function p(t,e){if("image"!==this.type){var n=this.style,i=this.shape;i&...
  function T (line 8) | function T(t){if(t){var e=l();return c(t,function(t,n){if(null==(t=m({},...
  function C (line 8) | function C(t,e,n,i){if(null==i&&(i=1/0),e===I)for(var a=0;a<n.length&&a<...
  function D (line 8) | function D(t,e,n,i,a,o){var s,l;if(p(t))return!1;if(i&&(l=i[o],l=f(l)?l....
  function T (line 8) | function T(t,e,n){var i=n%e.length;return t[i]=t[i]||[],i}
  function c (line 8) | function c(t){s.stop(this.event)}
  function h (line 8) | function h(){}
  function p (line 8) | function p(t,e,n){if(t[t.rectHover?"rectContain":"contain"](e,n)){for(va...
  function o (line 8) | function o(t,e){n[e]=n[e]||[],n[e][r]=i.dataToPoint(t,r)}
  function u (line 8) | function u(t){return t.get("stack")||s+t.seriesIndex}
  function c (line 8) | function c(t){return t.dim+t.index}
  function h (line 8) | function h(t,e){var n=[];return e.eachSeriesByType(t,function(t){m(t)&&!...
  function d (line 8) | function d(t){var e=[];return i.each(t,function(t){var n=t.getData(),i=t...
  function f (line 8) | function f(t){var e={};i.each(t,function(t,n){var i=t.axisKey,a=t.bandWi...
  function p (line 8) | function p(t,e,n){if(t&&e){var i=t[c(e)];return null!=i&&null!=n&&(i=i[u...
  function m (line 8) | function m(t){return t.coordinateSystem&&"cartesian2d"===t.coordinateSys...
  function v (line 8) | function v(t){return t.pipelineContext&&t.pipelineContext.large}
  function y (line 8) | function y(t,e,n){var i,a,r=e.getGlobalExtent();r[0]>r[1]?(i=r[1],a=r[0]...
  function p (line 8) | function p(t,e,n,i){var r=t.getItemLayout(e),o=n.get("symbolRepeat"),s=n...
  function g (line 8) | function g(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}
  function m (line 8) | function m(t){var e=t.symbolPatternSize,n=o(t.symbolType,-e/2,-e/2,e,e,t...
  function v (line 8) | function v(t,e,n,i){var a=t.__pictorialBundle,r=n.symbolSize,o=n.valueLi...
  function y (line 8) | function y(t,e,n,i){var a=t.__pictorialBundle,r=t.__pictorialMainPath;r?...
  function x (line 8) | function x(t,e,n){var i=a.extend({},e.barRectShape),o=t.__pictorialBarRe...
  function _ (line 8) | function _(t,e,n,i){if(n.symbolClip){var o=t.__pictorialClipPath,s=a.ext...
  function b (line 8) | function b(t,e){var n=t.getItemModel(e);return n.getAnimationDelayParams...
  function w (line 8) | function w(t){return{index:t.__pictorialAnimationIndex,count:t.__pictori...
  function S (line 8) | function S(){return this.parentModel.isAnimationEnabled()&&!!this.getSha...
  function M (line 8) | function M(t,e){t.off("emphasis").off("normal");var n=e.symbolScale.slic...
  function I (line 8) | function I(t,e,n,i){var a=new r.Group,o=new r.Group;return a.add(o),a.__...
  function A (line 8) | function A(t,e,n,i){var o=i.__pictorialBarRect;o&&(o.style.text=null);va...
  function T (line 8) | function T(t,e){return[t.getItemVisual(e.dataIndex,"symbol")||"none",!!e...
  function C (line 8) | function C(t,e,n){a.each(t.__pictorialBundle.children(),function(i){i!==...
  function D (line 8) | function D(t,e,n,i,a,o){e&&t.attr(e),i.symbolClip&&!a?n&&t.attr(n):n&&r[...
  function L (line 8) | function L(t,e,n){var i=n.color,o=n.dataIndex,s=n.itemModel,l=s.getModel...
  function P (line 8) | function P(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}
  function o (line 8) | function o(t){return t.get("stack")||"__ec_stack_"+t.seriesIndex}
  function s (line 8) | function s(t){return t.dim}
  function a (line 8) | function a(t){return t[i]||(t[i]={})}
  function l (line 8) | function l(t,e,n){return t&&t[e]&&(i.isObject(t[e])?t[e].hasOwnProperty(...
  function l (line 8) | function l(i,r){var o=a.getRepresentValue({interval:i});r||(r=a.getValue...
  function c (line 8) | function c(t,e){var n=t.inverse;("vertical"===t.orient?!n:n)&&e.reverse()}
  function p (line 8) | function p(t,e){var n,i,l=t.svgXML;try{i=(n=l&&a(l,{ignoreViewBox:!0,ign...
  function a (line 8) | function a(t,e){return e=e||[0,0],i.map(["x","y"],function(n,i){var a=th...
  function p (line 8) | function p(t,e){if(!t.isDisposed()){var n=t.getZr();n[d]=!0,t.dispatchAc...
  function g (line 8) | function g(t,e,n,i){for(var a=0,r=e.length;a<r;a++){var o=e[a];if(t[o.br...
  function m (line 8) | function m(t){var e=t.brushSelector;if(a.isString(e)){var n=[];return a....
  function w (line 8) | function w(t){return"all"===d||f[t]}
  function S (line 8) | function S(t){return!!t.length}
  function y (line 8) | function y(t){return new r(t[0][0],t[1][0],t[0][1]-t[0][0],t[1][1]-t[1][...
  function r (line 8) | function r(t,e,n){if(t.count())for(var a,r=e.coordinateSystem,o=e.getLay...
  function n (line 8) | function n(t){return t instanceof Array||(t=[t,t]),t}
  function w (line 8) | function w(t){a.call(this),this._zr=t,this.group=new r.Group,this._brush...
  function S (line 8) | function S(t,e){var n=K[e.brushType].createCover(t,e);return n.__brushOp...
  function M (line 8) | function M(t,e){var n=C(e);return n.endCreating&&(n.endCreating(t,e),A(e...
  function I (line 8) | function I(t,e){var n=e.__brushOption;C(e).updateCoverShape(t,e,n.range,n)}
  function A (line 8) | function A(t,e){var n=e.z;null==n&&(n=p),t.traverse(function(t){t.z=n,t....
  function T (line 8) | function T(t,e){C(e).updateCommon(t,e),I(t,e)}
  function C (line 8) | function C(t){return K[t.__brushOption.brushType]}
  function D (line 8) | function D(t,e,n){var i,a=t._panels;if(!a)return!0;var r=t._transform;re...
  function L (line 8) | function L(t,e){var n=t._panels;if(!n)return!0;var i=e.__brushOption.pan...
  function P (line 8) | function P(t){var e=t._covers,n=e.length;return u(e,function(e){t.group....
  function k (line 8) | function k(t,e){var n=c(t._covers,function(t){var e=t.__brushOption,n=i....
  function O (line 8) | function O(t){var e=t.length-1;return e<0&&(e=0),[t[0],t[e]]}
  function R (line 8) | function R(t,e,n,i){var a=new r.Group;return a.add(new r.Rect({name:"mai...
  function E (line 8) | function E(t,e,n,i){var a=i.brushStyle.lineWidth||0,r=d(a,m),o=n[0][0],s...
  function N (line 8) | function N(t,e){var n=e.__brushOption,i=n.transformable,a=e.childAt(0);a...
  function z (line 8) | function z(t,e,n,i,a,r,o){var s,l,u,c,f,p=e.childOfName(n);p&&p.setShape...
  function V (line 8) | function V(t){return i.defaults({strokeNoScale:!0},t.brushStyle)}
  function B (line 8) | function B(t,e,n,i){var a=[h(t,n),h(e,i)],r=[d(t,n),d(e,i)];return[[a[0]...
  function H (line 8) | function H(t,e,n,i,a,r,o,s){var l=i.__brushOption,c=t(l.range),h=F(n,r,o...
  function G (line 8) | function G(t,e,n,i,a){var r=e.__brushOption.range,o=F(t,n,i);u(r,functio...
  function F (line 8) | function F(t,e,n){var i=t.group,a=i.transformCoordToLocal(e,n),r=i.trans...
  function W (line 8) | function W(t,e,n){var a=L(t,e);return a&&!0!==a?a.clipPath(n,t._transfor...
  function q (line 8) | function q(t){var e=t.event;e.preventDefault&&e.preventDefault()}
  function Y (line 8) | function Y(t,e,n){return t.childOfName("main").contain(e,n)}
  function U (line 8) | function U(t,e,n,a){var r,o=t._creatingCover,s=t._creatingPanel,l=t._bru...
  function X (line 8) | function X(t,e){return"auto"===t?e.defaultBrushType:t}
  function l (line 8) | function l(t,n){return(null!=t.id?t.id:e+n)+"-"+t.brushType}
  function u (line 8) | function u(e,i){var s=t[e];if(null!=i&&n[i]===o)a[e]=n[i];else{var l=a[e...
  function j (line 8) | function j(t){if(this._dragging){q(t);var e=U(this,t,this.group.transfor...
  function J (line 8) | function J(t){return{createCover:function(e,n){return R(l(H,function(e){...
  function r (line 8) | function r(t){this._zr=t.getZr(),this._show=!1,this._hideTimeout}
  function v (line 8) | function v(t){var e=t.position;t.origin=[u[0][0]-e[0],u[1][0]-e[1]]}
  function y (line 8) | function y(t){return[[t.x,t.x+t.width],[t.y,t.y+t.height]]}
  function x (line 8) | function x(t,e,n,i,a){t[i]+=n[i][a]-e[i][a]}
  function g (line 8) | function g(t,n,d,f){if(t){var p=function(t,e,n,r){return o.makePath(t.ge...
  function y (line 8) | function y(t,e,n,a,r,o){var s=e.get("color");if(r)r.setColor(s),n.add(r)...
  function x (line 8) | function x(t,e,n,i,a){if(!t.dragging){var r=i.getModel("checkpointStyle"...
  function n (line 8) | function n(t,e){var n=t[e]-t[1-e];return{span:Math.abs(n),sign:n>0?-1:n<...
  function i (line 8) | function i(t,e){return Math.min(e[1],Math.max(e[0],t))}
  function o (line 8) | function o(t){return t&&t.__esModule?t:{default:t}}
  function l (line 8) | function l(t,e,n){a.Group.call(this);var i=new a.Sector({z2:o});i.series...
  function I (line 8) | function I(t){var e=s.get(t);return null==e?o.get(t):e}
  function o (line 8) | function o(t,e){return!!e&&e===t.getCalculationInfo("stackedDimension")}
  function b (line 8) | function b(t){if(t){t.font=c.makeFont(t);var e=t.textAlign;"middle"===e&...
  function w (line 8) | function w(t,e,n,i,a){if(n&&e.textRotation){var r=e.textOrigin;"center"=...
  function S (line 8) | function S(t,e,n,i,o,s,l,u){var c=i.rich[n.styleName]||{};c.text=n.text;...
  function M (line 8) | function M(t){return!!(t.textBackgroundColor||t.textBorderWidth&&t.textB...
  function I (line 8) | function I(t,e,n,i,a,r,o){var s=n.textBackgroundColor,c=n.textBorderWidt...
  function A (line 8) | function A(t,e){e.image=t}
  function T (line 8) | function T(t,e,n){var i=e.x||0,a=e.y||0,r=e.textAlign,o=e.textVerticalAl...
  function C (line 8) | function C(t,e,n){return t[e]=f(t,e,n),t[e]}
  function D (line 8) | function D(t,e){return null==t||e<=0||"transparent"===t||"none"===t?null...
  function L (line 8) | function L(t){return null==t||"none"===t?null:t.image||t.colorStops?"#00...
  function P (line 8) | function P(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloa...
  function k (line 8) | function k(t,e,n){return"right"===e?t-n[1]:"center"===e?t+n[3]/2-n[1]/2:...
  function a (line 8) | function a(t,e,n,i,a,r){var o=t._$handlers;if("function"==typeof n&&(a=i...
  function a (line 8) | function a(t){t.eachEdge(function(t){var e=t.getModel().get("lineStyle.c...
  function r (line 8) | function r(){this._coordinateSystems=[]}
  function f (line 8) | function f(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.source...
  function o (line 8) | function o(t,e){t=t.slice();var n=i.map(t,a.capitalFirst);e=(e||[]).slic...
  function l (line 8) | function l(t){!function(t,e){return i.indexOf(e.nodes,t)>=0}(t,s)&&funct...
  function a (line 8) | function a(t,a){a.nodes.push(t),e(function(e){i.each(n(t,e)||[],function...
  function h (line 8) | function h(t){var e={};return u(["start","end","startValue","endValue","...
  function d (line 8) | function d(t,e){var n=t._rangePropMode,i=t.get("rangeMode");u([["start",...
  function s (line 8) | function s(t){return isNaN(+t.cpx1)||isNaN(+t.cpy1)}
  function c (line 8) | function c(t,e){return e&&("string"==typeof e?t=e.replace("{value}",null...
  function y (line 8) | function y(t,e,n){this._axesMap=i.createHashMap(),this._axesLayout={},th...
  function x (line 8) | function x(t,e){return d(f(t,e[0]),e[1])}
  function c (line 8) | function c(t,e){var n=t.get("boundingCoords");if(null!=n){var i=n[0],a=n...
  function h (line 8) | function h(t,e){a.each(e.get("geoCoord"),function(e,n){t.addGeoCoord(n,e...
  function o (line 8) | function o(t){a.call(this,t),this._displayables=[],this._temporaryDispla...
  function h (line 8) | function h(t){var e,n,i=function(t){var e={},n=[],i=[];return t.eachRawS...
  function d (line 8) | function d(t){return t.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}
  function p (line 8) | function p(t,e){var n=t.split(new RegExp("\n*"+u+"\n*","g")),i={series:[...
  function g (line 8) | function g(t){this._dom=null,this.model=t}
  function M (line 8) | function M(){n.removeChild(o),S._dom=null}
  function u (line 8) | function u(t,e,n){i.Group.call(this),this.add(this.createLine(t,e,n)),th...
  function s (line 8) | function s(){this.group=new i.Group}
  function l (line 8) | function l(t,e,n){var i=e.coordinateSystem;t.each(function(a){var o,s=t....
  function u (line 8) | function u(t){return t instanceof Array?t:null==t?[]:[t]}
  function c (line 8) | function c(t){return o(t)&&t.id&&0===(t.id+"").indexOf("\0_ec_\0")}
  function d (line 8) | function d(t,e){return t&&t.hasOwnProperty(e)}
  function a (line 8) | function a(t,e,n){for(var i=0,a=t.length;i<a;i++)for(var r=t[i].seriesId...
  function r (line 8) | function r(t,e){var n=[];for(var i in t)if(t.hasOwnProperty(i)&&null!=t[...
  function x (line 8) | function x(t){var e={componentType:t.mainType,componentIndex:t.component...
  function S (line 8) | function S(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("tr...
  function M (line 8) | function M(t){t&&(t.ignore=!0)}
  function I (line 8) | function I(t,e,n){var i=t&&t.getBoundingRect().clone(),a=e&&e.getBoundin...
  function A (line 8) | function A(t){return"middle"===t||"center"===t}
  function p (line 8) | function p(t,e,n,i){this.ecInstance=t,this.api=e,this.unfinished;n=this....
  function m (line 8) | function m(t,e,n,i,r){var o;function s(t,e){return t.setDirty&&(!t.dirty...
  function c (line 8) | function c(n){var o=n.uid,s=r.get(o)||r.set(o,u({plan:w,reset:S,count:A}...
  function p (line 8) | function p(e){var n=e.uid,i=l.get(n);i||(i=l.set(n,u({reset:x,onDirty:b}...
  function y (line 8) | function y(t){t.overallReset(t.ecModel,t.api,t.payload)}
  function x (line 8) | function x(t,e){return t.overallProgress&&_}
  function _ (line 8) | function _(){this.agent.dirty(),this.getDownstream().dirty()}
  function b (line 8) | function b(){this.agent&&this.agent.dirty()}
  function w (line 8) | function w(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}
  function S (line 8) | function S(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDef...
  function I (line 8) | function I(t){return function(e,n){var i=n.data,a=n.resetDefines[t];if(a...
  function A (line 8) | function A(t){return t.data.count()}
  function T (line 8) | function T(t,e,n){var i=e.uid,a=t._pipelineMap.get(i);!a.head&&(a.head=n...
  function P (line 8) | function P(t,e){for(var n in e.prototype)t[n]=l}
  function s (line 8) | function s(t,e,n,i,o,s){var l=[],u=r(e,i)?e.getCalculationInfo("stackRes...
  function c (line 8) | function c(t,e,n,i){var a={};return null!=t.valueIndex||null!=t.valueDim...
  function h (line 8) | function h(t,e,n){if("average"===n){var i=0,a=0;return t.each(e,function...
  function A (line 8) | function A(t,n){var i=[];return i[l]=n,i[c]=t,isNaN(n)||isNaN(t)?[NaN,Na...
  function T (line 8) | function T(t,e,n){var r=e.slice(),o=e.slice();r[l]=i(r[l]+a/2,1,!1),o[l]...
  function C (line 8) | function C(t,e,n){var i=A(t,n),r=A(e,n);return i[l]-=a/2,r[l]-=a/2,{x:i[...
  function D (line 8) | function D(t){return t[l]=i(t[l],1),t}
  function u (line 8) | function u(t,e,n,i,a){return n>i?-1:n<i?1:e>0?t.get(a,e-1)<=i?1:-1:1}
  function l (line 8) | function l(t,e,n,i){for(var a=e.targetVisuals[i],r=o.prepareVisualTypes(...
  function d (line 8) | function d(e){a._firstDayOfMonth.push(r.getDateInfo(e)),a._firstDayPoint...
  function c (line 8) | function c(t){return t===l[0]?"min":t===l[1]?"max":(+t).toFixed(Math.min...
  function u (line 8) | function u(n){f(e.color)&&!n.inRange&&(n.inRange={color:e.color.slice()....
  function h (line 8) | function h(t,n){var u=t+"DataIndex",c=a.createIcon(e.get("pageIcons",!0)...
  function _ (line 8) | function _(t){if(t){var e=t.getBoundingRect(),n=e[o]+t.position[a];retur...
  function b (line 8) | function b(t,e){return t.e>=e&&t.s<=e+i}
  function o (line 8) | function o(t,e,n,i,r){a.each(t,function(t){var a,o,s,l=0,u=t.length;if("...
  function s (line 8) | function s(t,e,n){a.each(t.slice().reverse(),function(t){a.each(t,functi...
  function l (line 8) | function l(t,e){return c(t.node2,e)*t.getValue()}
  function u (line 8) | function u(t,e){return c(t.node1,e)*t.getValue()}
  function c (line 8) | function c(t,e){return"vertical"===e?t.getLayout().x+t.getLayout().dx/2:...
  function h (line 8) | function h(t){return t.getValue()}
  function d (line 8) | function d(t,e,n){for(var i=0,a=t.length,r=-1;++r<a;){var o=+e.call(t,t[...
  function f (line 8) | function f(t,e,n){a.each(t,function(t){a.each(t,function(t){if(t.inEdges...
  function r (line 8) | function r(t){return i.getPrecisionSafe(t)+2}
  function o (line 8) | function o(t,e,n){t[e]=Math.max(Math.min(t[e],n[1]),n[0])}
  function s (line 8) | function s(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]...
  function o (line 8) | function o(t){return Math.floor(Math.log(t)/Math.LN10)}
  function m (line 8) | function m(t,e){return c(t,u(e))}
  function u (line 8) | function u(t,e){return a.defaults({show:e},t)}
  function l (line 8) | function l(t){var e=t&&t.itemStyle;if(e)for(var n=0,a=s.length;n<a;n++){...
  function u (line 8) | function u(t,e,n){if(t&&t[e]&&(t[e].normal||t[e].emphasis)){var a=t[e].n...
  function c (line 8) | function c(t){u(t,"itemStyle"),u(t,"lineStyle"),u(t,"areaStyle"),u(t,"la...
  function h (line 8) | function h(t,e){var n=o(t)&&t[e],i=o(n)&&n.textStyle;if(i)for(var r=0,s=...
  function d (line 8) | function d(t){t&&(c(t),h(t,"label"),t.emphasis&&h(t.emphasis,"label"))}
  function f (line 8) | function f(t){return i.isArray(t)?t:t?[t]:[]}
  function p (line 8) | function p(t){return(i.isArray(t)?t[0]:t)||{}}
  function i (line 8) | function i(t,e,i){var a=n(2*t);return(a+n(e))%2==0?a/2:(a+(i?1:-1))/2}
  function c (line 8) | function c(t,e){var n=t.cellSize;i.isArray(n)?1===n.length&&(n[1]=n[0]):...
  function a (line 8) | function a(t){this._target=t.target,this._life=t.life||1e3,this._delay=t...
  function u (line 8) | function u(t){return(t=this.parsePath(t))&&"label"===t[0]?r:t&&"emphasis...
  function c (line 8) | function c(t,e,n,i,a){var s=h(n.get("value"),e.axis,e.ecModel,n.get("ser...
  function h (line 8) | function h(t,e,n,a,r){t=e.scale.parse(t);var o=e.scale.getLabel(t,{preci...
  function d (line 8) | function d(t,e,n){var i=s.create();return s.rotate(i,i,n.rotation),s.tra...
  function u (line 8) | function u(t){return o[t]}
  function c (line 8) | function c(t,e){o[t]=e}
  function s (line 8) | function s(t){return"category"===t.get("type")}
  function r (line 8) | function r(t){var e=["x","y"],n=["width","height"];return{point:function...
  function o (line 8) | function o(t,e){return e[0]<=t&&t<=e[1]}
  function s (line 8) | function s(t,e,n,i,a){for(var r=0,o=a[a.length-1];r<a.length;r++){var s=...
  function l (line 8) | function l(t,e,n,i,a,r,o,s){var l,c=u(n-t,a-o,i-e,r-s);if((l=c)<=1e-6&&l...
  function u (line 8) | function u(t,e,n,i){return t*i-e*n}

FILE: kb-dms-backend/server/src/main/resources/static/static/js/3.c32696bce67f93ff9efe.js
  function s (line 1) | function s(t){return t&&t.__esModule?t:{default:t}}
  function u (line 1) | function u(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. L...
  function c (line 1) | function c(t,e,n){for(var r,o,s=[],l=e;l<n;l+=3)r=(t[l]<<16&16711680)+(t...
  function s (line 8) | function s(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}
  function l (line 8) | function l(t,e){if(s()<e)throw new RangeError("Invalid typed array lengt...
  function a (line 8) | function a(t,e,n){if(!(a.TYPED_ARRAY_SUPPORT||this instanceof a))return ...
  function u (line 8) | function u(t,e,n,i){if("number"==typeof e)throw new TypeError('"value" a...
  function c (line 8) | function c(t){if("number"!=typeof t)throw new TypeError('"size" argument...
  function h (line 8) | function h(t,e){if(c(e),t=l(t,e<0?0:0|f(e)),!a.TYPED_ARRAY_SUPPORT)for(v...
  function d (line 8) | function d(t,e){var n=e.length<0?0:0|f(e.length);t=l(t,n);for(var i=0;i<...
  function f (line 8) | function f(t){if(t>=s())throw new RangeError("Attempt to allocate Buffer...
  function p (line 8) | function p(t,e){if(a.isBuffer(t))return t.length;if("undefined"!=typeof ...
  function g (line 8) | function g(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}
  function m (line 8) | function m(t,e,n,i,r){if(0===t.length)return-1;if("string"==typeof n?(i=...
  function y (line 8) | function y(t,e,n,i,r){var o,s=1,l=t.length,a=e.length;if(void 0!==i&&("u...
  function v (line 8) | function v(t,e,n,i){n=Number(n)||0;var r=t.length-n;i?(i=Number(i))>r&&(...
  function b (line 8) | function b(t,e,n,i){return L(H(e,t.length-n),t,n,i)}
  function _ (line 8) | function _(t,e,n,i){return L(function(t){for(var e=[],n=0;n<t.length;++n...
  function w (line 8) | function w(t,e,n,i){return _(t,e,n,i)}
  function C (line 8) | function C(t,e,n,i){return L($(e),t,n,i)}
  function x (line 8) | function x(t,e,n,i){return L(function(t,e){for(var n,i,r,o=[],s=0;s<t.le...
  function k (line 8) | function k(t,e,n){return 0===e&&n===t.length?i.fromByteArray(t):i.fromBy...
  function S (line 8) | function S(t,e,n){n=Math.min(t.length,n);for(var i=[],r=e;r<n;){var o,s,...
  function A (line 8) | function A(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;r<n;++r)i+...
  function T (line 8) | function T(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;r<n;++r)i+...
  function R (line 8) | function R(t,e,n){var i=t.length;(!e||e<0)&&(e=0),(!n||n<0||n>i)&&(n=i);...
  function O (line 8) | function O(t,e,n){for(var i=t.slice(e,n),r="",o=0;o<i.length;o+=2)r+=Str...
  function P (line 8) | function P(t,e,n){if(t%1!=0||t<0)throw new RangeError("offset is not uin...
  function M (line 8) | function M(t,e,n,i,r,o){if(!a.isBuffer(t))throw new TypeError('"buffer" ...
  function D (line 8) | function D(t,e,n,i){e<0&&(e=65535+e+1);for(var r=0,o=Math.min(t.length-n...
  function z (line 8) | function z(t,e,n,i){e<0&&(e=4294967295+e+1);for(var r=0,o=Math.min(t.len...
  function B (line 8) | function B(t,e,n,i,r,o){if(n+i>t.length)throw new RangeError("Index out ...
  function I (line 8) | function I(t,e,n,i,o){return o||B(t,0,n,4),r.write(t,e,n,i,23,4),n+4}
  function q (line 8) | function q(t,e,n,i,o){return o||B(t,0,n,8),r.write(t,e,n,i,52,8),n+8}
  function N (line 8) | function N(t){return t<16?"0"+t.toString(16):t.toString(16)}
  function H (line 8) | function H(t,e){var n;e=e||1/0;for(var i=t.length,r=null,o=[],s=0;s<i;++...
  function $ (line 8) | function $(t){return i.toByteArray(function(t){if((t=function(t){return ...
  function L (line 8) | function L(t,e,n,i){for(var r=0;r<i&&!(r+n>=e.length||r>=t.length);++r)e...
  function e (line 8) | function e(t,e){return null!=e&&t instanceof e}
  function s (line 8) | function s(l,u,c,h,d){"object"===(void 0===u?"undefined":n(u))&&(c=u.dep...
  function l (line 8) | function l(t){return Object.prototype.toString.call(t)}
  function a (line 8) | function a(t){var e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),...
  function u (line 8) | function u(t){return t&&t.__esModule?t:{default:t}}
  method isComplexTitle (line 8) | isComplexTitle(){return Array.isArray(this.internalTitleRows)&&this.inte...
  method getTableHeight (line 8) | getTableHeight(){return this.isTableEmpty?this.tableEmptyHeight:this.int...
  method leftViewWidth (line 8) | leftViewWidth(){var t=0;return this.hasFrozenColumn&&(t=this.frozenCols....
  method rightViewWidth (line 8) | rightViewWidth(){let t=this.internalWidth-this.leftViewWidth;return this...
  method bodyViewHeight (line 8) | bodyViewHeight(){var t;return t=this.internalTitleRows.length>0?this.int...
  method totalColumnsWidth (line 8) | totalColumnsWidth(){return this.internalColumns.reduce(function(t,e){ret...
  method totalNoFrozenColumnsWidth (line 8) | totalNoFrozenColumnsWidth(){return this.noFrozenCols.reduce(function(t,e...
  method getColumnsFields (line 8) | getColumnsFields(){return this.internalColumns.map(t=>t.field)}
  method getNoFrozenColumnsFields (line 8) | getNoFrozenColumnsFields(){return this.internalColumns.filter(t=>!t.isFr...
  method getFrozenColumnsFields (line 8) | getFrozenColumnsFields(){return this.internalColumns.filter(t=>t.isFroze...
  method customCompFunc (line 8) | customCompFunc(t){this.$emit("on-custom-comp",t)}
  method trBgColor (line 8) | trBgColor(t){if(this.evenBgColor&&this.evenBgColor.length>0||this.oddBgC...
  method setColumnCellClassName (line 8) | setColumnCellClassName(t,e,n){return this.columnCellClassName&&this.colu...
  method titleColumnWidth (line 8) | titleColumnWidth(t){var e=0;Array.isArray(t)?e=this.internalColumns.filt...
  method titleColumnHeight (line 8) | titleColumnHeight(t){return t&&t>0?this.titleRowHeight*t:this.titleRowHe...
  method overflowTitle (line 8) | overflowTitle(t,e,n){var i="";if("function"==typeof n.formatter){var r=n...
  method getTotalColumnsHeight (line 8) | getTotalColumnsHeight(){var t=this.internalTitleRows&&this.internalTitle...
  method initTableWidth (line 8) | initTableWidth(){this.internalWidth=this.isHorizontalResize?this.maxWidt...
  method initColumns (line 8) | initColumns(){this.internalHeight=this.height,this.footerTotalHeight=thi...
  method initView (line 8) | initView(){this.internalWidth&&this.internalWidth>0||this.columns&&this....
  method initInternalTableData (line 8) | initInternalTableData(){return Array.isArray(this.tableData)?I()(this.ta...
  method resize (line 8) | resize(){this.resizeTimer=setTimeout(t=>{this.tableResize()})}
  method created (line 8) | created(){this.internalTableData=this.initInternalTableData(this.tableDa...
  method mounted (line 8) | mounted(){this.setScrollbarWidth(),this.tableEmpty(),this.tableResize(),...
  method beforeDestroy (line 8) | beforeDestroy(){clearTimeout(this.resizeTimer)}
  method render (line 8) | render(t){return t("div",{staticClass:"v-table-views v-table-class",styl...
  function n (line 8) | function n(t,e){for(var n=0,i=t.length-1;i>=0;i--){var r=t[i];"."===r?t....
  function i (line 8) | function i(t,e){if(t.filter)return t.filter(e);for(var n=[],i=0;i<t.leng...
  function i (line 8) | function i(t){for(var e=0;e<t.length&&""===t[e];e++);for(var n=t.length-...
  function f (line 8) | function f(){this.yy={}}
  function a (line 8) | function a(t,e,n,i){var o="",a=!0,u=!1,c=void 0;try{for(var h,d=s()(r()(...
  function u (line 8) | function u(t,e,n){var i="DELETE FROM "+t+" WHERE ",r=!0,o=!1;if(e&&e.map...
  function c (line 8) | function c(t,e,n){for(var i="INSERT INTO "+n+" (",r=!0,o=0;o<e.length;o+...

FILE: kb-dms-backend/server/src/main/resources/static/static/js/4.cd83619a6b427be7d142.js
  function C (line 1) | function C(t){return t&&t.__esModule?t:{default:t}}
  function o (line 1) | function o(t,e,r){var i={kw:t,status:e,type:r};return Object(s.a)({url:"...
  function a (line 1) | function a(t,e,r){var i={name:e,status:r};return Object(s.a)({url:"/api/...
  function f (line 1) | function f(t){if(t===window)return{top:0,left:0};var e=t.getBoundingClie...
  function s (line 1) | function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbo...
  function r (line 1) | function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbo...

FILE: kb-dms-backend/server/src/main/resources/static/static/js/manifest.34de0bce1187b89041d6.js
  function o (line 1) | function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{...
  function i (line 1) | function i(){c.onerror=c.onload=null,clearTimeout(f);var n=t[e];0!==n&&(...

FILE: kb-dms-backend/server/src/main/resources/static/static/js/vendor.5404de12be6487c3db8e.js
  function n (line 6) | function n(t,e){0}
  function r (line 6) | function r(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}
  function o (line 6) | function o(t,e){return e instanceof t||e&&(e.name===t.name||e._name===t....
  function s (line 6) | function s(t,e){for(var i in e)t[i]=e[i];return t}
  function f (line 6) | function f(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.spl...
  function p (line 6) | function p(t){var e=t?Object.keys(t).map(function(e){var i=t[e];if(void ...
  function v (line 6) | function v(t,e,i,n){var r=n&&n.options.stringifyQuery,o=e.query||{};try{...
  function g (line 6) | function g(t){if(Array.isArray(t))return t.map(g);if(t&&"object"==typeof...
  function b (line 6) | function b(t,e){var i=t.path,n=t.query;void 0===n&&(n={});var r=t.hash;r...
  function _ (line 6) | function _(t,e){return e===y?t===e:!!e&&(t.path&&e.path?t.path.replace(m...
  function w (line 6) | function w(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t...
  function x (line 6) | function x(t,e,i){var n=t.charAt(0);if("/"===n)return t;if("?"===n||"#"=...
  function C (line 6) | function C(t){return t.replace(/\/\//g,"/")}
  function E (line 6) | function E(t,e){for(var i,n=[],r=0,o=0,s="",a=e&&e.delimiter||"/";null!=...
  function O (line 6) | function O(t){return encodeURI(t).replace(/[\/?#]/g,function(t){return"%...
  function L (line 6) | function L(t){for(var e=new Array(t.length),i=0;i<t.length;i++)"object"=...
  function A (line 6) | function A(t){return t.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}
  function N (line 6) | function N(t){return t.replace(/([=!:$\/()])/g,"\\$1")}
  function B (line 6) | function B(t,e){return t.keys=e,t}
  function R (line 6) | function R(t){return t.sensitive?"":"i"}
  function D (line 6) | function D(t,e,i){k(e)||(i=e||i,e=[]);for(var n=(i=i||{}).strict,r=!1!==...
  function z (line 6) | function z(t,e,i){return k(e)||(i=e||i,e=[]),i=i||{},t instanceof RegExp...
  function F (line 6) | function F(t,e,i){e=e||{};try{var n=I[t]||(I[t]=S.compile(t));return e.p...
  function j (line 6) | function j(t,e,i,n){var r="string"==typeof t?{path:t}:t;if(r._normalized...
  function K (line 6) | function K(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.default...
  function Y (line 6) | function Y(t){if(!Y.installed||H!==t){Y.installed=!0,H=t;var e=function(...
  function J (line 6) | function J(t,e,i,n){var r=e||[],o=i||Object.create(null),s=n||Object.cre...
  function X (line 6) | function X(t,e){var i=J(t),n=i.pathList,r=i.pathMap,o=i.nameMap;function...
  function Z (line 6) | function Z(t,e,i){var n=e.match(t);if(!n)return!1;if(!i)return!0;for(var...
  function et (line 6) | function et(){var t=window.location.protocol+"//"+window.location.host,e...
  function it (line 6) | function it(t,e,i,n){if(t.app){var r=t.options.scrollBehavior;r&&t.app.$...
  function nt (line 6) | function nt(){var t=pt();t&&(tt[t]={x:window.pageXOffset,y:window.pageYO...
  function rt (line 6) | function rt(t){return st(t.x)||st(t.y)}
  function ot (line 6) | function ot(t){return{x:st(t.x)?t.x:window.pageXOffset,y:st(t.y)?t.y:win...
  function st (line 6) | function st(t){return"number"==typeof t}
  function lt (line 6) | function lt(t,e){var i,n="object"==typeof t;if(n&&"string"==typeof t.sel...
  function ft (line 6) | function ft(){return ht.now().toFixed(3)}
  function pt (line 6) | function pt(){return dt}
  function mt (line 6) | function mt(t,e){nt();var i=window.history;try{e?i.replaceState({key:dt}...
  function vt (line 6) | function vt(t){mt(t,!0)}
  function gt (line 6) | function gt(t,e,i){var n=function(r){r>=t.length?i():t[r]?e(t[r],functio...
  function yt (line 6) | function yt(t){return function(e,i,n){var o=!1,s=0,a=null;bt(t,function(...
  function bt (line 6) | function bt(t,e){return _t(t.map(function(t){return Object.keys(t.compon...
  function _t (line 6) | function _t(t){return Array.prototype.concat.apply([],t)}
  function xt (line 6) | function xt(t){var e=!1;return function(){for(var i=[],n=arguments.lengt...
  function e (line 6) | function e(){t.call(this,"Navigating to current location is not allowed"...
  function St (line 6) | function St(t,e,i,n){var r=bt(t,function(t,n,r,o){var s=function(t,e){"f...
  function $t (line 6) | function $t(t,e){if(e)return function(){return t.apply(e,arguments)}}
  function e (line 6) | function e(e,i){var n=this;t.call(this,e,i);var r=e.options.scrollBehavi...
  function qt (line 6) | function qt(t){var e=decodeURI(window.location.pathname);return t&&0===e...
  function e (line 6) | function e(e,i,n){t.call(this,e,i),n&&function(t){var e=qt(t);if(!/^\/#/...
  function Mt (line 6) | function Mt(){var t=Et();return"/"===t.charAt(0)||(At("/"+t),!1)}
  function Et (line 6) | function Et(){var t=window.location.href,e=t.indexOf("#");if(e<0)return"...
  function Ot (line 6) | function Ot(t){var e=window.location.href,i=e.indexOf("#");return(i>=0?e...
  function Lt (line 6) | function Lt(t){ut?mt(Ot(t)):window.location.hash=t}
  function At (line 6) | function At(t){ut?vt(Ot(t)):window.location.replace(Ot(t))}
  function e (line 6) | function e(e,i){t.call(this,e,i),this.stack=[],this.index=-1}
  function Dt (line 6) | function Dt(t,e){return t.push(e),function(){var i=t.indexOf(e);i>-1&&t....
  function n (line 19) | function n(t){return void 0===t||null===t}
  function r (line 19) | function r(t){return void 0!==t&&null!==t}
  function o (line 19) | function o(t){return!0===t}
  function s (line 19) | function s(t){return"string"==typeof t||"number"==typeof t||"symbol"==ty...
  function a (line 19) | function a(t){return null!==t&&"object"==typeof t}
  function c (line 19) | function c(t){return"[object Object]"===l.call(t)}
  function u (line 19) | function u(t){return"[object RegExp]"===l.call(t)}
  function h (line 19) | function h(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e...
  function d (line 19) | function d(t){return r(t)&&"function"==typeof t.then&&"function"==typeof...
  function f (line 19) | function f(t){return null==t?"":Array.isArray(t)||c(t)&&t.toString===l?J...
  function p (line 19) | function p(t){var e=parseFloat(t);return isNaN(e)?t:e}
  function m (line 19) | function m(t,e){for(var i=Object.create(null),n=t.split(","),r=0;r<n.len...
  function y (line 19) | function y(t,e){if(t.length){var i=t.indexOf(e);if(i>-1)return t.splice(...
  function _ (line 19) | function _(t,e){return b.call(t,e)}
  function w (line 19) | function w(t){var e=Object.create(null);return function(i){return e[i]||...
  function i (line 19) | function i(i){var n=arguments.length;return n?n>1?t.apply(e,arguments):t...
  function q (line 19) | function q(t,e){e=e||0;for(var i=t.length-e,n=new Array(i);i--;)n[i]=t[i...
  function P (line 19) | function P(t,e){for(var i in e)t[i]=e[i];return t}
  function M (line 19) | function M(t){for(var e={},i=0;i<t.length;i++)t[i]&&P(e,t[i]);return e}
  function E (line 19) | function E(t,e,i){}
  function A (line 19) | function A(t,e){if(t===e)return!0;var i=a(t),n=a(e);if(!i||!n)return!i&&...
  function N (line 19) | function N(t,e){for(var i=0;i<t.length;i++)if(A(t[i],e))return i;return-1}
  function B (line 19) | function B(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments...
  function j (line 19) | function j(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}
  function H (line 19) | function H(t,e,i,n){Object.defineProperty(t,e,{value:i,enumerable:!!n,wr...
  function at (line 19) | function at(t){return"function"==typeof t&&/native code/.test(t.toString...
  function t (line 19) | function t(){this.set=Object.create(null)}
  function pt (line 19) | function pt(t){ft.push(t),dt.target=t}
  function mt (line 19) | function mt(){ft.pop(),dt.target=ft[ft.length-1]}
  function bt (line 19) | function bt(t){return new vt(void 0,void 0,void 0,String(t))}
  function _t (line 19) | function _t(t){var e=new vt(t.tag,t.data,t.children&&t.children.slice(),...
  function St (line 19) | function St(t){kt=t}
  function Tt (line 19) | function Tt(t,e){var i;if(a(t)&&!(t instanceof vt))return _(t,"__ob__")&...
  function qt (line 19) | function qt(t,e,i,n,r){var o=new dt,s=Object.getOwnPropertyDescriptor(t,...
  function Pt (line 19) | function Pt(t,e,i){if(Array.isArray(t)&&h(e))return t.length=Math.max(t....
  function Mt (line 19) | function Mt(t,e){if(Array.isArray(t)&&h(e))t.splice(e,1);else{var i=t.__...
  function Ot (line 19) | function Ot(t,e){if(!e)return t;for(var i,n,r,o=ct?Reflect.ownKeys(e):Ob...
  function Lt (line 19) | function Lt(t,e,i){return i?function(){var n="function"==typeof e?e.call...
  function At (line 19) | function At(t,e){var i=e?t?t.concat(e):Array.isArray(e)?e:[e]:t;return i...
  function Nt (line 19) | function Nt(t,e,i,n){var r=Object.create(t||null);return e?P(r,e):r}
  function Rt (line 19) | function Rt(t,e,i){if("function"==typeof e&&(e=e.options),function(t,e){...
  function Dt (line 19) | function Dt(t,e,i,n){if("string"==typeof i){var r=t[e];if(_(r,i))return ...
  function zt (line 19) | function zt(t,e,i,n){var r=e[t],o=!_(i,t),s=i[t],a=jt(Boolean,r.type);if...
  function It (line 19) | function It(t){var e=t&&t.toString().match(/^\s*function (\w+)/);return ...
  function Ft (line 19) | function Ft(t,e){return It(t)===It(e)}
  function jt (line 19) | function jt(t,e){if(!Array.isArray(e))return Ft(e,t)?0:-1;for(var i=0,n=...
  function Ht (line 19) | function Ht(t,e,i){pt();try{if(e)for(var n=e;n=n.$parent;){var r=n.$opti...
  function Qt (line 19) | function Qt(t,e,i,n,r){var o;try{(o=i?t.apply(e,i):t.call(e))&&!o._isVue...
  function Vt (line 19) | function Vt(t,e,i){if(I.errorHandler)try{return I.errorHandler.call(null...
  function Ut (line 19) | function Ut(t,e,i){if(!W&&!K||"undefined"==typeof console)throw t;consol...
  function Jt (line 19) | function Jt(){Gt=!1;var t=Yt.slice(0);Yt.length=0;for(var e=0;e<t.length...
  function ie (line 19) | function ie(t,e){var i;if(Yt.push(function(){if(t)try{t.call(e)}catch(t)...
  function re (line 19) | function re(t){!function t(e,i){var n,r;var o=Array.isArray(e);if(!o&&!a...
  function se (line 19) | function se(t,e){function i(){var t=arguments,n=i.fns;if(!Array.isArray(...
  function ae (line 19) | function ae(t,e,i,r,s,a){var l,c,u,h;for(l in t)c=t[l],u=e[l],h=oe(l),n(...
  function le (line 19) | function le(t,e,i){var s;t instanceof vt&&(t=t.data.hook||(t.data.hook={...
  function ce (line 19) | function ce(t,e,i,n,o){if(r(e)){if(_(e,i))return t[i]=e[i],o||delete e[i...
  function ue (line 19) | function ue(t){return s(t)?[bt(t)]:Array.isArray(t)?function t(e,i){var ...
  function he (line 19) | function he(t){return r(t)&&r(t.text)&&!1===t.isComment}
  function de (line 19) | function de(t,e){if(t){for(var i=Object.create(null),n=ct?Reflect.ownKey...
  function fe (line 19) | function fe(t,e){if(!t||!t.length)return{};for(var i={},n=0,r=t.length;n...
  function pe (line 19) | function pe(t){return t.isComment&&!t.asyncFactory||" "===t.text}
  function me (line 19) | function me(t,e,n){var r,o=Object.keys(e).length>0,s=t?!!t.$stable:!o,a=...
  function ve (line 19) | function ve(t,e,i){var n=function(){var t=arguments.length?i.apply(null,...
  function ge (line 19) | function ge(t,e){return function(){return t[e]}}
  function ye (line 19) | function ye(t,e){var i,n,o,s,l;if(Array.isArray(t)||"string"==typeof t)f...
  function be (line 19) | function be(t,e,i,n){var r,o=this.$scopedSlots[t];o?(i=i||{},n&&(i=P(P({...
  function _e (line 19) | function _e(t){return Dt(this.$options,"filters",t)||L}
  function we (line 19) | function we(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}
  function xe (line 19) | function xe(t,e,i,n,r){var o=I.keyCodes[e]||i;return r&&n&&!I.keyCodes[e...
  function Ce (line 19) | function Ce(t,e,i,n,r){if(i)if(a(i)){var o;Array.isArray(i)&&(i=M(i));va...
  function ke (line 19) | function ke(t,e){var i=this._staticTrees||(this._staticTrees=[]),n=i[t];...
  function Se (line 19) | function Se(t,e,i){return $e(t,"__once__"+e+(i?"_"+i:""),!0),t}
  function $e (line 19) | function $e(t,e,i){if(Array.isArray(t))for(var n=0;n<t.length;n++)t[n]&&...
  function Te (line 19) | function Te(t,e,i){t.isStatic=!0,t.key=e,t.isOnce=i}
  function qe (line 19) | function qe(t,e){if(e)if(c(e)){var i=t.on=t.on?P({},t.on):{};for(var n i...
  function Pe (line 19) | function Pe(t,e,i,n){e=e||{$stable:!i};for(var r=0;r<t.length;r++){var o...
  function Me (line 19) | function Me(t,e){for(var i=0;i<e.length;i+=2){var n=e[i];"string"==typeo...
  function Ee (line 19) | function Ee(t,e){return"string"==typeof t?e+t:t}
  function Oe (line 19) | function Oe(t){t._o=Se,t._n=p,t._s=f,t._l=ye,t._t=be,t._q=A,t._i=N,t._m=...
  function Le (line 19) | function Le(t,e,n,r,s){var a,l=this,c=s.options;_(r,"_uid")?(a=Object.cr...
  function Ae (line 19) | function Ae(t,e,i,n,r){var o=_t(t);return o.fnContext=i,o.fnOptions=n,e....
  function Ne (line 19) | function Ne(t,e){for(var i in e)t[C(i)]=e[i]}
  function De (line 19) | function De(t,e,s,l,c){if(!n(t)){var u=s.$options._base;if(a(t)&&(t=u.ex...
  function ze (line 19) | function ze(t,e){var i=function(i,n){t(i,n),e(i,n)};return i._merged=!0,i}
  function je (line 19) | function je(t,e,i,l,c,u){return(Array.isArray(i)||s(i))&&(c=l,l=i,i=void...
  function Ve (line 19) | function Ve(t,e){return(t.__esModule||ct&&"Module"===t[Symbol.toStringTa...
  function Ue (line 19) | function Ue(t){return t.isComment&&t.asyncFactory}
  function We (line 19) | function We(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var i=t[e...
  function Ke (line 19) | function Ke(t,e){He.$on(t,e)}
  function Ye (line 19) | function Ye(t,e){He.$off(t,e)}
  function Ge (line 19) | function Ge(t,e){var i=He;return function n(){null!==e.apply(null,argume...
  function Je (line 19) | function Je(t,e,i){He=t,ae(e,i||{},Ke,Ye,Ge,t),He=void 0}
  function Ze (line 19) | function Ze(t){var e=Xe;return Xe=t,function(){Xe=e}}
  function ti (line 19) | function ti(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}
  function ei (line 19) | function ei(t,e){if(e){if(t._directInactive=!1,ti(t))return}else if(t._d...
  function ii (line 19) | function ii(t,e){pt();var i=t.$options[e],n=e+" hook";if(i)for(var r=0,o...
  function di (line 19) | function di(){var t,e;for(ci=ui(),ai=!0,ni.sort(function(t,e){return t.i...
  function vi (line 19) | function vi(t,e,i){mi.get=function(){return this[e][i]},mi.set=function(...
  function gi (line 19) | function gi(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){va...
  function bi (line 19) | function bi(t,e,i){var n=!ot();"function"==typeof i?(mi.get=n?_i(e):wi(i...
  function _i (line 19) | function _i(t){return function(){var e=this._computedWatchers&&this._com...
  function wi (line 19) | function wi(t){return function(){return t.call(this,this)}}
  function xi (line 19) | function xi(t,e,i,n){return c(i)&&(n=i,i=i.handler),"string"==typeof i&&...
  function ki (line 19) | function ki(t){var e=t.options;if(t.super){var i=ki(t.super);if(i!==t.su...
  function Si (line 19) | function Si(t){this._init(t)}
  function $i (line 19) | function $i(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var i=this,n...
  function Ti (line 19) | function Ti(t){return t&&(t.Ctor.options.name||t.tag)}
  function qi (line 19) | function qi(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeo...
  function Pi (line 19) | function Pi(t,e){var i=t.cache,n=t.keys,r=t._vnode;for(var o in i){var s...
  function Mi (line 19) | function Mi(t,e,i,n){var r=t[e];!r||n&&r.tag===n.tag||r.componentInstanc...
  function n (line 19) | function n(){i.$off(t,n),e.apply(i,arguments)}
  function Qi (line 19) | function Qi(t){for(var e=t.data,i=t,n=t;r(n.componentInstance);)(n=n.com...
  function Vi (line 19) | function Vi(t,e){return{staticClass:Ui(t.staticClass,e.staticClass),clas...
  function Ui (line 19) | function Ui(t,e){return t?e?t+" "+e:t:e||""}
  function Wi (line 19) | function Wi(t){return Array.isArray(t)?function(t){for(var e,i="",n=0,o=...
  function Xi (line 19) | function Xi(t){return Gi(t)?"svg":"math"===t?"math":void 0}
  function en (line 19) | function en(t){if("string"==typeof t){var e=document.querySelector(t);re...
  function on (line 19) | function on(t,e){var i=t.data.ref;if(r(i)){var n=t.context,o=t.component...
  function ln (line 19) | function ln(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.i...
  function cn (line 19) | function cn(t,e,i){var n,o,s={};for(n=e;n<=i;++n)r(o=t[n].key)&&(s[o]=n)...
  function hn (line 19) | function hn(t,e){(t.data.directives||e.data.directives)&&function(t,e){v...
  function fn (line 19) | function fn(t,e){var i,n,r=Object.create(null);if(!t)return r;for(i=0;i<...
  function pn (line 19) | function pn(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{})...
  function mn (line 19) | function mn(t,e,i,n,r){var o=t.def&&t.def[e];if(o)try{o(i.elm,t,i,n,r)}c...
  function gn (line 19) | function gn(t,e){var i=e.componentOptions;if(!(r(i)&&!1===i.Ctor.options...
  function yn (line 19) | function yn(t,e,i){t.tagName.indexOf("-")>-1?bn(t,e,i):zi(e)?Hi(i)?t.rem...
  function bn (line 19) | function bn(t,e,i){if(Hi(i))t.removeAttribute(e);else{if(J&&!X&&"TEXTARE...
  function wn (line 19) | function wn(t,e){var i=e.elm,o=e.data,s=t.data;if(!(n(o.staticClass)&&n(...
  function Mn (line 19) | function Mn(t){var e,i,n,r,o,s=!1,a=!1,l=!1,c=!1,u=0,h=0,d=0,f=0;for(n=0...
  function En (line 19) | function En(t,e){var i=e.indexOf("(");if(i<0)return'_f("'+e+'")('+t+")";...
  function On (line 19) | function On(t,e){console.error("[Vue compiler]: "+t)}
  function Ln (line 19) | function Ln(t,e){return t?t.map(function(t){return t[e]}).filter(functio...
  function An (line 19) | function An(t,e,i,n,r){(t.props||(t.props=[])).push(Qn({name:e,value:i,d...
  function Nn (line 19) | function Nn(t,e,i,n,r){(r?t.dynamicAttrs||(t.dynamicAttrs=[]):t.attrs||(...
  function Bn (line 19) | function Bn(t,e,i,n){t.attrsMap[e]=i,t.attrsList.push(Qn({name:e,value:i...
  function Rn (line 19) | function Rn(t,e,i,n,r,o,s,a){(t.directives||(t.directives=[])).push(Qn({...
  function Dn (line 19) | function Dn(t,e,i){return i?"_p("+e+',"'+t+'")':t+e}
  function zn (line 19) | function zn(t,e,n,r,o,s,a,l){var c;(r=r||i).right?l?e="("+e+")==='click'...
  function In (line 19) | function In(t,e){return t.rawAttrsMap[":"+e]||t.rawAttrsMap["v-bind:"+e]...
  function Fn (line 19) | function Fn(t,e,i){var n=jn(t,":"+e)||jn(t,"v-bind:"+e);if(null!=n)retur...
  function jn (line 19) | function jn(t,e,i){var n;if(null!=(n=t.attrsMap[e]))for(var r=t.attrsLis...
  function Hn (line 19) | function Hn(t,e){for(var i=t.attrsList,n=0,r=i.length;n<r;n++){var o=i[n...
  function Qn (line 19) | function Qn(t,e){return e&&(null!=e.start&&(t.start=e.start),null!=e.end...
  function Vn (line 19) | function Vn(t,e,i){var n=i||{},r=n.number,o="$$v";n.trim&&(o="(typeof $$...
  function Un (line 19) | function Un(t,e){var i=function(t){if(t=t.trim(),xn=t.length,t.indexOf("...
  function Wn (line 19) | function Wn(){return Cn.charCodeAt(++Sn)}
  function Kn (line 19) | function Kn(){return Sn>=xn}
  function Yn (line 19) | function Yn(t){return 34===t||39===t}
  function Gn (line 19) | function Gn(t){var e=1;for($n=Sn;!Kn();)if(Yn(t=Wn()))Jn(t);else if(91==...
  function Jn (line 19) | function Jn(t){for(var e=t;!Kn()&&(t=Wn())!==e;);}
  function er (line 19) | function er(t,e,i){var n=Xn;return function r(){null!==e.apply(null,argu...
  function nr (line 19) | function nr(t,e,i,n){if(ir){var r=ci,o=e;e=o._wrapper=function(t){if(t.t...
  function rr (line 19) | function rr(t,e,i,n){(n||Xn).removeEventListener(t,e._wrapper||e,i)}
  function or (line 19) | function or(t,e){if(!n(t.data.on)||!n(e.data.on)){var i=e.data.on||{},o=...
  function lr (line 19) | function lr(t,e){if(!n(t.data.domProps)||!n(e.data.domProps)){var i,o,s=...
  function cr (line 19) | function cr(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e...
  function dr (line 19) | function dr(t){var e=fr(t.style);return t.staticStyle?P(t.staticStyle,e):e}
  function fr (line 19) | function fr(t){return Array.isArray(t)?M(t):"string"==typeof t?hr(t):t}
  function _r (line 19) | function _r(t,e){var i=e.data,o=t.data;if(!(n(i.staticStyle)&&n(i.style)...
  function Cr (line 19) | function Cr(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.s...
  function kr (line 19) | function kr(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.s...
  function Sr (line 19) | function Sr(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&P...
  function Nr (line 19) | function Nr(t){Ar(function(){Ar(t)})}
  function Br (line 19) | function Br(t,e){var i=t._transitionClasses||(t._transitionClasses=[]);i...
  function Rr (line 19) | function Rr(t,e){t._transitionClasses&&y(t._transitionClasses,e),kr(t,e)}
  function Dr (line 19) | function Dr(t,e,i){var n=Ir(t,e),r=n.type,o=n.timeout,s=n.propCount;if(!...
  function Ir (line 19) | function Ir(t,e){var i,n=window.getComputedStyle(t),r=(n[Mr+"Delay"]||""...
  function Fr (line 19) | function Fr(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.a...
  function jr (line 19) | function jr(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}
  function Hr (line 19) | function Hr(t,e){var i=t.elm;r(i._leaveCb)&&(i._leaveCb.cancelled=!0,i._...
  function Qr (line 19) | function Qr(t,e){var i=t.elm;r(i._enterCb)&&(i._enterCb.cancelled=!0,i._...
  function Vr (line 19) | function Vr(t){return"number"==typeof t&&!isNaN(t)}
  function Ur (line 19) | function Ur(t){if(n(t))return!1;var e=t.fns;return r(e)?Ur(Array.isArray...
  function Wr (line 19) | function Wr(t,e){!0!==e.data.show&&Hr(e)}
  function u (line 19) | function u(t){var e=c.parentNode(t);r(e)&&c.removeChild(e,t)}
  function h (line 19) | function h(t,e,i,n,s,l,u){if(r(t.elm)&&r(l)&&(t=l[u]=_t(t)),t.isRootInse...
  function d (line 19) | function d(t,e){r(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingI...
  function f (line 19) | function f(t,e,i){r(t)&&(r(i)?c.parentNode(i)===t&&c.insertBefore(t,e,i)...
  function p (line 19) | function p(t,e,i){if(Array.isArray(e))for(var n=0;n<e.length;++n)h(e[n],...
  function v (line 19) | function v(t){for(;t.componentInstance;)t=t.componentInstance._vnode;ret...
  function g (line 19) | function g(t,i){for(var n=0;n<a.create.length;++n)a.create[n](sn,t);r(e=...
  function y (line 19) | function y(t){var e;if(r(e=t.fnScopeId))c.setStyleScope(t.elm,e);else fo...
  function b (line 19) | function b(t,e,i,n,r,o){for(;n<=r;++n)h(i[n],o,t,e,!1,i,n)}
  function _ (line 19) | function _(t){var e,i,n=t.data;if(r(n))for(r(e=n.hook)&&r(e=e.destroy)&&...
  function w (line 19) | function w(t,e,i,n){for(;i<=n;++i){var o=e[i];r(o)&&(r(o.tag)?(x(o),_(o)...
  function x (line 19) | function x(t,e){if(r(e)||r(t.data)){var i,n=a.remove.length+1;for(r(e)?e...
  function C (line 19) | function C(t,e,i,n){for(var o=i;o<n;o++){var s=e[o];if(r(s)&&ln(t,s))ret...
  function k (line 19) | function k(t,e,i,s,l,u){if(t!==e){r(e.elm)&&r(s)&&(e=s[l]=_t(e));var d=e...
  function S (line 19) | function S(t,e,i){if(o(i)&&r(t.parent))t.parent.data.pendingInsert=e;els...
  function T (line 19) | function T(t,e,i,n){var s,a=e.tag,l=e.data,c=e.children;if(n=n||l&&l.pre...
  function Gr (line 19) | function Gr(t,e,i){Jr(t,e,i),(J||Z)&&setTimeout(function(){Jr(t,e,i)},0)}
  function Jr (line 19) | function Jr(t,e,i){var n=e.value,r=t.multiple;if(!r||Array.isArray(n)){f...
  function Xr (line 19) | function Xr(t,e){return e.every(function(e){return!A(e,t)})}
  function Zr (line 19) | function Zr(t){return"_value"in t?t._value:t.value}
  function to (line 19) | function to(t){t.target.composing=!0}
  function eo (line 19) | function eo(t){t.target.composing&&(t.target.composing=!1,io(t.target,"i...
  function io (line 19) | function io(t,e){var i=document.createEvent("HTMLEvents");i.initEvent(e,...
  function no (line 19) | function no(t){return!t.componentInstance||t.data&&t.data.transition?t:n...
  function so (line 19) | function so(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abst...
  function ao (line 19) | function ao(t){var e={},i=t.$options;for(var n in i.propsData)e[n]=t[n];...
  function lo (line 19) | function lo(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{...
  function po (line 19) | function po(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._ent...
  function mo (line 19) | function mo(t){t.data.newPos=t.elm.getBoundingClientRect()}
  function vo (line 19) | function vo(t){var e=t.data.pos,i=t.data.newPos,n=e.left-i.left,r=e.top-...
  function wo (line 19) | function wo(t,e){var i=e?_o(e):yo;if(i.test(t)){for(var n,r,o,s=[],a=[],...
  function Uo (line 19) | function Uo(t,e){var i=e?Ho:jo;return t.replace(i,function(t){return Fo[...
  function ms (line 19) | function ms(t,e,i){return{type:1,tag:t,attrsList:e,attrsMap:function(t){...
  function vs (line 19) | function vs(t,e){Wo=e.warn||On,Xo=e.isPreTag||O,Zo=e.mustUseProp||O,ts=e...
  function gs (line 19) | function gs(t,e){var i,n;!function(t){var e=Fn(t,"key");if(e){t.key=e}}(...
  function ys (line 19) | function ys(t){var e;if(e=jn(t,"v-for")){var i=function(t){var e=t.match...
  function bs (line 19) | function bs(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push...
  function _s (line 19) | function _s(t){var e=t.name.replace(us,"");return e||"#"!==t.name[0]&&(e...
  function ws (line 19) | function ws(t){var e=t.match(cs);if(e){var i={};return e.forEach(functio...
  function ks (line 19) | function ks(t){return ms(t.tag,t.attrsList.slice(),t.parent)}
  function Ms (line 19) | function Ms(t,e){t&&($s=Ps(e.staticKeys||""),Ts=e.isReservedTag||O,funct...
  function Ds (line 19) | function Ds(t,e){var i=e?"nativeOn:":"on:",n="",r="";for(var o in t){var...
  function zs (line 19) | function zs(t){if(!t)return"function(){}";if(Array.isArray(t))return"["+...
  function Is (line 19) | function Is(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var...
  function Hs (line 19) | function Hs(t,e){var i=new js(e);return{render:"with(this){return "+(t?Q...
  function Qs (line 19) | function Qs(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&...
  function Vs (line 19) | function Vs(t,e){t.staticProcessed=!0;var i=e.pre;return t.pre&&(e.pre=t...
  function Us (line 19) | function Us(t,e){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return Ws(t,...
  function Ws (line 19) | function Ws(t,e,i,n){return t.ifProcessed=!0,function t(e,i,n,r){if(!e.l...
  function Ks (line 19) | function Ks(t,e,i,n){var r=t.for,o=t.alias,s=t.iterator1?","+t.iterator1...
  function Ys (line 19) | function Ys(t,e){var i="{",n=function(t,e){var i=t.directives;if(!i)retu...
  function Gs (line 19) | function Gs(t){return 1===t.type&&("slot"===t.tag||t.children.some(Gs))}
  function Js (line 19) | function Js(t,e){var i=t.attrsMap["slot-scope"];if(t.if&&!t.ifProcessed&...
  function Xs (line 19) | function Xs(t,e,i,n,r){var o=t.children;if(o.length){var s=o[0];if(1===o...
  function Zs (line 19) | function Zs(t){return void 0!==t.for||"template"===t.tag||"slot"===t.tag}
  function ta (line 19) | function ta(t,e){return 1===t.type?Qs(t,e):3===t.type&&t.isComment?(n=t,...
  function ea (line 19) | function ea(t){for(var e="",i="",n=0;n<t.length;n++){var r=t[n],o=ia(r.v...
  function ia (line 19) | function ia(t){return t.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"...
  function na (line 19) | function na(t,e){try{return new Function(t)}catch(i){return e.push({err:...
  function ra (line 19) | function ra(t){var e=Object.create(null);return function(i,n,r){(n=P({},...
  function e (line 19) | function e(e,i){var n=Object.create(t),r=[],o=[],s=function(t,e,i){(i?o:...
  function ca (line 19) | function ca(t){return(sa=sa||document.createElement("div")).innerHTML=t?...
  function r (line 25) | function r(t){if(t===window)return{top:0,left:0};var e=t.getBoundingClie...
  function o (line 25) | function o(t,e){return window.getComputedStyle(t).getPropertyValue(e)}
  function s (line 25) | function s(t){return t===window?window.innerHeight:parseFloat(o(t,"heigh...
  function a (line 25) | function a(t){return t===window?window.innerWidth:parseFloat(o(t,"width"))}
  function l (line 25) | function l(t,e){var i=t.style;Object.keys(e).forEach(function(t){i[t]=e[...
  function c (line 25) | function c(t){if("function"==typeof t)return"complete"===document.readyS...
  function h (line 25) | function h(t){var e={transform:t};return u.forEach(function(i){e[i+"tran...
  function p (line 25) | function p(){var t=(navigator.userAgent||navigator.vendor||window.opera)...
  function w (line 25) | function w(){var t=["mat",m.is.desktop?"desktop":"mobile",m.has.touch?"t...
  function T (line 25) | function T(t){return null===t?String(t):$[k.call(t)]||"object"}
  function q (line 25) | function q(t){if(!t||"object"!==T(t))return!1;if(t.constructor&&!S.call(...
  function P (line 25) | function P(){var t,e,i,n,r,o,s=arguments,a=arguments[0]||{},l=1,c=argume...
  function O (line 25) | function O(t){return 0===t.button}
  function L (line 25) | function L(t){return t.which||t.keyCode}
  function A (line 25) | function A(t){var e,i;if(t.touches&&t.touches[0]?t=t.touches[0]:t.change...
  function N (line 25) | function N(t){var e;return t.target?e=t.target:t.srcElement&&(e=t.srcEle...
  function B (line 25) | function B(t){if(t.path)return t.path;if(t.composedPath)return t.compose...
  function I (line 25) | function I(t){var e=0,i=0,n=0,r=0;return"detail"in t&&(i=t.detail),"whee...
  function F (line 25) | function F(t){t.preventDefault(),t.stopPropagation()}
  function Q (line 25) | function Q(t){return t.closest(".scroll")||window}
  function V (line 25) | function V(t){return t===window?window.pageYOffset||window.scrollY||docu...
  function U (line 25) | function U(t,e,i){if(!(i<=0)){var n=V(t);window.requestAnimationFrame(fu...
  function W (line 25) | function W(t,e){if(t===window)return document.documentElement.scrollTop=...
  function K (line 25) | function K(t,e,i){i?U(t,e,i):W(t,e)}
  function Y (line 25) | function Y(t){return!(!t||t.nodeType!==Node.ELEMENT_NODE)&&((t.classList...
  function X (line 25) | function X(t){(function(t){if(t.target===document.body)return!0;for(var ...
  function st (line 25) | function st(t){return void 0===t||t<2?{}:{overflow:"hidden",display:"-we...
  function dt (line 25) | function dt(t,e,i,n){return t("div",{staticClass:"q-item-"+e+(1===(n=par...
  function vt (line 25) | function vt(t,e,i,n,r,o){var s={props:{right:o.right}};if(n&&r)t.push(e(...
  function xt (line 25) | function xt(t){for(var e=0;parseInt(t,10)>=1024&&e<wt.length-1;)t/=1024,...
  function Ct (line 25) | function Ct(t){return t.charAt(0).toUpperCase()+t.slice(1)}
  function kt (line 25) | function kt(t,e,i){return i<=e?e:Math.min(i,Math.max(e,t))}
  function St (line 25) | function St(t,e,i){if(i<=e)return e;var n=i-e+1,r=t%n;return r<e&&(r=n+r...
  function $t (line 25) | function $t(t,e,i){void 0===e&&(e=2),void 0===i&&(i="0");var n=""+t;retu...
  function Ot (line 25) | function Ot(t){t.mat;return t.ios&&!0}
  function ce (line 25) | function ce(t,e,i){return[t,e].indexOf(i)>=0?"auto":t===e?"inclusive":"e...
  function ue (line 25) | function ue(t,e,i,n,r){var o=function(t,e){var i=P({},t),n=P({},e),r={x:...
  function he (line 25) | function he(t){var e,i=t.el,n=t.animate,r=t.anchorEl,o=t.anchorOrigin,s=...
  function de (line 25) | function de(t){var e=t.split(" ");return 2===e.length&&(["top","center",...
  function fe (line 25) | function fe(t){return!t||2===t.length&&("number"==typeof t[0]&&"number"=...
  function pe (line 25) | function pe(t){var e=t.split(" ");return{vertical:e[0],horizontal:e[1]}}
  function me (line 25) | function me(t,e,i){var n;function r(){for(var r=this,o=[],s=arguments.le...
  function ve (line 25) | function ve(t){var e=!1;return function(){for(var i=this,n=[],r=argument...
  function we (line 25) | function we(t,e){var i=e.field,n=e.list,r=t.toLowerCase();return n.filte...
  function xe (line 25) | function xe(){return Math.floor(65536*(1+Math.random())).toString(16).su...
  function Ce (line 25) | function Ce(){return xe()+xe()+"-"+xe()+"-"+xe()+"-"+xe()+"-"+xe()+xe()+...
  function Ae (line 25) | function Ae(t,e,i){var n=A(t),r=n.left-e.event.x,o=n.top-e.event.y,s=Mat...
  function Be (line 25) | function Be(t){return"[object Date]"===Object.prototype.toString.call(t)}
  function Re (line 25) | function Re(t){return"number"==typeof t&&isFinite(t)}
  function Ke (line 25) | function Ke(t){var e=t.name,i=t.duration;void 0===i&&(i=300);var n=t.to,...
  function Ye (line 25) | function Ye(t){if(t){var e=We[t];e&&e.timer&&(cancelAnimationFrame(e.tim...
  function fi (line 25) | function fi(t){return t.split(" ").map(function(t){var e=t.match(/[a-zA-...
  function pi (line 25) | function pi(t,e,i){var n=t.__qslidetoggle||{};function r(){n.uid=Ke({to:...
  function bi (line 25) | function bi(t,e,i){var n=kt((A(t).left-e.left)/e.width,0,1);return i?1-n:n}
  function _i (line 25) | function _i(t,e){var i=e?parseFloat(t.toFixed(e)):t;return i!==parseInt(...
  function wi (line 25) | function wi(t,e,i,n,r){var o=e+t*(i-e),s=(o-e)%n;return o+=(Math.abs(s)>...
  function ki (line 25) | function ki(t,e){void 0===e&&(e=250);var i=!1;return function(){for(var ...
  function Si (line 25) | function Si(t){var e=JSON.stringify(t);if(e)return JSON.parse(e)}
  function $i (line 25) | function $i(t){var e=t.r,i=t.g,n=t.b,r=t.a,o=void 0!==r;if(e=Math.round(...
  function Ti (line 25) | function Ti(t){if("string"!=typeof t)throw new TypeError("Expected a str...
  function qi (line 25) | function qi(t){var e,i,n,r,o,s,a,l,c=t.h,u=t.s,h=t.v,d=t.a;switch(s=(h/=...
  function Pi (line 25) | function Pi(t){var e,i=t.r,n=t.g,r=t.b,o=t.a,s=Math.max(i,n,r),a=Math.mi...
  function Ei (line 25) | function Ei(t){if("string"!=typeof t)throw new TypeError("Expected a str...
  function Oi (line 25) | function Oi(t,e){if("string"!=typeof t)throw new TypeError("Expected a s...
  function Li (line 25) | function Li(t,e){if(void 0===e&&(e=document.body),"string"!=typeof t)thr...
  function Ki (line 25) | function Ki(t,e){void 0===e&&(e="");var i=t>0?"-":"+",n=Math.abs(t),r=n%...
  function Yi (line 25) | function Yi(t,e){var i=new Date(t.getFullYear(),e,0,0,0,0,0).getDate();t...
  function Gi (line 25) | function Gi(t,e,i){var n=new Date(t),r=i?1:-1;return Object.keys(e).forE...
  function Ji (line 25) | function Ji(t){if("number"==typeof t)return!0;var e=Date.parse(t);return...
  function Xi (line 25) | function Xi(t){var e=new Date(t.getFullYear(),t.getMonth(),t.getDate());...
  function Zi (line 25) | function Zi(t,e,i){var n=new Date(t),r="set"+(i?"UTC":"");return Object....
  function tn (line 25) | function tn(t,e){var i=new Date(t);switch(e){case"year":i.setMonth(0);ca...
  function en (line 25) | function en(t,e,i){return(t.getTime()-t.getTimezoneOffset()*Ui-(e.getTim...
  function nn (line 25) | function nn(t,e,i){void 0===i&&(i="days");var n=new Date(t),r=new Date(e...
  function rn (line 25) | function rn(t){return nn(t,tn(t,"year"),"days")+1}
  function on (line 25) | function on(t){return Be(t)?"date":"number"==typeof t?"number":"string"}
  function sn (line 25) | function sn(t,e){if(t||0===t)switch(e){case"date":return t;case"number":...
  function an (line 25) | function an(t,e,i){var n=new Date(t);if(e){var r=new Date(e);if(n<r)retu...
  function ln (line 25) | function ln(t,e,i){var n=new Date(t),r=new Date(e);if(void 0===i)return ...
  function cn (line 25) | function cn(t){return new Date(t.getFullYear(),t.getMonth()+1,0).getDate()}
  function un (line 25) | function un(t){if(t>=11&&t<=13)return t+"th";switch(t%10){case 1:return ...
  function dn (line 25) | function dn(t,e){if(void 0===e&&(e="YYYY-MM-DDTHH:mm:ss.SSSZ"),0===t||t)...
  function fn (line 25) | function fn(t){return Be(t)?new Date(t.getTime()):t}
  function qn (line 25) | function qn(t,e,i){e.handler?e.handler(t,i,i.caret):i.runCmd(e.cmd,e.par...
  function Pn (line 25) | function Pn(t,e,i,n,r){void 0===r&&(r=!1);var o=r||"toggle"===i.type&&(i...
  function Mn (line 25) | function Mn(t,e){if(e.caret)return e.buttons.map(function(i){return t(le...
  function En (line 25) | function En(t,e){if(!t)return!1;for(;t=t.parentNode;){if(t===document.bo...
  function Zn (line 25) | function Zn(t){return{width:t+"%"}}
  function cr (line 25) | function cr(t,e){return e.label.toLowerCase().indexOf(t)>-1}
  function wr (line 25) | function wr(t){return t.page<1&&(t.page=1),void 0!==t.rowsPerPage&&t.row...
  function Er (line 25) | function Er(t){t.__doneUploading=!1,t.__failed=!1,t.__uploaded=0,t.__pro...
  function Ar (line 25) | function Ar(t,e){var i=e.value,n=(e.modifiers,t.__qbacktotop);if(i){if("...
  function Dr (line 25) | function Dr(t,e){var i=t.__qscrollfire;if("function"!=typeof e.value)ret...
  function Ir (line 25) | function Ir(t,e){var i=t.__qscroll;if("function"!=typeof e.value)return ...
  function jr (line 25) | function jr(t,e){var i=t.__qtouchhold;i.duration=parseInt(e.arg,10)||600...
  function Qr (line 25) | function Qr(t,e){return function(i){var n=document.createElement("div");...
  function Wr (line 25) | function Wr(t){void 0===Vr&&(Vr=m.is.winphone?"msapplication-navbutton-c...
  function Jr (line 25) | function Jr(t){return encodeURIComponent(t)}
  function Xr (line 25) | function Xr(t){return decodeURIComponent(t)}
  function Zr (line 25) | function Zr(t){if(""===t)return t;0===t.indexOf('"')&&(t=t.slice(1,-1).r...
  function to (line 25) | function to(t,e,i){void 0===i&&(i={});var n,r=i.expires;"n
Copy disabled (too large) Download .json
Condensed preview — 540 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (15,516K chars).
[
  {
    "path": ".idea/compiler.xml",
    "chars": 973,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"CompilerConfiguration\">\n    <annotationP"
  },
  {
    "path": ".idea/encodings.xml",
    "chars": 605,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"Encoding\" addBOMForNewFiles=\"with NO BOM"
  },
  {
    "path": ".idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_11.xml",
    "chars": 563,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: ch.qos.logback:logback-classic:1.1.11\">\n    <CLASSES>\n      <roo"
  },
  {
    "path": ".idea/libraries/Maven__ch_qos_logback_logback_core_1_1_11.xml",
    "chars": 542,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: ch.qos.logback:logback-core:1.1.11\">\n    <CLASSES>\n      <root u"
  },
  {
    "path": ".idea/libraries/Maven__com_alibaba_druid_1_1_10.xml",
    "chars": 481,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: com.alibaba:druid:1.1.10\">\n    <CLASSES>\n      <root url=\"jar://"
  },
  {
    "path": ".idea/libraries/Maven__com_alibaba_druid_spring_boot_starter_1_1_10.xml",
    "chars": 621,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: com.alibaba:druid-spring-boot-starter:1.1.10\">\n    <CLASSES>\n   "
  },
  {
    "path": ".idea/libraries/Maven__com_alibaba_fastjson_1_2_46.xml",
    "chars": 502,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: com.alibaba:fastjson:1.2.46\">\n    <CLASSES>\n      <root url=\"jar"
  },
  {
    "path": ".idea/libraries/Maven__com_fasterxml_classmate_1_3_4.xml",
    "chars": 510,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: com.fasterxml:classmate:1.3.4\">\n    <CLASSES>\n      <root url=\"j"
  },
  {
    "path": ".idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml",
    "chars": 632,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.0\">\n    <CLAS"
  },
  {
    "path": ".idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_8_10.xml",
    "chars": 590,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: com.fasterxml.jackson.core:jackson-core:2.8.10\">\n    <CLASSES>\n "
  },
  {
    "path": ".idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_8_10.xml",
    "chars": 618,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: com.fasterxml.jackson.core:jackson-databind:2.8.10\">\n    <CLASSE"
  },
  {
    "path": ".idea/libraries/Maven__com_github_jsqlparser_jsqlparser_1_4.xml",
    "chars": 535,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: com.github.jsqlparser:jsqlparser:1.4\">\n    <CLASSES>\n      <root"
  },
  {
    "path": ".idea/libraries/Maven__com_google_protobuf_protobuf_java_2_6_0.xml",
    "chars": 562,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: com.google.protobuf:protobuf-java:2.6.0\">\n    <CLASSES>\n      <r"
  },
  {
    "path": ".idea/libraries/Maven__com_jayway_jsonpath_json_path_2_2_0.xml",
    "chars": 534,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: com.jayway.jsonpath:json-path:2.2.0\">\n    <CLASSES>\n      <root "
  },
  {
    "path": ".idea/libraries/Maven__com_microsoft_sqlserver_sqljdbc4_4_1.xml",
    "chars": 529,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: com.microsoft.sqlserver:sqljdbc4:4.1\">\n    <CLASSES>\n      <root"
  },
  {
    "path": ".idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml",
    "chars": 688,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1\">\n "
  },
  {
    "path": ".idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_3.xml",
    "chars": 582,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: commons-beanutils:commons-beanutils:1.9.3\">\n    <CLASSES>\n      "
  },
  {
    "path": ".idea/libraries/Maven__commons_codec_commons_codec_1_10.xml",
    "chars": 531,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: commons-codec:commons-codec:1.10\">\n    <CLASSES>\n      <root url"
  },
  {
    "path": ".idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml",
    "chars": 604,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: commons-collections:commons-collections:3.2.2\">\n    <CLASSES>\n  "
  },
  {
    "path": ".idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml",
    "chars": 599,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: javax.validation:validation-api:1.1.0.Final\">\n    <CLASSES>\n    "
  },
  {
    "path": ".idea/libraries/Maven__junit_junit_4_12.xml",
    "chars": 443,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: junit:junit:4.12\">\n    <CLASSES>\n      <root url=\"jar://$MAVEN_R"
  },
  {
    "path": ".idea/libraries/Maven__mysql_mysql_connector_java_8_0_11.xml",
    "chars": 562,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: mysql:mysql-connector-java:8.0.11\">\n    <CLASSES>\n      <root ur"
  },
  {
    "path": ".idea/libraries/Maven__net_minidev_accessors_smart_1_1.xml",
    "chars": 530,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: net.minidev:accessors-smart:1.1\">\n    <CLASSES>\n      <root url="
  },
  {
    "path": ".idea/libraries/Maven__net_minidev_json_smart_2_2_1.xml",
    "chars": 509,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: net.minidev:json-smart:2.2.1\">\n    <CLASSES>\n      <root url=\"ja"
  },
  {
    "path": ".idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_5_3.xml",
    "chars": 535,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: net.sf.ehcache:ehcache-core:2.5.3\">\n    <CLASSES>\n      <root ur"
  },
  {
    "path": ".idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml",
    "chars": 558,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.apache.commons:commons-lang3:3.8.1\">\n    <CLASSES>\n      <ro"
  },
  {
    "path": ".idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_5.xml",
    "chars": 565,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.apache.httpcomponents:httpclient:4.5.5\">\n    <CLASSES>\n     "
  },
  {
    "path": ".idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_8.xml",
    "chars": 565,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.apache.httpcomponents:httpclient:4.5.8\">\n    <CLASSES>\n     "
  },
  {
    "path": ".idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_9.xml",
    "chars": 551,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.apache.httpcomponents:httpcore:4.4.9\">\n    <CLASSES>\n      <"
  },
  {
    "path": ".idea/libraries/Maven__org_apache_shiro_shiro_core_1_3_2.xml",
    "chars": 529,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.apache.shiro:shiro-core:1.3.2\">\n    <CLASSES>\n      <root ur"
  },
  {
    "path": ".idea/libraries/Maven__org_apache_shiro_shiro_ehcache_1_3_2.xml",
    "chars": 550,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.apache.shiro:shiro-ehcache:1.3.2\">\n    <CLASSES>\n      <root"
  },
  {
    "path": ".idea/libraries/Maven__org_apache_shiro_shiro_spring_1_3_2.xml",
    "chars": 543,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.apache.shiro:shiro-spring:1.3.2\">\n    <CLASSES>\n      <root "
  },
  {
    "path": ".idea/libraries/Maven__org_apache_shiro_shiro_web_1_3_2.xml",
    "chars": 522,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.apache.shiro:shiro-web:1.3.2\">\n    <CLASSES>\n      <root url"
  },
  {
    "path": ".idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_27.xml",
    "chars": 613,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.27\">\n    <CLASSES>"
  },
  {
    "path": ".idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_27.xml",
    "chars": 599,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.27\">\n    <CLASSES>\n "
  },
  {
    "path": ".idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_27.xml",
    "chars": 648,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.27\">\n    <CLA"
  },
  {
    "path": ".idea/libraries/Maven__org_apache_tomcat_tomcat_annotations_api_8_5_27.xml",
    "chars": 624,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.apache.tomcat:tomcat-annotations-api:8.5.27\">\n    <CLASSES>\n"
  },
  {
    "path": ".idea/libraries/Maven__org_apache_tomcat_tomcat_jdbc_8_5_27.xml",
    "chars": 547,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.apache.tomcat:tomcat-jdbc:8.5.27\">\n    <CLASSES>\n      <root"
  },
  {
    "path": ".idea/libraries/Maven__org_apache_tomcat_tomcat_juli_8_5_27.xml",
    "chars": 547,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.apache.tomcat:tomcat-juli:8.5.27\">\n    <CLASSES>\n      <root"
  },
  {
    "path": ".idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_13.xml",
    "chars": 537,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.aspectj:aspectjweaver:1.8.13\">\n    <CLASSES>\n      <root url"
  },
  {
    "path": ".idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_3.xml",
    "chars": 530,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.aspectj:aspectjweaver:1.8.3\">\n    <CLASSES>\n      <root url="
  },
  {
    "path": ".idea/libraries/Maven__org_assertj_assertj_core_2_6_0.xml",
    "chars": 523,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.assertj:assertj-core:2.6.0\">\n    <CLASSES>\n      <root url=\""
  },
  {
    "path": ".idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml",
    "chars": 520,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.hamcrest:hamcrest-core:1.3\">\n    <CLASSES>\n      <root url=\""
  },
  {
    "path": ".idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml",
    "chars": 541,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.hamcrest:hamcrest-library:1.3\">\n    <CLASSES>\n      <root ur"
  },
  {
    "path": ".idea/libraries/Maven__org_hibernate_hibernate_validator_5_3_6_Final.xml",
    "chars": 622,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.hibernate:hibernate-validator:5.3.6.Final\">\n    <CLASSES>\n  "
  },
  {
    "path": ".idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_1_Final.xml",
    "chars": 596,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.jboss.logging:jboss-logging:3.3.1.Final\">\n    <CLASSES>\n    "
  },
  {
    "path": ".idea/libraries/Maven__org_mockito_mockito_core_1_10_19.xml",
    "chars": 537,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.mockito:mockito-core:1.10.19\">\n    <CLASSES>\n      <root url"
  },
  {
    "path": ".idea/libraries/Maven__org_mybatis_mybatis_3_4_5.xml",
    "chars": 488,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.mybatis:mybatis:3.4.5\">\n    <CLASSES>\n      <root url=\"jar:/"
  },
  {
    "path": ".idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_1.xml",
    "chars": 537,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.mybatis:mybatis-spring:1.3.1\">\n    <CLASSES>\n      <root url"
  },
  {
    "path": ".idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_3_1.xml",
    "chars": 718,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.3.1\""
  },
  {
    "path": ".idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_3_1.xml",
    "chars": 676,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.1\">\n    "
  },
  {
    "path": ".idea/libraries/Maven__org_objenesis_objenesis_2_1.xml",
    "chars": 496,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.objenesis:objenesis:2.1\">\n    <CLASSES>\n      <root url=\"jar"
  },
  {
    "path": ".idea/libraries/Maven__org_ow2_asm_asm_5_0_3.xml",
    "chars": 460,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.ow2.asm:asm:5.0.3\">\n    <CLASSES>\n      <root url=\"jar://$MA"
  },
  {
    "path": ".idea/libraries/Maven__org_projectlombok_lombok_1_16_20.xml",
    "chars": 519,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.projectlombok:lombok:1.16.20\">\n    <CLASSES>\n      <root url"
  },
  {
    "path": ".idea/libraries/Maven__org_skyscreamer_jsonassert_1_4_0.xml",
    "chars": 525,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.skyscreamer:jsonassert:1.4.0\">\n    <CLASSES>\n      <root url"
  },
  {
    "path": ".idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_25.xml",
    "chars": 536,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.slf4j:jcl-over-slf4j:1.7.25\">\n    <CLASSES>\n      <root url="
  },
  {
    "path": ".idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_25.xml",
    "chars": 522,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.slf4j:jul-to-slf4j:1.7.25\">\n    <CLASSES>\n      <root url=\"j"
  },
  {
    "path": ".idea/libraries/Maven__org_slf4j_log4j_over_slf4j_1_7_25.xml",
    "chars": 550,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.slf4j:log4j-over-slf4j:1.7.25\">\n    <CLASSES>\n      <root ur"
  },
  {
    "path": ".idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml",
    "chars": 501,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.slf4j:slf4j-api:1.7.25\">\n    <CLASSES>\n      <root url=\"jar:"
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_boot_spring_boot_1_5_10_RELEASE.xml",
    "chars": 631,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework.boot:spring-boot:1.5.10.RELEASE\">\n    <CLASS"
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_boot_spring_boot_1_5_19_RELEASE.xml",
    "chars": 631,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework.boot:spring-boot:1.5.19.RELEASE\">\n    <CLASS"
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_10_RELEASE.xml",
    "chars": 729,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework.boot:spring-boot-autoconfigure:1.5.10.RELEAS"
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_boot_spring_boot_starter_1_5_10_RELEASE.xml",
    "chars": 687,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework.boot:spring-boot-starter:1.5.10.RELEASE\">\n  "
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_1_5_10_RELEASE.xml",
    "chars": 722,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.10.RELEASE"
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_1_5_10_RELEASE.xml",
    "chars": 743,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework.boot:spring-boot-starter-logging:1.5.10.RELE"
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_1_5_10_RELEASE.xml",
    "chars": 722,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework.boot:spring-boot-starter-test:1.5.10.RELEASE"
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_10_RELEASE.xml",
    "chars": 736,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework.boot:spring-boot-starter-tomcat:1.5.10.RELEA"
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_1_5_10_RELEASE.xml",
    "chars": 715,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework.boot:spring-boot-starter-web:1.5.10.RELEASE\""
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_boot_spring_boot_test_1_5_10_RELEASE.xml",
    "chars": 666,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework.boot:spring-boot-test:1.5.10.RELEASE\">\n    <"
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_10_RELEASE.xml",
    "chars": 764,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework.boot:spring-boot-test-autoconfigure:1.5.10.R"
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_spring_aop_4_3_14_RELEASE.xml",
    "chars": 604,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework:spring-aop:4.3.14.RELEASE\">\n    <CLASSES>\n  "
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_spring_beans_4_3_14_RELEASE.xml",
    "chars": 618,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework:spring-beans:4.3.14.RELEASE\">\n    <CLASSES>\n"
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_spring_context_4_3_14_RELEASE.xml",
    "chars": 632,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework:spring-context:4.3.14.RELEASE\">\n    <CLASSES"
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_spring_core_4_3_14_RELEASE.xml",
    "chars": 611,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework:spring-core:4.3.14.RELEASE\">\n    <CLASSES>\n "
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_spring_expression_4_3_14_RELEASE.xml",
    "chars": 653,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework:spring-expression:4.3.14.RELEASE\">\n    <CLAS"
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_spring_jdbc_5_1_9_RELEASE.xml",
    "chars": 604,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework:spring-jdbc:5.1.9.RELEASE\">\n    <CLASSES>\n  "
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_spring_test_4_3_14_RELEASE.xml",
    "chars": 611,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework:spring-test:4.3.14.RELEASE\">\n    <CLASSES>\n "
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_spring_tx_4_3_14_RELEASE.xml",
    "chars": 597,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework:spring-tx:4.3.14.RELEASE\">\n    <CLASSES>\n   "
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_spring_web_4_3_14_RELEASE.xml",
    "chars": 604,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework:spring-web:4.3.14.RELEASE\">\n    <CLASSES>\n  "
  },
  {
    "path": ".idea/libraries/Maven__org_springframework_spring_webmvc_4_3_14_RELEASE.xml",
    "chars": 625,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.springframework:spring-webmvc:4.3.14.RELEASE\">\n    <CLASSES>"
  },
  {
    "path": ".idea/libraries/Maven__org_yaml_snakeyaml_1_17.xml",
    "chars": 483,
    "preview": "<component name=\"libraryTable\">\n  <library name=\"Maven: org.yaml:snakeyaml:1.17\">\n    <CLASSES>\n      <root url=\"jar://$"
  },
  {
    "path": ".idea/misc.xml",
    "chars": 470,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"MavenProjectsManager\">\n    <option name="
  },
  {
    "path": ".idea/modules.xml",
    "chars": 1066,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"ProjectModuleManager\">\n    <modules>\n   "
  },
  {
    "path": ".idea/uiDesigner.xml",
    "chars": 8792,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"Palette2\">\n    <group name=\"Swing\">\n    "
  },
  {
    "path": ".idea/vcs.xml",
    "chars": 180,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"VcsDirectoryMappings\">\n    <mapping dire"
  },
  {
    "path": ".idea/workspace.xml",
    "chars": 58296,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"ChangeListManager\">\n    <list default=\"t"
  },
  {
    "path": "README.md",
    "chars": 1827,
    "preview": "# WEB数据库管理平台简介\n给大家推荐一个自研的开源WEB版数据库管理工具:**kb-dms**\n\n开源项目地址: [kb-dms](https://github.com/qabin/kb-dms)  ,如果能帮到你,请帮忙点个星。谢谢~"
  },
  {
    "path": "kb-dms-backend/.gitignore",
    "chars": 333,
    "preview": "HELP.md\ntarget/\n!.mvn/wrapper/maven-wrapper.jar\n!**/src/main/**\n!**/src/test/**\n\n### STS ###\n.apt_generated\n.classpath\n."
  },
  {
    "path": "kb-dms-backend/contract/pom.xml",
    "chars": 692,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www"
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/BaseResponse.java",
    "chars": 497,
    "preview": "package com.bin.kong.dms.contract.common;\n\nimport lombok.Getter;\nimport lombok.Setter;\nimport org.springframework.util.S"
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/BaseSearch.java",
    "chars": 167,
    "preview": "package com.bin.kong.dms.contract.common;\n\nimport lombok.*;\n\n@Data\n@Builder\n@AllArgsConstructor\n@NoArgsConstructor\npubli"
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/GenericResponse.java",
    "chars": 293,
    "preview": "package com.bin.kong.dms.contract.common;\n\nimport lombok.Getter;\nimport lombok.Setter;\n\n@Setter\n@Getter\npublic class Gen"
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/PaginationResponse.java",
    "chars": 294,
    "preview": "package com.bin.kong.dms.contract.common;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lombok.Data;\n"
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/ResponseState.java",
    "chars": 103,
    "preview": "package com.bin.kong.dms.contract.common;\n\npublic interface ResponseState {\n    boolean isSuccess();\n}\n"
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/SearchListAndCountDO.java",
    "chars": 296,
    "preview": "package com.bin.kong.dms.contract.common;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lombok.Data;\n"
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/DatasourceForSearchResponse.java",
    "chars": 686,
    "preview": "package com.bin.kong.dms.contract.config.response;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lomb"
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/DatasourcePermissionMemberResponse.java",
    "chars": 419,
    "preview": "package com.bin.kong.dms.contract.config.response;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lomb"
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/DbResponse.java",
    "chars": 331,
    "preview": "package com.bin.kong.dms.contract.config.response;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lomb"
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/TableResponse.java",
    "chars": 334,
    "preview": "package com.bin.kong.dms.contract.config.response;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lomb"
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/permission/response/SqlOptionsResponse.java",
    "chars": 336,
    "preview": "package com.bin.kong.dms.contract.permission.response;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport "
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/statistics/response/GeneralBizCountResponse.java",
    "chars": 481,
    "preview": "package com.bin.kong.dms.contract.statistics.response;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport "
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/statistics/response/GeneralMonthTimelineResponse.java",
    "chars": 680,
    "preview": "package com.bin.kong.dms.contract.statistics.response;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport "
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/entity/RequestUserInfo.java",
    "chars": 299,
    "preview": "package com.bin.kong.dms.contract.user.entity;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lombok.D"
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/LoginRequest.java",
    "chars": 302,
    "preview": "package com.bin.kong.dms.contract.user.request;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lombok."
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/RegisterRequest.java",
    "chars": 330,
    "preview": "package com.bin.kong.dms.contract.user.request;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lombok."
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/SqlEditorShareRequest.java",
    "chars": 380,
    "preview": "package com.bin.kong.dms.contract.user.request;\n\nimport com.bin.kong.dms.contract.user.entity.RequestUserInfo;\nimport lo"
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/UpdateUserInfoRequest.java",
    "chars": 360,
    "preview": "package com.bin.kong.dms.contract.user.request;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lombok."
  },
  {
    "path": "kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/utils/SqlExeRequest.java",
    "chars": 262,
    "preview": "package com.bin.kong.dms.contract.utils;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lombok.Data;\ni"
  },
  {
    "path": "kb-dms-backend/core/pom.xml",
    "chars": 1278,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/config/ThreadPoolConfig.java",
    "chars": 1187,
    "preview": "package com.bin.kong.dms.core.config;\n\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.co"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/constants/CookieConstants.java",
    "chars": 145,
    "preview": "package com.bin.kong.dms.core.constants;\n\npublic class CookieConstants {\n    public final static String KB_MDS_SESSIONID"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/constants/ResponseConstants.java",
    "chars": 503,
    "preview": "package com.bin.kong.dms.core.constants;\n\npublic class ResponseConstants {\n    public final static Integer SUCCESS_CODE "
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/constants/UserInfoConstants.java",
    "chars": 209,
    "preview": "package com.bin.kong.dms.core.constants;\n\npublic class UserInfoConstants {\n    public final static String CURRENT_USER_N"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicDataExeUtils.java",
    "chars": 5053,
    "preview": "package com.bin.kong.dms.core.dynamicdatasource;\n\nimport com.bin.kong.dms.core.entity.SqlExeResult;\nimport com.bin.kong."
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicDataSourceContextHolder.java",
    "chars": 1894,
    "preview": "package com.bin.kong.dms.core.dynamicdatasource;\n\nimport org.springframework.jdbc.core.JdbcTemplate;\n\nimport javax.sql.D"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicDataSourceUtils.java",
    "chars": 3174,
    "preview": "package com.bin.kong.dms.core.dynamicdatasource;\n\nimport com.alibaba.druid.pool.DruidDataSource;\nimport com.bin.kong.dms"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicSqlOptionTypeEntity.java",
    "chars": 714,
    "preview": "package com.bin.kong.dms.core.dynamicdatasource;\n\nimport com.bin.kong.dms.core.enums.DatasourceTypeEnum;\nimport com.bin."
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicSqlOptionTypeWithDruidControl.java",
    "chars": 2242,
    "preview": "package com.bin.kong.dms.core.dynamicdatasource;\n\nimport com.alibaba.druid.sql.SQLUtils;\nimport com.alibaba.druid.sql.as"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicSqlSyntaxCheck.java",
    "chars": 2260,
    "preview": "package com.bin.kong.dms.core.dynamicdatasource;\n\nimport com.alibaba.druid.sql.ast.statement.SQLDeleteStatement;\nimport "
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/MetaIndexEntity.java",
    "chars": 370,
    "preview": "package com.bin.kong.dms.core.entity;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lombok.Data;\nimpo"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/Result.java",
    "chars": 308,
    "preview": "package com.bin.kong.dms.core.entity;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lombok.Data;\nimpo"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/SqlExeResult.java",
    "chars": 484,
    "preview": "package com.bin.kong.dms.core.entity;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lombok.Data;\nimpo"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableColumnAndIndexEntity.java",
    "chars": 392,
    "preview": "package com.bin.kong.dms.core.entity;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lombok.Data;\nimpo"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableFieldEntity.java",
    "chars": 814,
    "preview": "package com.bin.kong.dms.core.entity;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lombok.Data;\nimpo"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableIndexEntity.java",
    "chars": 437,
    "preview": "package com.bin.kong.dms.core.entity;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lombok.Data;\nimpo"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableInfoEntity.java",
    "chars": 417,
    "preview": "package com.bin.kong.dms.core.entity;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Builder;\nimport lombok.Data;\nimpo"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/BusGroupStatusEnum.java",
    "chars": 640,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum BusGroupStatusEnum {\n    //状态:-1 未生效  1. 生效\n    NO_ACTIVE(-1), ACTIVE("
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/DataSourceStatusEnum.java",
    "chars": 648,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum DataSourceStatusEnum {\n    //状态:-1 未生效  1. 生效\n    NO_ACTIVE(-1), ACTIV"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/DatasourceSearchTypeEnum.java",
    "chars": 748,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum DatasourceSearchTypeEnum {\n    //1. ALL 2. CREATE_BY_ME\n    ALL(1, \"al"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/DatasourceTypeEnum.java",
    "chars": 897,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum DatasourceTypeEnum {\n    //1. mysql 2. sqlserver\n    MYSQL(1, \"mysql\","
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/GroupSearchTypeEnum.java",
    "chars": 726,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum GroupSearchTypeEnum {\n    //1. ALL 2. CREATE_BY_ME\n    ALL(1, \"all\"), "
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlEditorActiveStatusEnum.java",
    "chars": 672,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum SqlEditorActiveStatusEnum {\n    //状态:-1 非当前窗口  1. 当前窗口\n    NO_ACTIVE(-"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlEditorOpenStatusEnum.java",
    "chars": 654,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum SqlEditorOpenStatusEnum {\n    //状态:-1 关闭  1. 打开\n    CLOSED(-1), OPEN(1"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlEditorStatusEnum.java",
    "chars": 640,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum SqlEditorStatusEnum {\n    //状态:0 关闭窗口  1. 打开窗口\n    CLOSED(0), OPEN(1);"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeRecordStatusEnum.java",
    "chars": 656,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum SqlExeRecordStatusEnum {\n    //状态:1 执行中  2. 执行完成\n    RUNNING(1), COMPL"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeResultCountTypeForStatisticsEnum.java",
    "chars": 688,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum SqlExeResultCountTypeForStatisticsEnum {\n    //状态:\n    ALL(1), SUCCESS"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeResultSearchByEnum.java",
    "chars": 1021,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum SqlExeResultSearchByEnum {\n    //1. ALL 2. CREATE_BY_ME\n    ALL(1, \"al"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeResultSearchTypeEnum.java",
    "chars": 1111,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum SqlExeResultSearchTypeEnum {\n    ALL(0, \"all\"), DQL_TYPE(1, \"dql_type\""
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeResultStatusEnum.java",
    "chars": 674,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum SqlExeResultStatusEnum {\n    //状态:1 执行中  2. 执行成功 -1. 执行失败\n    RUNNING("
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlOptionTypeEnum.java",
    "chars": 1474,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum SqlOptionTypeEnum {\n    //状态:1 执行中  2. 执行完成\n    DQL(1, \"DQL\", \"查询权限\", "
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlOptionTypeEnumForPermission.java",
    "chars": 1482,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum SqlOptionTypeEnumForPermission {\n    //状态:1 执行中  2. 执行完成\n    DQL(1, \"D"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlQuerySwitchEnum.java",
    "chars": 634,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum SqlQuerySwitchEnum {\n    //状态:-1 关闭  1. 打开\n    CLOSED(-1), OPEN(1);\n\n "
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlSyntaxCheckResultEnum.java",
    "chars": 1179,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum SqlSyntaxCheckResultEnum {\n    //状态:0.正常,1 NO_LIMIT  2. NO_WHERE\n    S"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlSyntaxErrorCountTypeForStatisticsEnum.java",
    "chars": 706,
    "preview": "package com.bin.kong.dms.core.enums;\n\npublic enum SqlSyntaxErrorCountTypeForStatisticsEnum {\n    //状态:\n   ALL(1), NO_LIM"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/exception/UserNotExistException.java",
    "chars": 182,
    "preview": "package com.bin.kong.dms.core.exception;\n\npublic class UserNotExistException extends RuntimeException {\n    public UserN"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/exception/UserStatusException.java",
    "chars": 183,
    "preview": "package com.bin.kong.dms.core.exception;\n\npublic class UserStatusException extends RuntimeException {\n    public UserSta"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/mybatis/DataSourceConfig.java",
    "chars": 611,
    "preview": "package com.bin.kong.dms.core.mybatis;\n\nimport com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;\nimpor"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/mybatis/MybatisConfigDms.java",
    "chars": 1323,
    "preview": "package com.bin.kong.dms.core.mybatis;\n\nimport org.apache.ibatis.session.SqlSessionFactory;\nimport org.mybatis.spring.Sq"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/utils/DbUtils.java",
    "chars": 19507,
    "preview": "package com.bin.kong.dms.core.utils;\n\nimport com.bin.kong.dms.core.dynamicdatasource.DynamicDataSourceContextHolder;\nimp"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/utils/HttpUtils.java",
    "chars": 6267,
    "preview": "package com.bin.kong.dms.core.utils;\n\nimport com.alibaba.fastjson.JSON;\nimport org.apache.http.Header;\nimport org.apache"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/utils/PPAesUtils.java",
    "chars": 3757,
    "preview": "package com.bin.kong.dms.core.utils;\n\nimport lombok.extern.slf4j.Slf4j;\nimport org.apache.commons.lang3.StringUtils;\n\nim"
  },
  {
    "path": "kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/utils/PPStringUtils.java",
    "chars": 1565,
    "preview": "package com.bin.kong.dms.core.utils;\n\nimport lombok.extern.slf4j.Slf4j;\nimport net.sf.jsqlparser.JSQLParserException;\nim"
  },
  {
    "path": "kb-dms-backend/dao/pom.xml",
    "chars": 1685,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfAdminConfigMapper.java",
    "chars": 584,
    "preview": "package com.bin.kong.dms.dao.mapper.config;\n\n\nimport com.bin.kong.dms.model.config.entity.CfAdminConfig;\nimport com.bin."
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfBusGroupMapper.java",
    "chars": 563,
    "preview": "package com.bin.kong.dms.dao.mapper.config;\n\nimport com.bin.kong.dms.model.config.entity.CfBusGroup;\nimport com.bin.kong"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfBusGroupOwnersMapper.java",
    "chars": 498,
    "preview": "package com.bin.kong.dms.dao.mapper.config;\n\nimport com.bin.kong.dms.model.config.entity.CfBusGroupOwners;\n\nimport java."
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfBusGroupUsersMapper.java",
    "chars": 653,
    "preview": "package com.bin.kong.dms.dao.mapper.config;\n\n\nimport com.bin.kong.dms.model.config.entity.CfBusGroupUsers;\nimport com.bi"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfDatasourceMapper.java",
    "chars": 588,
    "preview": "package com.bin.kong.dms.dao.mapper.config;\n\nimport com.bin.kong.dms.model.config.entity.CfDatasource;\nimport com.bin.ko"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfDatasourceOwnersMapper.java",
    "chars": 517,
    "preview": "package com.bin.kong.dms.dao.mapper.config;\n\nimport com.bin.kong.dms.model.config.entity.CfDatasourceOwners;\n\nimport jav"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfDatasourcePermissionMemberMapper.java",
    "chars": 600,
    "preview": "package com.bin.kong.dms.dao.mapper.config;\n\nimport com.bin.kong.dms.model.config.entity.CfDatasourcePermissionMember;\n\n"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfDatasourcePermissionSqlOptionsMapper.java",
    "chars": 632,
    "preview": "package com.bin.kong.dms.dao.mapper.config;\n\nimport com.bin.kong.dms.model.config.entity.CfDatasourcePermissionSqlOption"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/join/BusGroupJoinOwnerMapper.java",
    "chars": 316,
    "preview": "package com.bin.kong.dms.dao.mapper.join;\n\n\nimport com.bin.kong.dms.model.join.entity.BusGroupJoinOwner;\nimport com.bin."
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/join/DatasourceJoinGroupJoinOwnerMapper.java",
    "chars": 437,
    "preview": "package com.bin.kong.dms.dao.mapper.join;\n\n\nimport com.bin.kong.dms.model.join.entity.DatasourceJoinGroupJoinOwner;\nimpo"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/join/DatasourceJoinGroupMapper.java",
    "chars": 383,
    "preview": "package com.bin.kong.dms.dao.mapper.join;\n\n\nimport com.bin.kong.dms.model.join.entity.DatasourceJoinGroup;\nimport com.bi"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/join/SqlEditorTabJoinDatasourceMapper.java",
    "chars": 361,
    "preview": "package com.bin.kong.dms.dao.mapper.join;\n\n\nimport com.bin.kong.dms.model.join.entity.SqlEditorTabJoinDatasource;\nimport"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/result/RsSqlExeRecordMapper.java",
    "chars": 351,
    "preview": "package com.bin.kong.dms.dao.mapper.result;\n\nimport com.bin.kong.dms.model.result.entity.RsSqlExeRecord;\n\npublic interfa"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/result/RsSqlExeResultMapper.java",
    "chars": 769,
    "preview": "package com.bin.kong.dms.dao.mapper.result;\n\nimport com.bin.kong.dms.model.result.entity.RsSqlExeResult;\nimport com.bin."
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlExeBizTotalMapper.java",
    "chars": 428,
    "preview": "package com.bin.kong.dms.dao.mapper.statistics;\n\nimport com.bin.kong.dms.model.statistics.entity.StSqlExeBizTotal;\n\npubl"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlExeResultCountDayMapper.java",
    "chars": 584,
    "preview": "package com.bin.kong.dms.dao.mapper.statistics;\n\nimport com.bin.kong.dms.model.statistics.entity.StSqlExeResultCountDay;"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlExeResultCountTimelineMapper.java",
    "chars": 590,
    "preview": "package com.bin.kong.dms.dao.mapper.statistics;\n\nimport com.bin.kong.dms.model.statistics.entity.StSqlExeResultCountTime"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlSyntaxErrorCountDayMapper.java",
    "chars": 600,
    "preview": "package com.bin.kong.dms.dao.mapper.statistics;\n\nimport com.bin.kong.dms.model.statistics.entity.StSqlSyntaxErrorCountDa"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlSyntaxErrorCountTimelineMapper.java",
    "chars": 601,
    "preview": "package com.bin.kong.dms.dao.mapper.statistics;\n\nimport com.bin.kong.dms.model.statistics.entity.StSqlSyntaxErrorCountTi"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsActiveSqlEditorTabMapper.java",
    "chars": 472,
    "preview": "package com.bin.kong.dms.dao.mapper.user;\n\nimport com.bin.kong.dms.model.user.entity.UsActiveSqlEditorTab;\n\nimport java."
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsFavoriteDatasourceMapper.java",
    "chars": 540,
    "preview": "package com.bin.kong.dms.dao.mapper.user;\n\nimport com.bin.kong.dms.model.user.entity.UsFavoriteDatasource;\n\nimport java."
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsFavoriteDbMapper.java",
    "chars": 476,
    "preview": "package com.bin.kong.dms.dao.mapper.user;\n\nimport com.bin.kong.dms.model.user.entity.UsFavoriteDb;\n\nimport java.util.Lis"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsFavoriteGroupMapper.java",
    "chars": 553,
    "preview": "package com.bin.kong.dms.dao.mapper.user;\n\nimport com.bin.kong.dms.model.user.entity.UsFavoriteGroup;\n\nimport java.util."
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsFavoriteTableMapper.java",
    "chars": 502,
    "preview": "package com.bin.kong.dms.dao.mapper.user;\n\nimport com.bin.kong.dms.model.user.entity.UsFavoriteTable;\n\nimport java.util."
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsSqlEditorTabMapper.java",
    "chars": 498,
    "preview": "package com.bin.kong.dms.dao.mapper.user;\n\nimport com.bin.kong.dms.model.user.entity.UsSqlEditorTab;\nimport com.bin.kong"
  },
  {
    "path": "kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UserInfoMapper.java",
    "chars": 495,
    "preview": "package com.bin.kong.dms.dao.mapper.user;\n\nimport com.bin.kong.dms.contract.common.BaseSearch;\nimport com.bin.kong.dms.m"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/generatorConfig.xml",
    "chars": 2311,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE generatorConfiguration\n        PUBLIC \"-//mybatis.org//DTD MyBatis Gene"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/configMapping/CfAdminConfigMapper.xml",
    "chars": 3313,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/configMapping/CfBusGroupMapper.xml",
    "chars": 4980,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/configMapping/CfBusGroupOwnersMapper.xml",
    "chars": 3076,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/configMapping/CfBusGroupUsersMapper.xml",
    "chars": 4138,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/configMapping/CfDatasourceMapper.xml",
    "chars": 8526,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/configMapping/CfDatasourceOwnersMapper.xml",
    "chars": 3042,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/configMapping/CfDatasourcePermissionMemberMapper.xml",
    "chars": 3826,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/configMapping/CfDatasourcePermissionSqlOptionsMapper.xml",
    "chars": 4132,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/joinMapping/BusGroupJoinOwnerMapper.xml",
    "chars": 2082,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/joinMapping/DatasourceJoinGroupJoinOwnerMapper.xml",
    "chars": 3339,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/joinMapping/DatasourceJoinGroupMapper.xml",
    "chars": 3122,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/joinMapping/SqlEditorTabJoinDatasourceMapper.xml",
    "chars": 2505,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/resultMapping/RsSqlExeRecordMapper.xml",
    "chars": 4286,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/resultMapping/RsSqlExeResultMapper.xml",
    "chars": 10948,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/statisticsMapping/StSqlExeBizTotalMapper.xml",
    "chars": 7971,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/statisticsMapping/StSqlExeResultCountDayMapper.xml",
    "chars": 3547,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/statisticsMapping/StSqlExeResultCountTimelineMapper.xml",
    "chars": 3455,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/statisticsMapping/StSqlSyntaxErrorCountDayMapper.xml",
    "chars": 3236,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/statisticsMapping/StSqlSyntaxErrorCountTimelineMapper.xml",
    "chars": 2854,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  },
  {
    "path": "kb-dms-backend/dao/src/main/resources/mybatis/userMapping/UsActiveSqlEditorTabMapper.xml",
    "chars": 3274,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
  }
]

// ... and 340 more files (download for full content)

About this extraction

This page contains the full source code of the qabin/kb-dms GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 540 files (14.2 MB), approximately 3.8M tokens, and a symbol index with 3077 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!