From dc11fb81827d857b946118707bec5b99a0af3628 Mon Sep 17 00:00:00 2001 From: wuayee <532203926@qq.com> Date: Fri, 9 May 2025 11:11:54 +0800 Subject: [PATCH 01/25] =?UTF-8?q?[appBuilder]=20=E5=BD=92=E6=A1=A3sql?= =?UTF-8?q?=E5=86=85=E7=BD=AE=E8=AF=AD=E5=8F=A5=EF=BC=8C=E5=B9=B6=E5=8A=A0?= =?UTF-8?q?=E5=85=A5=E6=89=A7=E8=A1=8C=E8=84=9A=E6=9C=AC=20(#175)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: wuayee --- .../Aipp/aipp/aipp_inst_file_create_table.sql | 8 - .../Aipp/aipp/aipp_inst_log_create_table.sql | 13 - .../sql/Aipp/form/form_data_create_table.sql | 21 - .../app_builder_app_create_table.sql | 16 - .../app_builder_component_create_table.sql | 14 - .../app_builder_config_create_table.sql | 11 - ...p_builder_config_property_create_table.sql | 7 - .../app_builder_flow_graph_create_table.sql | 10 - .../app_builder_form_create_table.sql | 12 - ...app_builder_form_property_create_table.sql | 12 - .../dataengine/dataengine.postgres.create.sql | 18 - .../taskcenter.owner.to.list.create.sql | 39 - .../taskcenter/taskcenter.postgres.create.sql | 837 ---------------- ...ter.postgres.create_compatible_with_h2.sql | 66 -- .../taskcenter/taskcenter.postgres.data.sql | 18 - .../taskcenter.postgres.function.sql | 147 --- ...askcenter.postgres.taskrelation.create.sql | 13 - .../taskcenter.templateExtend.create.sql | 45 - .../jane/jober/sql/jade/02_general_create.sql | 910 ------------------ .../taskcenter.add_wide_text_column.sql | 18 - ...askcenter.postgres.update_202402171055.sql | 18 - ...askcenter.postgres.update_202403011554.sql | 6 - ...askcenter.postgres.update_202405091900.sql | 3 - .../resources/sql/data/appbuilder_insert.sql} | 26 - .../resources/sql/data/tr_t_interview.sql | 70 ++ .../create_tables/appbuilder_create.sql} | 0 .../schema/create_tables/general_create.sql} | 144 ++- .../resources/sql/data/tr_init_models.sql | 3 + .../resources/sql/data/tr_t_model_import.sql | 66 ++ .../aipp_custom_model_center.sql | 8 +- .../main/resources/sql/data/tr_t_wenjie.sql | 59 ++ .../app_engine_announcement_create_table.sql | 0 .../create_tables/app_base_create_table.sql} | 0 .../app_engine_metrics_create_table.sql | 0 .../create_tables}/app_eval_create_table.sql | 0 .../create_tables}/app_task_create_table.sql | 10 +- .../simple_id_generator_create_sequence.sql} | 0 .../sql/data/tr_t_knowledge_config.sql | 72 ++ .../create_tables}/aipp_user_knowledge.sql | 4 +- .../create_tables}/definition-group.sql | 4 +- .../{ => schema/create_tables}/definition.sql | 4 +- .../create_tables}/schema-tool.sql | 4 +- .../{ => schema/create_tables}/tool-group.sql | 4 +- .../sql/{ => schema/function}/function.sql | 0 .../sql/{ => schema/trigger}/trigger-tool.sql | 0 .../resources/sql/create/definition-group.sql | 4 +- .../test/resources/sql/create/definition.sql | 4 +- .../test/resources/sql/create/tool-group.sql | 4 +- .../src/test/resources/sql/create/tool.sql | 4 +- examples/app-demo/sql/insert.sql | 45 - shell/sql_exec.sh | 214 ++++ .../main/resources/sql/data/tr_init_tools.sql | 188 ++++ .../create_tables}/schema-app.sql | 0 .../create_tables}/schema-collection.sql | 0 .../create_tables}/schema-model.sql | 0 .../create_tables}/schema-plugin-tool.sql | 0 .../create_tables}/schema-plugin.sql | 0 .../create_tables}/schema-tag.sql | 0 .../create_tables}/schema-task.sql | 0 .../sql/{ => schema}/trigger/trigger-app.sql | 0 .../trigger/trigger-collection.sql | 0 .../{ => schema}/trigger/trigger-model.sql | 0 .../trigger/trigger-plugin-tool.sql | 0 .../{ => schema}/trigger/trigger-plugin.sql | 0 .../sql/{ => schema}/trigger/trigger-tag.sql | 0 .../sql/{ => schema}/trigger/trigger-task.sql | 0 .../test/resources/sql/create/definition.sql | 4 +- 67 files changed, 815 insertions(+), 2392 deletions(-) delete mode 100644 app-builder/jane/jober/sql/Aipp/aipp/aipp_inst_file_create_table.sql delete mode 100644 app-builder/jane/jober/sql/Aipp/aipp/aipp_inst_log_create_table.sql delete mode 100644 app-builder/jane/jober/sql/Aipp/form/form_data_create_table.sql delete mode 100644 app-builder/jane/jober/sql/appbuilder/app_builder_app_create_table.sql delete mode 100644 app-builder/jane/jober/sql/appbuilder/app_builder_component_create_table.sql delete mode 100644 app-builder/jane/jober/sql/appbuilder/app_builder_config_create_table.sql delete mode 100644 app-builder/jane/jober/sql/appbuilder/app_builder_config_property_create_table.sql delete mode 100644 app-builder/jane/jober/sql/appbuilder/app_builder_flow_graph_create_table.sql delete mode 100644 app-builder/jane/jober/sql/appbuilder/app_builder_form_create_table.sql delete mode 100644 app-builder/jane/jober/sql/appbuilder/app_builder_form_property_create_table.sql delete mode 100644 app-builder/jane/jober/sql/create/dataengine/dataengine.postgres.create.sql delete mode 100644 app-builder/jane/jober/sql/create/taskcenter/taskcenter.owner.to.list.create.sql delete mode 100644 app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.create.sql delete mode 100644 app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.create_compatible_with_h2.sql delete mode 100644 app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.data.sql delete mode 100644 app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.function.sql delete mode 100644 app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.taskrelation.create.sql delete mode 100644 app-builder/jane/jober/sql/create/taskcenter/taskcenter.templateExtend.create.sql delete mode 100644 app-builder/jane/jober/sql/jade/02_general_create.sql delete mode 100644 app-builder/jane/jober/sql/update/taskcenter/taskcenter.add_wide_text_column.sql delete mode 100644 app-builder/jane/jober/sql/update/taskcenter/taskcenter.postgres.update_202402171055.sql delete mode 100644 app-builder/jane/jober/sql/update/taskcenter/taskcenter.postgres.update_202403011554.sql delete mode 100644 app-builder/jane/jober/sql/update/taskcenter/taskcenter.postgres.update_202405091900.sql rename app-builder/jane/{jober/sql/jade/06_appbuilder_insert.sql => plugins/aipp-plugin/src/main/resources/sql/data/appbuilder_insert.sql} (97%) create mode 100644 app-builder/jane/plugins/aipp-plugin/src/main/resources/sql/data/tr_t_interview.sql rename app-builder/jane/{jober/sql/jade/02_appbuilder_create.sql => plugins/aipp-plugin/src/main/resources/sql/schema/create_tables/appbuilder_create.sql} (100%) rename app-builder/jane/{jober/sql/create/flowsengine/flowsengine.postgres.create.sql => plugins/aipp-plugin/src/main/resources/sql/schema/create_tables/general_create.sql} (66%) create mode 100644 app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/data/tr_init_models.sql create mode 100644 app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/data/tr_t_model_import.sql rename app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/{ => schema/create_tables}/aipp_custom_model_center.sql (91%) create mode 100644 app-builder/plugins/plugins-show-case-parent/aito-data/src/main/resources/sql/data/tr_t_wenjie.sql rename app-engine/plugins/app-announcement/src/main/resources/sql/{ => schema/create_tables}/app_engine_announcement_create_table.sql (100%) rename app-engine/plugins/app-base/src/main/resources/sql/{07_app_base_creat_table.sql => schema/create_tables/app_base_create_table.sql} (100%) rename app-engine/plugins/app-metrics/src/main/resources/sql/{ => schema/create_tables}/app_engine_metrics_create_table.sql (100%) rename app-eval/plugins/eval-dataset/src/main/resources/sql/{ => schema/create_tables}/app_eval_create_table.sql (100%) rename app-eval/plugins/eval-task/src/main/resources/sql/{ => schema/create_tables}/app_task_create_table.sql (94%) rename app-eval/plugins/simple-uid-generator/src/main/resources/sql/{simple_id_generator_create_table.sql => schema/sequence/simple_id_generator_create_sequence.sql} (100%) create mode 100644 app-knowledge/plugins/knowledge-manager/src/main/resources/sql/data/tr_t_knowledge_config.sql rename app-knowledge/plugins/knowledge-manager/src/main/resources/sql/{ => schema/create_tables}/aipp_user_knowledge.sql (92%) rename carver/plugins/tool-repository-postgresql/src/main/resources/sql/{ => schema/create_tables}/definition-group.sql (89%) rename carver/plugins/tool-repository-postgresql/src/main/resources/sql/{ => schema/create_tables}/definition.sql (88%) rename carver/plugins/tool-repository-postgresql/src/main/resources/sql/{ => schema/create_tables}/schema-tool.sql (93%) rename carver/plugins/tool-repository-postgresql/src/main/resources/sql/{ => schema/create_tables}/tool-group.sql (90%) rename carver/plugins/tool-repository-postgresql/src/main/resources/sql/{ => schema/function}/function.sql (100%) rename carver/plugins/tool-repository-postgresql/src/main/resources/sql/{ => schema/trigger}/trigger-tool.sql (100%) delete mode 100644 examples/app-demo/sql/insert.sql create mode 100644 shell/sql_exec.sh create mode 100644 store/plugins/store-repository-postgresql/src/main/resources/sql/data/tr_init_tools.sql rename store/plugins/store-repository-postgresql/src/main/resources/sql/{create => schema/create_tables}/schema-app.sql (100%) rename store/plugins/store-repository-postgresql/src/main/resources/sql/{create => schema/create_tables}/schema-collection.sql (100%) rename store/plugins/store-repository-postgresql/src/main/resources/sql/{create => schema/create_tables}/schema-model.sql (100%) rename store/plugins/store-repository-postgresql/src/main/resources/sql/{create => schema/create_tables}/schema-plugin-tool.sql (100%) rename store/plugins/store-repository-postgresql/src/main/resources/sql/{create => schema/create_tables}/schema-plugin.sql (100%) rename store/plugins/store-repository-postgresql/src/main/resources/sql/{create => schema/create_tables}/schema-tag.sql (100%) rename store/plugins/store-repository-postgresql/src/main/resources/sql/{create => schema/create_tables}/schema-task.sql (100%) rename store/plugins/store-repository-postgresql/src/main/resources/sql/{ => schema}/trigger/trigger-app.sql (100%) rename store/plugins/store-repository-postgresql/src/main/resources/sql/{ => schema}/trigger/trigger-collection.sql (100%) rename store/plugins/store-repository-postgresql/src/main/resources/sql/{ => schema}/trigger/trigger-model.sql (100%) rename store/plugins/store-repository-postgresql/src/main/resources/sql/{ => schema}/trigger/trigger-plugin-tool.sql (100%) rename store/plugins/store-repository-postgresql/src/main/resources/sql/{ => schema}/trigger/trigger-plugin.sql (100%) rename store/plugins/store-repository-postgresql/src/main/resources/sql/{ => schema}/trigger/trigger-tag.sql (100%) rename store/plugins/store-repository-postgresql/src/main/resources/sql/{ => schema}/trigger/trigger-task.sql (100%) diff --git a/app-builder/jane/jober/sql/Aipp/aipp/aipp_inst_file_create_table.sql b/app-builder/jane/jober/sql/Aipp/aipp/aipp_inst_file_create_table.sql deleted file mode 100644 index ddceb4e1f9..0000000000 --- a/app-builder/jane/jober/sql/Aipp/aipp/aipp_inst_file_create_table.sql +++ /dev/null @@ -1,8 +0,0 @@ -create table if not exists aipp_instance_file -( - file_id bigserial not null primary key, - aipp_id varchar(255) not null, - filename varchar(255) not null, - create_at timestamp not null default current_timestamp, - create_by varchar(64) not null -); \ No newline at end of file diff --git a/app-builder/jane/jober/sql/Aipp/aipp/aipp_inst_log_create_table.sql b/app-builder/jane/jober/sql/Aipp/aipp/aipp_inst_log_create_table.sql deleted file mode 100644 index 951f290849..0000000000 --- a/app-builder/jane/jober/sql/Aipp/aipp/aipp_inst_log_create_table.sql +++ /dev/null @@ -1,13 +0,0 @@ -create table if not exists aipp_instance_log -( - log_id bigserial not null primary key, - aipp_id varchar(255) not null, - version varchar(255), - aipp_type varchar(64), - instance_id varchar(255) not null, - log_data json not null, - log_type varchar(64) not null, - create_at timestamp default current_timestamp, - create_by varchar(64) not null, - reserve json -); \ No newline at end of file diff --git a/app-builder/jane/jober/sql/Aipp/form/form_data_create_table.sql b/app-builder/jane/jober/sql/Aipp/form/form_data_create_table.sql deleted file mode 100644 index b1eb7b15f6..0000000000 --- a/app-builder/jane/jober/sql/Aipp/form/form_data_create_table.sql +++ /dev/null @@ -1,21 +0,0 @@ -create table if not exists form_data( - form_id varchar(64) not null COMMENT '表单id', - form_version varchar(32) not null COMMENT '表单版本', - form_name varchar(256) not null COMMENT '表单名称', - tenant_id varchar(64) COMMENT '租户id', - update_time timestamp COMMENT '更新时间', - update_user varchar(64) COMMENT '更新人', - create_time timestamp not null COMMENT '创建时间', - create_user varchar(64) COMMENT '创建人', - constraint form_pkey primary key (form_id, form_version) COMMENT '主键' -) COMMENT '表单数据表'; - - -create or replace function update_time() returns trigger as $$ -begin - NEW.update_time = now(); - return NEW; -end; -$$ language plpgsql; - -create trigger form_data_updater before UPDATE on form_data for each row execute function update_time(); diff --git a/app-builder/jane/jober/sql/appbuilder/app_builder_app_create_table.sql b/app-builder/jane/jober/sql/appbuilder/app_builder_app_create_table.sql deleted file mode 100644 index 46b0cc8c45..0000000000 --- a/app-builder/jane/jober/sql/appbuilder/app_builder_app_create_table.sql +++ /dev/null @@ -1,16 +0,0 @@ -create table if not exists app_builder_app -( - id varchar(64) not null primary key comment '主键id', - name varchar(255) not null comment 'app名称', - create_by varchar(64) not null comment '创建人', - create_at timestamp not null default current_timestamp comment '创建时间', - update_by varchar(64) not null comment '更新人', - update_at timestamp not null default current_timestamp comment '更新时间', - config_id varchar(255) not null comment '关联配置表id', - flow_graph_id varchar(255) not null comment '关联流程图表id', - tenant_id varchar(255) not null comment '租户id', - type varchar(255) not null comment 'app类型', - attributes json not null default '{}' comment '属性', - state varchar(255) not null comment '状态', - app_built_type varchar(8) not null default 'basic' comment '应用构建类型' -) comment 'app主表'; \ No newline at end of file diff --git a/app-builder/jane/jober/sql/appbuilder/app_builder_component_create_table.sql b/app-builder/jane/jober/sql/appbuilder/app_builder_component_create_table.sql deleted file mode 100644 index e5fe159861..0000000000 --- a/app-builder/jane/jober/sql/appbuilder/app_builder_component_create_table.sql +++ /dev/null @@ -1,14 +0,0 @@ -create table if not exists app_builder_component -( - id varchar(64) not null primary key COMMENT '主键id', - name varchar(255) not null COMMENT '名称', - type varchar(255) not null COMMENT '类型', - description varchar(255) not null COMMENT '描述', - form_id varchar(255) not null COMMENT '表单id', - service_id varchar(255) not null COMMENT '服务id', - tenant_id varchar(255) not null COMMENT '租户id', - create_by varchar(64) not null COMMENT '创建人', - create_at timestamp not null default current_timestamp COMMENT '创建时间', - update_by varchar(64) not null COMMENT '更新人', - update_at timestamp not null default current_timestamp COMMENT '更新时间' -) COMMENT 'app组件表'; \ No newline at end of file diff --git a/app-builder/jane/jober/sql/appbuilder/app_builder_config_create_table.sql b/app-builder/jane/jober/sql/appbuilder/app_builder_config_create_table.sql deleted file mode 100644 index 05c6d3c33d..0000000000 --- a/app-builder/jane/jober/sql/appbuilder/app_builder_config_create_table.sql +++ /dev/null @@ -1,11 +0,0 @@ -create table if not exists app_builder_config -( - id varchar(64) not null primary key COMMENT '主键id', - form_id varchar(255) not null COMMENT '表单表id', - app_id varchar(255) not null COMMENT 'app应用id', - tenant_id varchar(255) not null COMMENT '租户id', - create_by varchar(64) not null COMMENT '创建人', - create_at timestamp not null default current_timestamp COMMENT '创建时间', - update_by varchar(64) not null COMMENT '更新人', - update_at timestamp not null default current_timestamp COMMENT '更新时间' -) COMMENT 'app配置表'; \ No newline at end of file diff --git a/app-builder/jane/jober/sql/appbuilder/app_builder_config_property_create_table.sql b/app-builder/jane/jober/sql/appbuilder/app_builder_config_property_create_table.sql deleted file mode 100644 index 424f202caa..0000000000 --- a/app-builder/jane/jober/sql/appbuilder/app_builder_config_property_create_table.sql +++ /dev/null @@ -1,7 +0,0 @@ -create table if not exists app_builder_config_property -( - id varchar(64) not null primary key COMMENT '主键id', - node_id varchar(255) COMMENT 'node_id', - form_property_id varchar(255) not null COMMENT '配置表单项id', - config_id varchar(64) not null COMMENT '关联配置表id' -) COMMENT 'app配置项表'; \ No newline at end of file diff --git a/app-builder/jane/jober/sql/appbuilder/app_builder_flow_graph_create_table.sql b/app-builder/jane/jober/sql/appbuilder/app_builder_flow_graph_create_table.sql deleted file mode 100644 index 275871c25d..0000000000 --- a/app-builder/jane/jober/sql/appbuilder/app_builder_flow_graph_create_table.sql +++ /dev/null @@ -1,10 +0,0 @@ -create table if not exists app_builder_flow_graph -( - id varchar(64) not null primary key COMMENT '主键id', - name varchar(255) not null COMMENT '名称', - create_by varchar(64) not null COMMENT '创建人', - create_at timestamp not null default current_timestamp COMMENT '创建时间', - update_by varchar(64) not null COMMENT '更新人', - update_at timestamp not null default current_timestamp COMMENT '更新时间', - appearance TEXT COMMENT '描述' -) COMMENT 'app流程图表'; \ No newline at end of file diff --git a/app-builder/jane/jober/sql/appbuilder/app_builder_form_create_table.sql b/app-builder/jane/jober/sql/appbuilder/app_builder_form_create_table.sql deleted file mode 100644 index e55af5c12b..0000000000 --- a/app-builder/jane/jober/sql/appbuilder/app_builder_form_create_table.sql +++ /dev/null @@ -1,12 +0,0 @@ -create table if not exists app_builder_form -( - id varchar(64) not null primary key COMMENT '主键id', - name varchar(255) not null COMMENT '名称', - tenant_id varchar(255) not null COMMENT '租户id', - appearance TEXT COMMENT '描述', - type varchar(64) not null COMMENT '类型', - create_by varchar(64) not null COMMENT '创建人', - create_at timestamp not null default current_timestamp COMMENT '创建时间', - update_by varchar(64) not null COMMENT '更新人', - update_at timestamp not null default current_timestamp COMMENT '更新时间' -) COMMENT 'app表单表'; \ No newline at end of file diff --git a/app-builder/jane/jober/sql/appbuilder/app_builder_form_property_create_table.sql b/app-builder/jane/jober/sql/appbuilder/app_builder_form_property_create_table.sql deleted file mode 100644 index 501532c314..0000000000 --- a/app-builder/jane/jober/sql/appbuilder/app_builder_form_property_create_table.sql +++ /dev/null @@ -1,12 +0,0 @@ -create table if not exists app_builder_form_property -( - id varchar(64) not null primary key comment '主键id', - form_id varchar(255) not null comment '表单id', - name varchar(255) not null comment '名称', - data_type varchar(255) not null comment '数据类型', - default_value text comment '默认值', - data_from varchar(8) not null comment '数据来源', - in_group varchar(8) not null comment '应用所属的组', - description varchar(64) not null comment '应用描述', - is_deleted smallint default 0 comment '应用是否删除' -) comment 'app表单项表'; \ No newline at end of file diff --git a/app-builder/jane/jober/sql/create/dataengine/dataengine.postgres.create.sql b/app-builder/jane/jober/sql/create/dataengine/dataengine.postgres.create.sql deleted file mode 100644 index 0ed35effde..0000000000 --- a/app-builder/jane/jober/sql/create/dataengine/dataengine.postgres.create.sql +++ /dev/null @@ -1,18 +0,0 @@ -CREATE TABLE IF NOT EXISTS time_scheduler -( - scheduler_id VARCHAR(32) PRIMARY KEY, - task_definition_id VARCHAR(32) NOT NULL, - task_source_id VARCHAR(32) NOT NULL, - scheduler_data_type VARCHAR(63) NOT NULL, - source_app VARCHAR(63) NOT NULL, - create_time BIGINT NOT NULL, - end_time BIGINT NOT NULL, - scheduler_interval BIGINT NOT NULL, - latest_executor_time BIGINT NOT NULL, - filter JSONB, - properties JSONB, - modify_time BIGINT NOT NULL, - owner_address VARCHAR(32), - task_type_id VARCHAR(32) -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_SOURCE_ID ON time_scheduler (task_source_id); \ No newline at end of file diff --git a/app-builder/jane/jober/sql/create/taskcenter/taskcenter.owner.to.list.create.sql b/app-builder/jane/jober/sql/create/taskcenter/taskcenter.owner.to.list.create.sql deleted file mode 100644 index 676d6aa14c..0000000000 --- a/app-builder/jane/jober/sql/create/taskcenter/taskcenter.owner.to.list.create.sql +++ /dev/null @@ -1,39 +0,0 @@ ---将wide表中的text_4(owner)转为列表,序列 -CREATE SEQUENCE "list_index" START 1 INCREMENT 1; -INSERT INTO list_text(id,instance_id,property_id,index,value) -SELECT generate_uuid_text() AS id, w.id AS instance_id, - (SELECT id FROM task_property WHERE template_id IN (SELECT id FROM task_template_property WHERE task_template_id = '4f91b69973d1453aadf384d508aed894' AND name = 'owner') AND task_id=w.task_id) AS property_id, - CASE - WHEN row_number() OVER (PARTITION BY w.id ORDER BY w.id,s.index)=1 - THEN - SETVAL('list_index', 1) - ELSE - NEXTVAL('list_index') - END AS index, s.value -from task_instance_wide w, - regexp_split_to_table(w.text_4, ',') WITH ORDINALITY AS s(value, index) where w.id in (SELECT s.id from task_instance_wide s INNER JOIN task t ON s.task_id=t.id WHERE t.template_id IN (SELECT find_template_children('4f91b69973d1453aadf384d508aed894') AS id)); -DROP SEQUENCE "list_index"; - ---验证数量是否正确 -SELECT DISTINCT ON (instance_id) id FROM list_text; -SELECT count(1) FROM task_instance_wide; - ---将普通任务模板中的处理人和审批任务中的审批人属性的值.将属性的数据类型修改为LIST_TEXT,sequence修改为0 ---修改task_template_property和task_property表中owner对应的类型 - -UPDATE task_template_property SET data_type='LIST_TEXT',sequence=0 WHERE name='owner'; -UPDATE task_property SET data_type='LIST_TEXT',sequence=0 WHERE template_id = (SELECT id FROM task_template_property WHERE name='owner'); - ---将List_text中的值除index,添加到index_text中 -INSERT INTO index_text(id,instance_id,property_id,value) -SELECT generate_uuid_text(),instance_id,property_id,value -FROM list_text; - - ---回退:清空list_text表中所有数据 -TRUNCATE TABLE list_text; ---回退task_template_property和task_property表 -UPDATE task_template_property SET data_type='TEXT',sequence=4 WHERE name='owner'; -UPDATE task_property SET data_type='TEXT',sequence=4 WHERE template_id = (SELECT id FROM task_template_property WHERE name='owner'); ---回退index_text表 -DELETE FROM index_text WHERE instance_id IN (SELECT instance_id FROM list_text); \ No newline at end of file diff --git a/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.create.sql b/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.create.sql deleted file mode 100644 index fcbfa7de0b..0000000000 --- a/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.create.sql +++ /dev/null @@ -1,837 +0,0 @@ -CREATE TABLE IF NOT EXISTS task_tree -( - tree_id VARCHAR(32) PRIMARY KEY, - tree_name VARCHAR(255) NOT NULL, - tenant VARCHAR(255) NOT NULL, - is_deleted BOOLEAN DEFAULT FALSE, - created_by VARCHAR(127) NOT NULL, - updated_by VARCHAR(127), - deleted_by VARCHAR(32), - created_at timestamp without time zone NOT NULL, - updated_at timestamp without time zone, - deleted_at timestamp without time zone -); -CREATE UNIQUE INDEX IF NOT EXISTS idx_task_tree_name_tenant_deleted_at ON task_tree (tree_name, tenant, deleted_at); - -CREATE TABLE IF NOT EXISTS task_tree_node -( - node_id VARCHAR(32) PRIMARY KEY, - node_name VARCHAR(255) NOT NULL, - tree_id VARCHAR(32) NOT NULL, - parent_id VARCHAR(32), - node_level INT NOT NULL, - is_deleted BOOLEAN DEFAULT FALSE, - created_by VARCHAR(127) NOT NULL, - updated_by VARCHAR(127), - deleted_by VARCHAR(32), - created_at timestamp without time zone NOT NULL, - updated_at timestamp without time zone, - deleted_at timestamp without time zone -); - -CREATE TABLE IF NOT EXISTS task_definition -( - definition_id VARCHAR(32) PRIMARY KEY, - reference_id VARCHAR(32) NOT NULL, - task_detail TEXT, - task_type VARCHAR(127) NOT NULL, - version INT NOT NULL, - tenant VARCHAR(255) NOT NULL, - is_deleted BOOLEAN DEFAULT FALSE, - created_by VARCHAR(127) NOT NULL, - updated_by VARCHAR(127), - deleted_by VARCHAR(32), - created_at timestamp without time zone NOT NULL, - updated_at timestamp without time zone, - deleted_at timestamp without time zone -); - -CREATE TABLE IF NOT EXISTS task_definition_props -( - props_id VARCHAR(32) PRIMARY KEY, - definition_id VARCHAR(32) NOT NULL, - props_name VARCHAR(63) NOT NULL, - props_key VARCHAR(63) NOT NULL, - props_icon VARCHAR(63), - props_description VARCHAR(255), - props_value_type VARCHAR(63) NOT NULL, - props_value JSONB, - props_type VARCHAR(127) NOT NULL, - props_order INT NOT NULL, - is_required BOOLEAN DEFAULT TRUE, - is_deleted BOOLEAN DEFAULT FALSE, - display_props JSONB -); - -CREATE TABLE IF NOT EXISTS task_definition_props_handler -( - handler_id VARCHAR(32) PRIMARY KEY, - props_id VARCHAR(32) NOT NULL, - definition_source_id VARCHAR(32) NOT NULL, - props_updated_event VARCHAR(127), - props_updated_api VARCHAR(255), - is_deleted BOOLEAN DEFAULT FALSE -); - -CREATE TABLE IF NOT EXISTS task_definition_source -( - source_id VARCHAR(32) PRIMARY KEY, - definition_id VARCHAR(32) NOT NULL, - source_app VARCHAR(63) NOT NULL, - source_api VARCHAR(255), - source_handler VARCHAR(63) NOT NULL, - properties TEXT, - is_deleted BOOLEAN DEFAULT FALSE -); - -CREATE TABLE IF NOT EXISTS task_instance -( - instance_id VARCHAR(32) PRIMARY KEY, - definition_id VARCHAR(32) NOT NULL, - source_definition_id VARCHAR(32) NOT NULL, - field_value_1 TEXT, - field_value_2 TEXT, - field_value_3 TEXT, - field_value_4 TEXT, - field_value_5 TEXT, - field_value_6 TEXT, - field_value_7 TEXT, - field_value_8 TEXT, - field_value_9 TEXT, - field_value_10 TEXT, - field_value_11 TEXT, - field_value_12 TEXT, - field_value_13 TEXT, - field_value_14 TEXT, - field_value_15 TEXT, - field_value_16 TEXT, - field_value_17 TEXT, - field_value_18 TEXT, - field_value_19 TEXT, - field_value_20 TEXT, - field_value_21 TEXT, - field_value_22 TEXT, - field_value_23 TEXT, - field_value_24 TEXT, - field_value_25 TEXT, - field_value_26 TEXT, - field_value_27 TEXT, - field_value_28 TEXT, - field_value_29 TEXT, - field_value_30 TEXT, - field_value_31 TEXT, - field_value_32 TEXT, - field_value_33 TEXT, - field_value_34 TEXT, - field_value_35 TEXT, - field_value_36 TEXT, - field_value_37 TEXT, - field_value_38 TEXT, - field_value_39 TEXT, - field_value_40 TEXT, - field_value_41 TEXT, - field_value_42 TEXT, - field_value_43 TEXT, - field_value_44 TEXT, - field_value_45 TEXT, - field_value_46 TEXT, - field_value_47 TEXT, - field_value_48 TEXT, - field_value_49 TEXT, - field_value_50 TEXT, - field_value_51 TEXT, - field_value_52 TEXT, - field_value_53 TEXT, - field_value_54 TEXT, - field_value_55 TEXT, - field_value_56 TEXT, - field_value_57 TEXT, - field_value_58 TEXT, - field_value_59 TEXT, - field_value_60 TEXT, - field_value_61 TEXT, - field_value_62 TEXT, - field_value_63 TEXT, - field_value_64 TEXT, - field_value_65 TEXT, - field_value_66 TEXT, - field_value_67 TEXT, - field_value_68 TEXT, - field_value_69 TEXT, - field_value_70 TEXT, - field_value_71 TEXT, - field_value_72 TEXT, - field_value_73 TEXT, - field_value_74 TEXT, - field_value_75 TEXT, - field_value_76 TEXT, - field_value_77 TEXT, - field_value_78 TEXT, - field_value_79 TEXT, - field_value_80 TEXT, - field_value_81 TEXT, - field_value_82 TEXT, - field_value_83 TEXT, - field_value_84 TEXT, - field_value_85 TEXT, - field_value_86 TEXT, - field_value_87 TEXT, - field_value_88 TEXT, - field_value_89 TEXT, - field_value_90 TEXT, - field_value_91 TEXT, - field_value_92 TEXT, - field_value_93 TEXT, - field_value_94 TEXT, - field_value_95 TEXT, - field_value_96 TEXT, - field_value_97 TEXT, - field_value_98 TEXT, - field_value_99 TEXT, - field_value_100 TEXT, - is_deleted BOOLEAN DEFAULT FALSE -); - -CREATE TABLE IF NOT EXISTS task_tag -( - tag_id VARCHAR(32) PRIMARY KEY, - name VARCHAR(64) NOT NULL, - tenant VARCHAR(255) NOT NULL -); - -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_NAME_TENANT ON task_tag (name, tenant); - -INSERT INTO task_tag(tag_id, name, tenant) -VALUES ('41d00a31a9b34aa39b606d80fc426c2e', '未开始', 'public'); -INSERT INTO task_tag(tag_id, name, tenant) -VALUES ('8d038441b7514f5b99ea18992126cfa8', '进行中', 'public'); -INSERT INTO task_tag(tag_id, name, tenant) -VALUES ('4c4ddb220bfe4fe98374aff710afb3eb', '已完成', 'public'); -INSERT INTO task_tag(tag_id, name, tenant) -VALUES ('ad31edc774e24bfbb15e87084744e259', '有风险', 'public'); -INSERT INTO task_tag(tag_id, name, tenant) -VALUES ('e72a94b24e704e5abcffc920394f4a19', '无风险', 'public'); - - -CREATE TABLE IF NOT EXISTS task_source_schedule -( - id CHAR(32) PRIMARY KEY, - fitable_id CHAR(32) NOT NULL, - "interval" INTEGER NOT NULL, - filter VARCHAR(512) NOT NULL -); - -CREATE TABLE IF NOT EXISTS task_source -( - id CHAR(32) PRIMARY KEY, - task_id CHAR(32) NOT NULL, - name VARCHAR(64) NOT NULL, - app VARCHAR(64) NOT NULL, - type VARCHAR(32) NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_SOURCE ON task_source (task_id, name, app); -CREATE INDEX IF NOT EXISTS IDX_TASK_SOURCE_TASK ON task_source (task_id); - -CREATE TABLE IF NOT EXISTS task_property_trigger -( - id CHAR(32) PRIMARY KEY, - task_source_id CHAR(32) NOT NULL, - task_property_id CHAR(32) NOT NULL, - fitable_id CHAR(32) NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_PROPERTY_TRIGGER ON task_property_trigger (task_source_id, task_property_id, fitable_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_PROPERTY_TRIGGER_SOURCE ON task_property_trigger (task_source_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_PROPERTY_TRIGGER_PROPERTY ON task_property_trigger (task_property_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_PROPERTY_TRIGGER_FITABLE ON task_property_trigger (fitable_id); - -CREATE TABLE IF NOT EXISTS task_property -( - id CHAR(32) PRIMARY KEY, - task_id CHAR(32) NOT NULL, - name VARCHAR(64) NOT NULL, - required BOOLEAN NOT NULL, - identifiable BOOLEAN NOT NULL, - description VARCHAR(512) NOT NULL, - scope VARCHAR(16) NOT NULL, - data_type VARCHAR(16) NOT NULL, - sequence INTEGER NOT NULL, - appearance JSON NOT NULL, - template_id CHAR(32) NOT NULL DEFAULT '00000000000000000000000000000000' -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_PROPERTY ON task_property (task_id, name); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_DATA_SEQUENCE ON task_property (task_id, data_type, sequence); -CREATE INDEX IF NOT EXISTS IDX_TASK_PROPERTY_TASK ON task_property (task_id); - -CREATE TABLE IF NOT EXISTS task -( - id CHAR(32) PRIMARY KEY, - name VARCHAR(64) NOT NULL, - tenant_id CHAR(32) NOT NULL, - attributes JSON NOT NULL DEFAULT '{}', - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP(9) NOT NULL, - updated_by VARCHAR(127) NOT NULL, - updated_at TIMESTAMP(9) NOT NULL, - template_id CHAR(32) NOT NULL DEFAULT '00000000000000000000000000000000', - category VARCHAR(32) NOT NULL DEFAULT 'TASK' -); -CREATE UNIQUE INDEX IF NOT EXISTS idx_task_id_name ON task (id, name); - -CREATE TABLE IF NOT EXISTS task_tree_task -( - id CHAR(32) PRIMARY KEY, - tree_id CHAR(32) NOT NULL, - task_id CHAR(32) NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_TREE_TASK_TREE_TASK ON task_tree_task (tree_id, task_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_TREE_TASK_TREE ON task_tree_task (tree_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_TREE_TASK_TASK ON task_tree_task (task_id); - -CREATE TABLE IF NOT EXISTS task_tree_v2 -( - id char(32) PRIMARY KEY, - name varchar(64) NOT NULL, - created_by varchar(127) NOT NULL, - created_at timestamp(6) NOT NULL, - updated_by varchar(127) NOT NULL, - updated_at timestamp(6) NOT NULL -); - -CREATE TABLE IF NOT EXISTS task_instance_wide -( - id CHAR(32) PRIMARY KEY, - task_id CHAR(32) NOT NULL, - task_type_id CHAR(32) NOT NULL, - source_id CHAR(32) NOT NULL, - text_1 TEXT, - text_2 TEXT, - text_3 TEXT, - text_4 TEXT, - text_5 TEXT, - text_6 TEXT, - text_7 TEXT, - text_8 TEXT, - text_9 TEXT, - text_10 TEXT, - text_11 TEXT, - text_12 TEXT, - text_13 TEXT, - text_14 TEXT, - text_15 TEXT, - text_16 TEXT, - text_17 TEXT, - text_18 TEXT, - text_19 TEXT, - text_20 TEXT, - text_21 TEXT, - text_22 TEXT, - text_23 TEXT, - text_24 TEXT, - text_25 TEXT, - text_26 TEXT, - text_27 TEXT, - text_28 TEXT, - text_29 TEXT, - text_30 TEXT, - text_31 TEXT, - text_32 TEXT, - text_33 TEXT, - text_34 TEXT, - text_35 TEXT, - text_36 TEXT, - text_37 TEXT, - text_38 TEXT, - text_39 TEXT, - text_40 TEXT, - text_41 TEXT, - text_42 TEXT, - text_43 TEXT, - text_44 TEXT, - text_45 TEXT, - text_46 TEXT, - text_47 TEXT, - text_48 TEXT, - text_49 TEXT, - text_50 TEXT, - integer_1 INTEGER, - integer_2 INTEGER, - integer_3 INTEGER, - integer_4 INTEGER, - integer_5 INTEGER, - integer_6 INTEGER, - integer_7 INTEGER, - integer_8 INTEGER, - integer_9 INTEGER, - integer_10 INTEGER, - integer_11 INTEGER, - integer_12 INTEGER, - integer_13 INTEGER, - integer_14 INTEGER, - integer_15 INTEGER, - integer_16 INTEGER, - integer_17 INTEGER, - integer_18 INTEGER, - integer_19 INTEGER, - integer_20 INTEGER, - datetime_1 TIMESTAMP, - datetime_2 TIMESTAMP, - datetime_3 TIMESTAMP, - datetime_4 TIMESTAMP, - datetime_5 TIMESTAMP, - datetime_6 TIMESTAMP, - datetime_7 TIMESTAMP, - datetime_8 TIMESTAMP, - datetime_9 TIMESTAMP, - datetime_10 TIMESTAMP, - datetime_11 TIMESTAMP, - datetime_12 TIMESTAMP, - datetime_13 TIMESTAMP, - datetime_14 TIMESTAMP, - datetime_15 TIMESTAMP, - datetime_16 TIMESTAMP, - datetime_17 TIMESTAMP, - datetime_18 TIMESTAMP, - datetime_19 TIMESTAMP, - datetime_20 TIMESTAMP, - boolean_1 BOOLEAN, - boolean_2 BOOLEAN, - boolean_3 BOOLEAN, - boolean_4 BOOLEAN, - boolean_5 BOOLEAN, - boolean_6 BOOLEAN, - boolean_7 BOOLEAN, - boolean_8 BOOLEAN, - boolean_9 BOOLEAN, - boolean_10 BOOLEAN, - boolean_11 BOOLEAN, - boolean_12 BOOLEAN, - boolean_13 BOOLEAN, - boolean_14 BOOLEAN, - boolean_15 BOOLEAN, - boolean_16 BOOLEAN, - boolean_17 BOOLEAN, - boolean_18 BOOLEAN, - boolean_19 BOOLEAN, - boolean_20 BOOLEAN -); - -CREATE INDEX IF NOT EXISTS IDX_TASK_INSTANCE_TASK ON task_instance_wide (task_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_INSTANCE_SOURCE ON task_instance_wide (source_id); - -CREATE TABLE IF NOT EXISTS task_type -( - id CHAR(32) PRIMARY KEY, - tree_id CHAR(32) NOT NULL, - parent_id CHAR(32) NOT NULL, - name VARCHAR(64) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP NOT NULL, - updated_by VARCHAR(127) NOT NULL, - updated_at TIMESTAMP NOT NULL, - task_id CHAR(32) -); -CREATE INDEX IF NOT EXISTS IDX_TASK_TYPE_TREE ON task_type (tree_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_TYPE_PARENT ON task_type (parent_id); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_TYPE_NAME ON task_type (task_id, name); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_TYPE_TREE_NAME ON task_type (tree_id, name); - -CREATE TABLE IF NOT EXISTS task_node_source -( - id CHAR(32) PRIMARY KEY, - node_id CHAR(32) NOT NULL, - source_id CHAR(32) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_NODE_SOURCE ON task_node_source (node_id, source_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_NODE_SOURCE_NODE ON task_node_source (node_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_NODE_SOURCE_SOURCE ON task_node_source (source_id); - -CREATE TABLE IF NOT EXISTS tag -( - id CHAR(32) PRIMARY KEY, - name VARCHAR(64) NOT NULL, - description VARCHAR(512) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP NOT NULL, - updated_by VARCHAR(127) NOT NULL, - updated_at TIMESTAMP NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TAG ON tag (name); - -CREATE TABLE IF NOT EXISTS tag_usage -( - id CHAR(32) PRIMARY KEY, - tag_id CHAR(32) NOT NULL, - object_type VARCHAR(16) NOT NULL, - object_id CHAR(32) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TAG_USAGE ON tag_usage (tag_id, object_id, object_type); -CREATE INDEX IF NOT EXISTS IDX_TAG_OBJECT_ID ON tag_usage (object_id); - -CREATE TABLE IF NOT EXISTS task_category_trigger -( - "id" CHAR(32) PRIMARY KEY, - "task_id" CHAR(32) NOT NULL, - "category_id" CHAR(32) NOT NULL, - "fitable_id" CHAR(32) NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS "UK_TASK_CATEGORY_TRIGGER" ON task_category_trigger ("task_id", "category_id", "fitable_id"); -CREATE INDEX IF NOT EXISTS "IDX_TASK_CATEGORY_TRIGGER_TASK" ON task_category_trigger ("task_id"); - -CREATE TABLE IF NOT EXISTS category_group -( - id CHAR(32) PRIMARY KEY, - name VARCHAR(64) NOT NULL, - description VARCHAR(512) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP NOT NULL, - updated_by VARCHAR(127) NOT NULL, - updated_at TIMESTAMP NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_CATEGORY_GROUP_NAME ON category_group (name); - -CREATE TABLE IF NOT EXISTS category -( - id CHAR(32) PRIMARY KEY, - category_group_id CHAR(32) NOT NULL, - name VARCHAR(64) NOT NULL, - description VARCHAR(512) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP NOT NULL, - updated_by VARCHAR(127) NOT NULL, - updated_at TIMESTAMP NOT NULL -); -comment on table category is '类目'; -comment on column category.id is '表示类目的唯一标识。由32位16进制字符组成。'; -comment on column category.category_group_id is '表示类目组的唯一标识。'; -comment on column category.name is '表示类目的名称类型。'; -comment on column category.description is '表示类目的描述信息。'; -comment on column category.created_by is '表示创建人。'; -comment on column category.created_at is '表示创建时间。'; -comment on column category.updated_by is '表示最近的修改人。未被修改时与创建人相同。'; -comment on column category.updated_at is '表示最近的修改时间。未被修改时与创建时间相同。'; - -CREATE INDEX IF NOT EXISTS IDX_CATEGORY_GROUP ON category (category_group_id); -CREATE UNIQUE INDEX IF NOT EXISTS UK_CATEGORY_NAME ON category (name); - -CREATE TABLE IF NOT EXISTS category_matcher -( - id CHAR(32) PRIMARY KEY, - category_id CHAR(32) NOT NULL, - property_id CHAR(32) NOT NULL, - "value" TEXT NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_CATEGORY_MATCHER ON category_matcher (category_id, property_id, "value"); -CREATE INDEX IF NOT EXISTS IDX_CATEGORY_MATCHER_CATEGORY ON category_matcher (category_id); -CREATE INDEX IF NOT EXISTS IDX_CATEGORY_MATCHER_PROPERTY ON category_matcher (property_id); - -CREATE TABLE IF NOT EXISTS task_instance_event ( - id CHAR(32) PRIMARY KEY, - source_id CHAR(32) NOT NULL, - event_type VARCHAR(16) NOT NULL, - fitable_id CHAR(32) NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_INSTANCE_EVENT ON task_instance_event(source_id, event_type, fitable_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_INSTANCE_EVENT_SOURCE ON task_instance_event(source_id); - -CREATE TABLE IF NOT EXISTS tenant -( - id CHAR(32) PRIMARY KEY, - name VARCHAR(255) NOT NULL, - description TEXT, - avatar_id CHAR(32), - created_by VARCHAR(127) NOT NULL, - updated_by VARCHAR(127), - created_at timestamp without time zone NOT NULL, - updated_at timestamp without time zone, - access_level VARCHAR(32) DEFAULT 'PRIVATE' -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TENANT ON tenant (name); - -CREATE TABLE IF NOT EXISTS tenant_member -( - id CHAR(32) PRIMARY KEY, - tenant_id CHAR(32) NOT NULL, - user_id VARCHAR(127) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at timestamp without time zone NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TENANT_ID_USER_ID ON tenant_member (tenant_id, user_id); -CREATE INDEX IF NOT EXISTS IDX_TENANT_ID_TENANT_MEMBER ON tenant_member (tenant_id); - -CREATE TABLE IF NOT EXISTS file -( - id CHAR(32) PRIMARY KEY, - name VARCHAR(127) NOT NULL, - content BYTEA, - created_by VARCHAR(127) NOT NULL, - created_at timestamp without time zone NOT NULL, - type VARCHAR(32) -); - -CREATE TABLE IF NOT EXISTS task_source_refresh_in_time ( - id CHAR(32) PRIMARY KEY, - metadata JSONB NOT NULL, - create_fitable_id CHAR(32) NOT NULL, - patch_fitable_id CHAR(32) NOT NULL, - delete_fitable_id CHAR(32) NOT NULL, - retrieve_fitable_id CHAR(32) NOT NULL, - list_fitable_id CHAR(32) NOT NULL -); - -CREATE TABLE "authorization" ( - "id" CHAR(32) PRIMARY KEY, - "system" VARCHAR(64) NOT NULL, - "user" VARCHAR(127) NOT NULL, - "token" TEXT NOT NULL, - "expiration" INT8 NOT NULL, - "created_by" VARCHAR(127) NOT NULL, - "created_at" TIMESTAMP NOT NULL, - "updated_by" VARCHAR(127) NOT NULL, - "updated_at" TIMESTAMP NOT NULL -); - -CREATE TABLE IF NOT EXISTS task_instance_deleted -( - id CHAR(32) PRIMARY KEY, - task_id CHAR(32) NOT NULL, - task_type_id CHAR(32) NOT NULL, - source_id CHAR(32) NOT NULL, - text_1 TEXT, - text_2 TEXT, - text_3 TEXT, - text_4 TEXT, - text_5 TEXT, - text_6 TEXT, - text_7 TEXT, - text_8 TEXT, - text_9 TEXT, - text_10 TEXT, - text_11 TEXT, - text_12 TEXT, - text_13 TEXT, - text_14 TEXT, - text_15 TEXT, - text_16 TEXT, - text_17 TEXT, - text_18 TEXT, - text_19 TEXT, - text_20 TEXT, - text_21 TEXT, - text_22 TEXT, - text_23 TEXT, - text_24 TEXT, - text_25 TEXT, - text_26 TEXT, - text_27 TEXT, - text_28 TEXT, - text_29 TEXT, - text_30 TEXT, - text_31 TEXT, - text_32 TEXT, - text_33 TEXT, - text_34 TEXT, - text_35 TEXT, - text_36 TEXT, - text_37 TEXT, - text_38 TEXT, - text_39 TEXT, - text_40 TEXT, - text_41 TEXT, - text_42 TEXT, - text_43 TEXT, - text_44 TEXT, - text_45 TEXT, - text_46 TEXT, - text_47 TEXT, - text_48 TEXT, - text_49 TEXT, - text_50 TEXT, - integer_1 INTEGER, - integer_2 INTEGER, - integer_3 INTEGER, - integer_4 INTEGER, - integer_5 INTEGER, - integer_6 INTEGER, - integer_7 INTEGER, - integer_8 INTEGER, - integer_9 INTEGER, - integer_10 INTEGER, - integer_11 INTEGER, - integer_12 INTEGER, - integer_13 INTEGER, - integer_14 INTEGER, - integer_15 INTEGER, - integer_16 INTEGER, - integer_17 INTEGER, - integer_18 INTEGER, - integer_19 INTEGER, - integer_20 INTEGER, - datetime_1 TIMESTAMP, - datetime_2 TIMESTAMP, - datetime_3 TIMESTAMP, - datetime_4 TIMESTAMP, - datetime_5 TIMESTAMP, - datetime_6 TIMESTAMP, - datetime_7 TIMESTAMP, - datetime_8 TIMESTAMP, - datetime_9 TIMESTAMP, - datetime_10 TIMESTAMP, - datetime_11 TIMESTAMP, - datetime_12 TIMESTAMP, - datetime_13 TIMESTAMP, - datetime_14 TIMESTAMP, - datetime_15 TIMESTAMP, - datetime_16 TIMESTAMP, - datetime_17 TIMESTAMP, - datetime_18 TIMESTAMP, - datetime_19 TIMESTAMP, - datetime_20 TIMESTAMP, - boolean_1 BOOLEAN, - boolean_2 BOOLEAN, - boolean_3 BOOLEAN, - boolean_4 BOOLEAN, - boolean_5 BOOLEAN, - boolean_6 BOOLEAN, - boolean_7 BOOLEAN, - boolean_8 BOOLEAN, - boolean_9 BOOLEAN, - boolean_10 BOOLEAN, - boolean_11 BOOLEAN, - boolean_12 BOOLEAN, - boolean_13 BOOLEAN, - boolean_14 BOOLEAN, - boolean_15 BOOLEAN, - boolean_16 BOOLEAN, - boolean_17 BOOLEAN, - boolean_18 BOOLEAN, - boolean_19 BOOLEAN, - boolean_20 BOOLEAN - ); - -CREATE TABLE IF NOT EXISTS operation_record -( - id char(32) PRIMARY KEY, - object_type varchar(25) NOT NULL, - object_id char(32) NOT NULL, - operator varchar(127) NOT NULL, - operated_time timestamp without time zone, - message TEXT NOT NULL, - operate char(7) NOT NULL -); - -CREATE INDEX IDX_OPERATION_RECORD_OBJECT_TYPE_OBJECT_ID_OPERATED_TIME ON operation_record (object_type,object_id,operated_time); - -CREATE TABLE IF NOT EXISTS task_source_refresh_in_time ( - id CHAR(32) PRIMARY KEY, - metadata JSONB NOT NULL, - create_fitable_id CHAR(32) NOT NULL, - patch_fitable_id CHAR(32) NOT NULL, - delete_fitable_id CHAR(32) NOT NULL, - retrieve_fitable_id CHAR(32) NOT NULL, - list_fitable_id CHAR(32) NOT NULL - ); - -CREATE TABLE IF NOT EXISTS "category_usage" ( - "id" CHAR(32) PRIMARY KEY, - "object_type" VARCHAR(16) NOT NULL, - "object_id" CHAR(32) NOT NULL, - "category_group_id" CHAR(32) NOT NULL, - "category_id" CHAR(32) NOT NULL, - "created_by" VARCHAR(127) NOT NULL, - "created_at" TIMESTAMP NOT NULL, - "updated_by" VARCHAR(127) NOT NULL, - "updated_at" TIMESTAMP NOT NULL -); -CREATE UNIQUE INDEX "UK_CATEGORY_USAGE" ON "category_usage"("object_id", "category_group_id", "object_type"); -CREATE INDEX "IDX_CATEGORY_USAGE_OBJECT_ID" ON "category_usage"("object_id"); - -/* 创建任务模板表 */ -CREATE TABLE IF NOT EXISTS task_template -( - id CHAR(32) PRIMARY KEY, - name VARCHAR(64) NOT NULL, - description VARCHAR(512) NOT NULL -); -CREATE UNIQUE INDEX UK_TASK_TEMPLATE_NAME ON task_template (name); -COMMENT on column task_template.id is '主键Id'; -COMMENT on column task_template.name is '任务模板名称'; -COMMENT on column task_template.description is '任务模板描述'; - -/* 创建任务模板属性表 */ -CREATE TABLE IF NOT EXISTS task_template_property -( - id CHAR(32) PRIMARY KEY, - task_template_id CHAR(32) NOT NULL, - name VARCHAR(64) NOT NULL, - data_type VARCHAR(16) NOT NULL, - sequence INTEGER NOT NULL -); -CREATE UNIQUE INDEX UK_TASK_TEMPLATE_PROPERTY_NAME ON task_template_property (task_template_id, name); -CREATE UNIQUE INDEX UK_TASK_TEMPLATE_PROPERTY_COLUMN ON task_template_property (task_template_id, data_type, sequence); - -COMMENT on column task_template_property.id is '主键Id'; -COMMENT on column task_template_property.task_template_id is '任务模板Id'; -COMMENT on column task_template_property.name is '任务模板属性名称'; -COMMENT on column task_template_property.data_type is '任务模板属性数据类型'; -COMMENT on column task_template_property.sequence is '任务模板属性在当前数据类型中的序号'; - -CREATE TABLE "index" ( - "id" CHAR(32) PRIMARY KEY, - "task_id" CHAR(32) NOT NULL, - "name" VARCHAR(128) NOT NULL, - "created_by" VARCHAR(127) NOT NULL, - "created_at" TIMESTAMP NOT NULL, - "updated_by" VARCHAR(127) NOT NULL, - "updated_at" TIMESTAMP NOT NULL -); - -CREATE TABLE "index_property" ( - "id" CHAR(32) PRIMARY KEY, - "index_id" CHAR(32) NOT NULL, - "property_id" CHAR(32) NOT NULL -); -CREATE INDEX "idx_index_property_index" ON "index_property"("index_id"); - -CREATE TABLE "index_text" ( - "id" CHAR(32) PRIMARY KEY, - "instance_id" CHAR(32) NOT NULL, - "property_id" CHAR(32) NOT NULL, - "value" TEXT -); -CREATE INDEX "idx_index_text_instance" ON "index_text"("instance_id"); -CREATE INDEX "idx_index_text_property" ON "index_text"("property_id"); -CREATE INDEX "idx_index_text_value" ON "index_text"("value"); - -CREATE TABLE "index_integer" ( - "id" CHAR(32) PRIMARY KEY, - "instance_id" CHAR(32) NOT NULL, - "property_id" CHAR(32) NOT NULL, - "value" BIGINT -); -CREATE INDEX "idx_index_integer_instance" ON "index_integer"("instance_id"); -CREATE INDEX "idx_index_integer_property" ON "index_integer"("property_id"); -CREATE INDEX "idx_index_integer_value" ON "index_integer"("value"); - -CREATE TABLE "index_datetime" ( - "id" CHAR(32) PRIMARY KEY, - "instance_id" CHAR(32) NOT NULL, - "property_id" CHAR(32) NOT NULL, - "value" TIMESTAMP -); -CREATE INDEX "idx_index_datetime_instance" ON "index_datetime"("instance_id"); -CREATE INDEX "idx_index_datetime_property" ON "index_datetime"("property_id"); -CREATE INDEX "idx_index_datetime_value" ON "index_datetime"("value"); - -CREATE TABLE "list_text" ( - "id" CHAR(32) PRIMARY KEY, - "instance_id" CHAR(32) NOT NULL, - "property_id" CHAR(32) NOT NULL, - "index" BIGINT NOT NULL, - "value" TEXT -); -CREATE INDEX "IDX_LIST_TEXT_INSTANCE" ON "list_text"("instance_id"); -CREATE INDEX "IDX_LIST_TEXT_PROPERTY" ON "list_text"("property_id"); \ No newline at end of file diff --git a/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.create_compatible_with_h2.sql b/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.create_compatible_with_h2.sql deleted file mode 100644 index 984bfe1f97..0000000000 --- a/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.create_compatible_with_h2.sql +++ /dev/null @@ -1,66 +0,0 @@ -CREATE -OR REPLACE FUNCTION generate_uuid_text() -RETURNS CHAR(32) AS $$ -BEGIN -RETURN md5(random()::text || clock_timestamp()::text); -END; -$$ -LANGUAGE plpgsql; - -CREATE -OR REPLACE FUNCTION now_utc() -RETURNS TIMESTAMP AS $$ -BEGIN -RETURN CURRENT_TIMESTAMP AT TIME ZONE 'UTC'; -END; -$$ -LANGUAGE plpgsql; - -INSERT INTO category_group(id, name, description, created_by, created_at, updated_by, updated_at) -VALUES (generate_uuid_text(), 'status', '表示系统级别的状态定义。', 'admin', now_utc(), 'admin', now_utc()), - (generate_uuid_text(), 'health', '表示系统级别的健康度定义。', 'admin', now_utc(), 'admin', now_utc()); - -INSERT INTO category(id, category_group_id, name, description, created_by, created_at, updated_by, - updated_at) -VALUES (generate_uuid_text(), (SELECT id FROM category_group WHERE name = 'status'), '未开始', - '表示任务尚未开始处理。', 'admin', now_utc(), 'admin', now_utc()), - (generate_uuid_text(), (SELECT id FROM category_group WHERE name = 'status'), '处理中', - '表示任务正在处理中。', 'admin', now_utc(), 'admin', now_utc()), - (generate_uuid_text(), (SELECT id FROM category_group WHERE name = 'status'), '已完成', - '表示任务已闭环完成。', 'admin', now_utc(), 'admin', now_utc()), - (generate_uuid_text(), (SELECT id FROM category_group WHERE name = 'health'), '无风险', - '表示当前任务的进展不存在风险。', 'admin', now_utc(), 'admin', now_utc()), - (generate_uuid_text(), (SELECT id FROM category_group WHERE name = 'health'), '风险', - '表示当前任务存在风险。', 'admin', now_utc(), 'admin', now_utc()); - -UPDATE task_type -SET task_id = '2479308f35ab4cc492892aea265b2025' -WHERE tree_id = '6a5db7109bb546109f2887347cf42054' -UPDATE task_type -SET task_id = '265520c71c534393af4678129ac90719' -WHERE tree_id = '2abeca128a194064a2777f1882ea2967' - -UPDATE task_type -SET parent_id = tree_id -WHERE parent_id = '00000000000000000000000000000000'; - -CREATE TABLE IF NOT EXISTS task_source_refresh_in_time ( - id CHAR(32) PRIMARY KEY COMMENT '主键id', - create_fitable_id CHAR(32) NOT NULL COMMENT 'create_fitable_id', - patch_fitable_id CHAR(32) NOT NULL COMMENT 'patch_fitable_id', - delete_fitable_id CHAR(32) NOT NULL COMMENT 'delete_fitable_id', - retrieve_fitable_id CHAR(32) NOT NULL COMMENT 'retrieve_fitable_id', - list_fitable_id CHAR(32) NOT NULL COMMENT 'list_fitable_id' -) COMMENT '任务源刷新表'; - -CREATE TABLE `authorization` ( - `id` CHAR(32) PRIMARY KEY COMMENT '主键id', - `system` VARCHAR(64) NOT NULL COMMENT '系统', - `user` VARCHAR(127) NOT NULL COMMENT '用户', - `token` TEXT NOT NULL COMMENT 'token', - `expiration` INTEGER NOT NULL COMMENT '过期时间', - `created_by` VARCHAR(127) NOT NULL COMMENT '创建人', - `created_at` TIMESTAMP NOT NULL COMMENT '创建时间', - `updated_by` VARCHAR(127) NOT NULL COMMENT '更新人', - `updated_at` TIMESTAMP NOT NULL COMMENT '更新时间' -) COMMENT '权限表'; \ No newline at end of file diff --git a/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.data.sql b/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.data.sql deleted file mode 100644 index 56be7b64b7..0000000000 --- a/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.data.sql +++ /dev/null @@ -1,18 +0,0 @@ -INSERT INTO task_template ("id", "name", "description") VALUES ('4f91b69973d1453aadf384d508aed894', '普通任务', '最基础的默认模板'); -INSERT INTO task_template ("id", "name", "description") VALUES ('00000000000000000000000000000000', 'empty', 'empty'); - -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('08f8fc32484d408aacbcff35bf8be687', '4f91b69973d1453aadf384d508aed894', 'id', 'TEXT', 1); -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('abb064f84f36496bb769321b1f3443c9', '4f91b69973d1453aadf384d508aed894', 'decomposed_from', 'TEXT', 2); -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('be686a0325694aadb688539f7523f88a', '4f91b69973d1453aadf384d508aed894', 'title', 'TEXT', 3); -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('59e0d16c3fe541899778beb76e56b0e3', '4f91b69973d1453aadf384d508aed894', 'owner', 'TEXT', 4); -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('e2af84d4a8714ce8a87be79d19a5eb88', '4f91b69973d1453aadf384d508aed894', 'created_by', 'TEXT', 5); -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('4aebbf316cf443d791e0280f56f435d6', '4f91b69973d1453aadf384d508aed894', 'created_date', 'DATETIME', 1); -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('387c16ae70ac49f68f670f54e4456fc8', '4f91b69973d1453aadf384d508aed894', 'modified_by', 'TEXT', 6); -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('354944b0e9234429aabfbafb08059c2e', '4f91b69973d1453aadf384d508aed894', 'modified_date', 'DATETIME', 2); -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('c41b4da4013e484ead6fc8b03192dee2', '4f91b69973d1453aadf384d508aed894', 'status', 'TEXT', 7); -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('34a33a519dd64dc5aa4b3c98c70a5989', '4f91b69973d1453aadf384d508aed894', 'target_url', 'TEXT', 8); -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('456bc8b7b9754708828c68221af977c9', '4f91b69973d1453aadf384d508aed894', 'progress_feedback', 'TEXT', 9); -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('d8e5fad3feed41fe8400bd2f35048abe', '4f91b69973d1453aadf384d508aed894', 'risk', 'TEXT', 10); -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('e8cf80fdb51a4d4e9c9a9c660714efc7', '4f91b69973d1453aadf384d508aed894', 'priority', 'TEXT', 11); -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('819adccd6214437fadec3936b297007b', '4f91b69973d1453aadf384d508aed894', 'finish_time', 'DATETIME', 3); -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('aac65de27f014c3895228fdb5d32573e', '4f91b69973d1453aadf384d508aed894', 'tag', 'TEXT', 12); diff --git a/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.function.sql b/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.function.sql deleted file mode 100644 index 24482bacb6..0000000000 --- a/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.function.sql +++ /dev/null @@ -1,147 +0,0 @@ --- 移动property_old表的数据到新的property --- 移动instance_old表的数据到新的instance -CREATE OR REPLACE FUNCTION move_old_data_to_new_table(p_task_id CHAR(32)) RETURNS void AS -$BODY$ -DECLARE -d_cur_properties CURSOR (c_task_id CHAR(32)) FOR SELECT * FROM task_property_old WHERE task_id = c_task_id; -d_record_property RECORD; - d_record_template RECORD; - d_sql_insert_into VARCHAR := '('; - d_sql_values VARCHAR := 'SELECT '; - d_index INTEGER := 0; - d_count INTEGER ; - d_TEXT_SEQUENCE INTEGER := 13; - d_DATETIME_SEQUENCE INTEGER := 4; - d_other_SEQUWNCE INTEGER := 1; - d_data_type VARCHAR; - d_sequence INTEGER; - d_template_id CHAR(32); -BEGIN -SELECT COUNT(task_id) INTO d_count FROM task_property_old WHERE task_id = p_task_id; -RAISE NOTICE 'task_id=%, has % properties.',p_task_id, d_count; -OPEN d_cur_properties(p_task_id); -WHILE d_index < d_count LOOP - FETCH NEXT FROM d_cur_properties INTO d_record_property; - d_sql_values := d_sql_values || d_record_property.data_type || '_' || d_record_property.sequence || ','; -SELECT * INTO d_record_template from task_template_property where name = d_record_property.name; -if d_record_template is not null THEN - d_data_type := d_record_template.data_type; - d_sequence := d_record_template.sequence; - d_template_id := d_record_template.id; -ELSE - d_data_type := d_record_property.data_type; - d_template_id := '00000000000000000000000000000000'; - if d_record_property.data_type = 'TEXT' THEN - d_sequence := d_TEXT_SEQUENCE; - d_TEXT_SEQUENCE := d_TEXT_SEQUENCE + 1; - ELSIF d_record_property.data_type = 'DATETIME' THEN - d_sequence := d_DATETIME_SEQUENCE; - d_DATETIME_SEQUENCE := d_DATETIME_SEQUENCE + 1; -ELSE - d_sequence := d_other_SEQUWNCE; - d_other_SEQUWNCE := d_other_SEQUWNCE + 1; -end if; -end if; - RAISE NOTICE 'EXECUTE sql move property to new table, id=%. [%/%]', d_record_property.id, d_index+1, d_count; -INSERT INTO task_property(id, task_id, name, required, description, scope, data_type, sequence, appearance, identifiable, template_id) -VALUES (d_record_property.id, d_record_property.task_id, d_record_property.name, d_record_property.required, - d_record_property.description, d_record_property.scope, d_data_type, d_sequence, - d_record_property.appearance, d_record_property.identifiable, d_template_id); -d_sql_insert_into := d_sql_insert_into || d_data_type || '_' || d_sequence || ','; - d_index := d_index+1; -end loop; -CLOSE d_cur_properties; -d_sql_insert_into := d_sql_insert_into || 'id, task_id, task_type_id, source_id)'; - d_sql_values := d_sql_values ||'id, task_id, task_type_id, source_id '; - - RAISE NOTICE 'EXECUTE sql move instance to new table : % %.', d_sql_insert_into, d_sql_values; -EXECUTE ('INSERT INTO task_instance_wide' || d_sql_insert_into || d_sql_values || 'from task_instance_wide_old where task_id = ''' || - p_task_id || ''''); -RAISE NOTICE 'EXECUTE sql move instance_delete to new table : % %.', d_sql_insert_into, d_sql_values; -EXECUTE ('INSERT INTO task_instance_deleted' || d_sql_insert_into || d_sql_values || 'from task_instance_deleted_old where task_id = ''' || - p_task_id || ''''); -end; - -$BODY$ LANGUAGE plpgsql; - - - --- 修改原有instance表和property表,并创建新表 -CREATE OR REPLACE FUNCTION back_table_and_create_new() RETURNS void as -$$ -DECLARE -alter_table_instance VARCHAR := 'ALTER TABLE task_instance_wide rename to task_instance_wide_old'; - alter_table_instance_delete VARCHAR := 'ALTER TABLE task_instance_deleted rename to task_instance_deleted_old'; - alter_table_property VARCHAR := 'ALTER TABLE task_property rename to task_property_old'; - create_table_instance VARCHAR := 'CREATE TABLE task_instance_wide (LIKE task_instance_wide_old INCLUDING INDEXES INCLUDING COMMENTS);'; - create_table_property VARCHAR := 'CREATE TABLE task_property (LIKE task_property_old INCLUDING INDEXES INCLUDING COMMENTS);'; - create_table_instance_delete VARCHAR := 'CREATE TABLE task_instance_deleted (LIKE task_instance_deleted_old INCLUDING INDEXES INCLUDING COMMENTS);'; - -BEGIN - RAISE NOTICE 'Execute alter table task_instance_wide: "%".', alter_table_instance; -EXECUTE (alter_table_instance); -RAISE NOTICE 'Execute alter table task_property: "%".', alter_table_property; -EXECUTE (alter_table_property); -RAISE NOTICE 'Execute alter table task_instance_deleted: "%".', alter_table_instance_delete; -EXECUTE (alter_table_instance_delete); -RAISE NOTICE 'Execute create table task_instance_wide: "%".', create_table_instance; -EXECUTE (create_table_instance); -RAISE NOTICE 'Execute create table task_property: "%".', create_table_property; -EXECUTE (create_table_property); -RAISE NOTICE 'Execute create table task_instance_deleted: "%".', create_table_instance_delete; -EXECUTE (create_table_instance_delete); -end; - -$$ LANGUAGE plpgsql; - --- 修改task表的template为默认模板 -CREATE OR REPLACE FUNCTION modify_task_add_template() RETURNS void as -$$ -DECLARE -d_cur_task_ids CURSOR FOR SELECT id - FROM task; -d_task_id CHAR(32); - d_task_count INTEGER; - d_task_index INTEGER := 0; - d_template_id CHAR(32); -BEGIN - PERFORM back_table_and_create_new(); -SELECT COUNT(id) into d_task_count FROM task; -SELECT id into d_template_id from task_template where name = '普通任务'; -OPEN d_cur_task_ids; -WHILE d_task_index < d_task_count LOOP - FETCH NEXT FROM d_cur_task_ids INTO d_task_id; -UPDATE task set template_id = d_template_id where CURRENT OF d_cur_task_ids; -d_task_index := d_task_index + 1; - RAISE NOTICE 'Add template to task "%". [%/%]', d_task_id, d_task_index, d_task_count; - PERFORM move_old_data_to_new_table(d_task_id); -END LOOP; -END; - -$$ LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION rollback_template_update() RETURNS void as -$$ -DECLARE -alter_table_instance VARCHAR := 'ALTER TABLE task_instance_wide rename to task_instance_wide_error'; - alter_table_instance_delete VARCHAR := 'ALTER TABLE task_instance_deleted rename to task_instance_deleted_error'; - alter_table_property VARCHAR := 'ALTER TABLE task_property rename to task_property_error'; - alter_table_instance_r VARCHAR := 'ALTER TABLE task_instance_wide_old rename to task_instance_wide'; - alter_table_instance_delete_r VARCHAR := 'ALTER TABLE task_instance_deleted_old rename to task_instance_deleted'; - alter_table_property_r VARCHAR := 'ALTER TABLE task_property_old rename to task_property'; -BEGIN - RAISE NOTICE 'Execute rollback sql.'; -DROP TABLE IF EXISTS task_instance_wide_error; -DROP TABLE IF EXISTS task_instance_deleted_error; -DROP TABLE IF EXISTS task_property_error; -EXECUTE (alter_table_instance); -EXECUTE (alter_table_instance_delete); -EXECUTE (alter_table_property); -EXECUTE (alter_table_instance_r); -EXECUTE (alter_table_instance_delete_r); -EXECUTE (alter_table_property_r); -UPDATE task set template_id = '00000000000000000000000000000000'; -end; -$$ LANGUAGE plpgsql; - -select modify_task_add_template(); \ No newline at end of file diff --git a/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.taskrelation.create.sql b/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.taskrelation.create.sql deleted file mode 100644 index 3dc1a7a5ce..0000000000 --- a/app-builder/jane/jober/sql/create/taskcenter/taskcenter.postgres.taskrelation.create.sql +++ /dev/null @@ -1,13 +0,0 @@ -CREATE TABLE IF NOT EXISTS jane_relation ( - id CHAR(32) PRIMARY KEY COMMENT '主键id', - object_id1 CHAR(32) NOT NULL COMMENT 'object的id1', - object_type1 VARCHAR(16) NOT NULL COMMENT 'obje的type1', - object_id2 CHAR(32) NOT NULL COMMENT 'object的id2', - object_type2 VARCHAR(16) NOT NULL COMMENT 'object的type2', - relation_type VARCHAR(16) NOT NULL COMMENT '关系类型', - created_by VARCHAR(127) NOT NULL COMMENT '创建人', - created_at TIMESTAMP NOT NULL COMMENT '创建时间' - ) COMMENT '任务关系表'; -CREATE INDEX IF NOT EXISTS IDX_JANE_RELATION_OBJECT_ID1 ON jane_relation(object_id1); -CREATE INDEX IF NOT EXISTS IDX_JANE_RELATION_OBJECT_ID2 ON jane_relation(object_id2); -CREATE UNIQUE INDEX IF NOT EXISTS UK_IDX_JANE_RELATION_OBJECT_ID1_OBJECT_ID2 ON jane_relation(object_id1,object_id2); \ No newline at end of file diff --git a/app-builder/jane/jober/sql/create/taskcenter/taskcenter.templateExtend.create.sql b/app-builder/jane/jober/sql/create/taskcenter/taskcenter.templateExtend.create.sql deleted file mode 100644 index b32e324427..0000000000 --- a/app-builder/jane/jober/sql/create/taskcenter/taskcenter.templateExtend.create.sql +++ /dev/null @@ -1,45 +0,0 @@ ---模板继承表 -CREATE TABLE IF NOT EXISTS extend_table -( - id VARCHAR(32) PRIMARY KEY COMMENT '主键id', - parent_id VARCHAR(32) NOT NULL COMMENT '父任务id' -) COMMENT '模板继承表'; - ---根据子任务查询所有父任务的id -CREATE OR REPLACE FUNCTION find_template_parents(input_id varchar) - RETURNS TABLE(template_parents_id varchar) AS $BODY$ -BEGIN -RETURN QUERY WITH RECURSIVE dump_parents(id, parent_id) AS ( - SELECT id, parent_id FROM extend_table WHERE id = input_id - UNION ALL - SELECT p.id, p.parent_id FROM dump_parents AS c, extend_table AS p WHERE c.parent_id = p.id - ) -SELECT input_id -UNION ALL -SELECT parent_id FROM dump_parents WHERE parent_id IS NOT NULL - AND parent_id != '00000000000000000000000000000000'; -RETURN; -END; - $BODY$ -LANGUAGE plpgsql VOLATILE - COST 100 - ROWS 1000; - ---根据父任务查询所有子任务的id -CREATE OR REPLACE FUNCTION find_template_children(input_id varchar) - RETURNS TABLE(children_template_id varchar) AS $BODY$ -BEGIN -RETURN QUERY WITH RECURSIVE dump_children(id) AS ( - SELECT id FROM extend_table WHERE parent_id = input_id - UNION ALL - SELECT c.id FROM dump_children AS p, extend_table AS c WHERE c.parent_id = p.id - ) -SELECT input_id -UNION ALL -SELECT id FROM dump_children; -RETURN; -END; - $BODY$ -LANGUAGE plpgsql VOLATILE - COST 100 - ROWS 1000; \ No newline at end of file diff --git a/app-builder/jane/jober/sql/jade/02_general_create.sql b/app-builder/jane/jober/sql/jade/02_general_create.sql deleted file mode 100644 index a23b9667b8..0000000000 --- a/app-builder/jane/jober/sql/jade/02_general_create.sql +++ /dev/null @@ -1,910 +0,0 @@ --- 流程相关 -CREATE TABLE IF NOT EXISTS flow_definition -( - definition_id VARCHAR(32) PRIMARY KEY, - meta_id VARCHAR(32) NOT NULL, - name VARCHAR(256) NOT NULL, - tenant VARCHAR(32) NOT NULL, - version VARCHAR(16) NOT NULL, - status VARCHAR(32) NOT NULL, - graph JSONB NOT NULL, - created_by VARCHAR(32) NOT NULL, - created_at timestamp without time zone NOT NULL -); - -comment on table flow_definition is '流程定义'; -comment on column flow_definition.definition_id is '表示流程定义的唯一标识。由32位16进制字符组成。'; -comment on column flow_definition.meta_id is '表示流程定义的元数据标识。由32位16进制字符组成。'; -comment on column flow_definition.name is '表示流程定义的元数据标识。'; -comment on column flow_definition.tenant is '表示流程定义的租户标识。'; -comment on column flow_definition.version is '表示流程定义的版本标识。'; -comment on column flow_definition.status is '表示流程定义的状态标识。'; -comment on column flow_definition.graph is '表示流程定义的元数据信息。'; -comment on column flow_definition.created_by is '表示创建人。'; -comment on column flow_definition.created_at is '表示创建时间。'; - -CREATE UNIQUE INDEX IF NOT EXISTS UK_FLOW_NAME_VERSION ON flow_definition (name, version); -CREATE UNIQUE INDEX IF NOT EXISTS UK_FLOW_META_ID_VERSION ON flow_definition (meta_id, version); - -CREATE TABLE IF NOT EXISTS flow_context -( - context_id VARCHAR(32) NOT NULL PRIMARY KEY, - trace_id VARCHAR(32) NOT NULL, - trans_id VARCHAR(32) NOT NULL, - root_id VARCHAR(32) NOT NULL, - stream_id VARCHAR(64) NOT NULL, - flow_data JSONB NOT NULL, - position_id VARCHAR(32) NOT NULL, - joined BOOLEAN, - status VARCHAR(10) NOT NULL, - parallel VARCHAR(32), - parallel_mode VARCHAR(10), - previous VARCHAR(32), - batch_id VARCHAR(32), - from_batch VARCHAR(32), - to_batch VARCHAR(32), - sent BOOLEAN DEFAULT FALSE, - create_at timestamp without time zone NOT NULL, - update_at timestamp without time zone, - archived_at timestamp without time zone -); - -comment on table flow_context is '流程实例上下文'; -comment on column flow_context.context_id is '表示流程实例上下文的唯一标识'; -comment on column flow_context.trace_id is '表示流程实例轨迹唯一标识。'; -comment on column flow_context.trans_id is '表示流程实例运行唯一标识。'; -comment on column flow_context.root_id is '表示流程实例根节点唯一标识。'; -comment on column flow_context.stream_id is '表示流程元数据标识和版本唯一标识。'; -comment on column flow_context.flow_data is '表示流程实例运行上下文数据。'; -comment on column flow_context.position_id is '表示流程实例上下文所处节点位置。'; -comment on column flow_context.joined is '表示流程实例上下文是否由平行节点合并。'; -comment on column flow_context.status is '表示流程实例上下文状态。'; -comment on column flow_context.parallel is '表示流程实例上下文处于哪个平行节点。'; -comment on column flow_context.parallel_mode is '表示流程实例上下文所处平行节点状态。'; -comment on column flow_context.previous is '表示流程实例上下文来源哪个上下文。'; -comment on column flow_context.batch_id is '表示流程实例上下文所处批次标识。'; -comment on column flow_context.from_batch is '表示流程实例上下文来源批次标识。'; -comment on column flow_context.to_batch is '表示流程实例上下文指向批次标识。'; -comment on column flow_context.sent is '表示流程实例上下文是否已被事件发送。'; -comment on column flow_context.create_at is '表示流程实例上下文创建时间。'; -comment on column flow_context.update_at is '表示流程实例上下文更新时间。'; -comment on column flow_context.archived_at is '表示流程实例上下文完成时间。'; - -CREATE INDEX IF NOT EXISTS INDEX_FLOW_STREAM_ID ON flow_context (stream_id); -CREATE INDEX IF NOT EXISTS INDEX_FLOW_TRACE_ID ON flow_context (trace_id); -CREATE INDEX IF NOT EXISTS INDEX_FLOW_TRANS_ID_POSITION_ID ON flow_context (trans_id, position_id); -CREATE INDEX IF NOT EXISTS INDEX_FLOW_BATCH_ID ON flow_context (batch_id, from_batch, to_batch); - -CREATE TABLE IF NOT EXISTS flow_trace -( - trace_id VARCHAR(32) NOT NULL PRIMARY KEY, - stream_id VARCHAR(64) NOT NULL, - operator VARCHAR(32) NOT NULL, - application_name VARCHAR(32) NOT NULL, - start_node VARCHAR(32) NOT NULL, - cur_nodes TEXT NOT NULL, - start_time timestamp without time zone NOT NULL, - end_time timestamp without time zone, - merged_to VARCHAR(32) -); - -comment on table flow_trace is '流程轨迹'; -comment on column flow_trace.trace_id is '表示流程轨迹的唯一标识'; -comment on column flow_trace.stream_id is '表示流程轨迹所处的流程标识'; -comment on column flow_trace.operator is '表示流程的发起人'; -comment on column flow_trace.application_name is '表示流程启动的应用'; -comment on column flow_trace.start_node is '表示流程启动的开始节点'; -comment on column flow_trace.cur_nodes is '表示流程实例当前所处节点'; -comment on column flow_trace.start_time is '表示流程实例启动时间'; -comment on column flow_trace.end_time is '表示流程实例结束时间'; -comment on column flow_trace.merged_to is '表示流程实例合并到哪个流程实例'; - -CREATE INDEX IF NOT EXISTS INDEX_FLOW_TRACE_STREAM_ID ON flow_trace (stream_id); -CREATE INDEX IF NOT EXISTS INDEX_FLOW_TRACE_MERGE_ID ON flow_trace (trace_id, merged_to); - -DO $$ -BEGIN - IF NOT EXISTS ( - SELECT 1 - FROM information_schema.columns - WHERE table_name = 'flow_trace' AND column_name = 'status' - ) THEN - -- 如果不存在,则执行 ALTER TABLE 语句 -ALTER TABLE flow_trace ADD COLUMN status VARCHAR(32) NOT NULL DEFAULT 'ARCHIVED'; -END IF; -END $$; - -CREATE TABLE IF NOT EXISTS fitable_usage -( - fitable_id VARCHAR(128) NOT NULL, - definition_id VARCHAR(32) NOT NULL, - PRIMARY KEY (fitable_id, definition_id) -); - -ALTER TABLE flow_context ALTER COLUMN trace_id TYPE TEXT; -ALTER TABLE flow_trace ALTER COLUMN cur_nodes SET DEFAULT 'default_node'; -ALTER TABLE flow_trace ADD COLUMN IF NOT EXISTS context_pool TEXT; - --- 任务中心相关 -CREATE TABLE IF NOT EXISTS task_tag -( - tag_id VARCHAR(32) PRIMARY KEY, - name VARCHAR(64) NOT NULL, - tenant VARCHAR(255) NOT NULL -); - -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_NAME_TENANT ON task_tag (name, tenant); - -INSERT INTO task_tag(tag_id, name, tenant) -VALUES ('41d00a31a9b34aa39b606d80fc426c2e', '未开始', 'public') ON CONFLICT (tag_id) DO NOTHING; -INSERT INTO task_tag(tag_id, name, tenant) -VALUES ('8d038441b7514f5b99ea18992126cfa8', '进行中', 'public') ON CONFLICT (tag_id) DO NOTHING; -INSERT INTO task_tag(tag_id, name, tenant) -VALUES ('4c4ddb220bfe4fe98374aff710afb3eb', '已完成', 'public') ON CONFLICT (tag_id) DO NOTHING; -INSERT INTO task_tag(tag_id, name, tenant) -VALUES ('ad31edc774e24bfbb15e87084744e259', '有风险', 'public') ON CONFLICT (tag_id) DO NOTHING; -INSERT INTO task_tag(tag_id, name, tenant) -VALUES ('e72a94b24e704e5abcffc920394f4a19', '无风险', 'public') ON CONFLICT (tag_id) DO NOTHING; - - -CREATE TABLE IF NOT EXISTS task_source_schedule -( - id CHAR(32) PRIMARY KEY, - fitable_id CHAR(32) NOT NULL, - "interval" INTEGER NOT NULL, - filter VARCHAR(512) NOT NULL -); - -CREATE TABLE IF NOT EXISTS task_source -( - id CHAR(32) PRIMARY KEY, - task_id CHAR(32) NOT NULL, - name VARCHAR(64) NOT NULL, - app VARCHAR(64) NOT NULL, - type VARCHAR(32) NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_SOURCE ON task_source (task_id, name, app); -CREATE INDEX IF NOT EXISTS IDX_TASK_SOURCE_TASK ON task_source (task_id); - -CREATE TABLE IF NOT EXISTS task_property_trigger -( - id CHAR(32) PRIMARY KEY, - task_source_id CHAR(32) NOT NULL, - task_property_id CHAR(32) NOT NULL, - fitable_id CHAR(32) NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_PROPERTY_TRIGGER ON task_property_trigger (task_source_id, task_property_id, fitable_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_PROPERTY_TRIGGER_SOURCE ON task_property_trigger (task_source_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_PROPERTY_TRIGGER_PROPERTY ON task_property_trigger (task_property_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_PROPERTY_TRIGGER_FITABLE ON task_property_trigger (fitable_id); - -CREATE TABLE IF NOT EXISTS task_property -( - id CHAR(32) PRIMARY KEY, - task_id CHAR(32) NOT NULL, - name VARCHAR(64) NOT NULL, - required BOOLEAN NOT NULL, - identifiable BOOLEAN NOT NULL, - description VARCHAR(512) NOT NULL, - scope VARCHAR(16) NOT NULL, - data_type VARCHAR(16) NOT NULL, - sequence INTEGER NOT NULL, - appearance JSON NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_PROPERTY ON task_property (task_id, name); -CREATE INDEX IF NOT EXISTS IDX_TASK_PROPERTY_TASK ON task_property (task_id); - -CREATE TABLE IF NOT EXISTS task -( - id CHAR(32) PRIMARY KEY, - name VARCHAR(255) NOT NULL, - tenant_id CHAR(32) NOT NULL, - attributes JSON NOT NULL DEFAULT '{}', - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP NOT NULL, - updated_by VARCHAR(127) NOT NULL, - updated_at TIMESTAMP NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS idx_task_id_name ON task (id, name); - -CREATE TABLE IF NOT EXISTS task_instance_wide -( - id CHAR(32) PRIMARY KEY, - task_id CHAR(32) NOT NULL, - task_type_id CHAR(32) NOT NULL, - source_id CHAR(32) NOT NULL, - text_1 TEXT, - text_2 TEXT, - text_3 TEXT, - text_4 TEXT, - text_5 TEXT, - text_6 TEXT, - text_7 TEXT, - text_8 TEXT, - text_9 TEXT, - text_10 TEXT, - text_11 TEXT, - text_12 TEXT, - text_13 TEXT, - text_14 TEXT, - text_15 TEXT, - text_16 TEXT, - text_17 TEXT, - text_18 TEXT, - text_19 TEXT, - text_20 TEXT, - text_21 TEXT, - text_22 TEXT, - text_23 TEXT, - text_24 TEXT, - text_25 TEXT, - text_26 TEXT, - text_27 TEXT, - text_28 TEXT, - text_29 TEXT, - text_30 TEXT, - text_31 TEXT, - text_32 TEXT, - text_33 TEXT, - text_34 TEXT, - text_35 TEXT, - text_36 TEXT, - text_37 TEXT, - text_38 TEXT, - text_39 TEXT, - text_40 TEXT, - text_41 TEXT, - text_42 TEXT, - text_43 TEXT, - text_44 TEXT, - text_45 TEXT, - text_46 TEXT, - text_47 TEXT, - text_48 TEXT, - text_49 TEXT, - text_50 TEXT, - integer_1 INTEGER, - integer_2 INTEGER, - integer_3 INTEGER, - integer_4 INTEGER, - integer_5 INTEGER, - integer_6 INTEGER, - integer_7 INTEGER, - integer_8 INTEGER, - integer_9 INTEGER, - integer_10 INTEGER, - integer_11 INTEGER, - integer_12 INTEGER, - integer_13 INTEGER, - integer_14 INTEGER, - integer_15 INTEGER, - integer_16 INTEGER, - integer_17 INTEGER, - integer_18 INTEGER, - integer_19 INTEGER, - integer_20 INTEGER, - datetime_1 TIMESTAMP, - datetime_2 TIMESTAMP, - datetime_3 TIMESTAMP, - datetime_4 TIMESTAMP, - datetime_5 TIMESTAMP, - datetime_6 TIMESTAMP, - datetime_7 TIMESTAMP, - datetime_8 TIMESTAMP, - datetime_9 TIMESTAMP, - datetime_10 TIMESTAMP, - datetime_11 TIMESTAMP, - datetime_12 TIMESTAMP, - datetime_13 TIMESTAMP, - datetime_14 TIMESTAMP, - datetime_15 TIMESTAMP, - datetime_16 TIMESTAMP, - datetime_17 TIMESTAMP, - datetime_18 TIMESTAMP, - datetime_19 TIMESTAMP, - datetime_20 TIMESTAMP, - boolean_1 BOOLEAN, - boolean_2 BOOLEAN, - boolean_3 BOOLEAN, - boolean_4 BOOLEAN, - boolean_5 BOOLEAN, - boolean_6 BOOLEAN, - boolean_7 BOOLEAN, - boolean_8 BOOLEAN, - boolean_9 BOOLEAN, - boolean_10 BOOLEAN, - boolean_11 BOOLEAN, - boolean_12 BOOLEAN, - boolean_13 BOOLEAN, - boolean_14 BOOLEAN, - boolean_15 BOOLEAN, - boolean_16 BOOLEAN, - boolean_17 BOOLEAN, - boolean_18 BOOLEAN, - boolean_19 BOOLEAN, - boolean_20 BOOLEAN -); - -CREATE INDEX IF NOT EXISTS IDX_TASK_INSTANCE_TASK ON task_instance_wide (task_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_INSTANCE_SOURCE ON task_instance_wide (source_id); - -CREATE TABLE IF NOT EXISTS task_type -( - id CHAR(32) PRIMARY KEY, - tree_id CHAR(32) NOT NULL, - parent_id CHAR(32) NOT NULL, - name VARCHAR(255) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP NOT NULL, - updated_by VARCHAR(127) NOT NULL, - updated_at TIMESTAMP NOT NULL, - task_id CHAR(32) -); -CREATE INDEX IF NOT EXISTS IDX_TASK_TYPE_TREE ON task_type (tree_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_TYPE_PARENT ON task_type (parent_id); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_TYPE_NAME ON task_type (task_id, name); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_TYPE_TREE_NAME ON task_type (tree_id, name); - -CREATE TABLE IF NOT EXISTS tag -( - id CHAR(32) PRIMARY KEY, - name VARCHAR(64) NOT NULL, - description VARCHAR(512) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP NOT NULL, - updated_by VARCHAR(127) NOT NULL, - updated_at TIMESTAMP NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TAG ON tag (name); - -CREATE TABLE IF NOT EXISTS tag_usage -( - id CHAR(32) PRIMARY KEY, - tag_id CHAR(32) NOT NULL, - object_type VARCHAR(16) NOT NULL, - object_id CHAR(32) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TAG_USAGE ON tag_usage (tag_id, object_id, object_type); -CREATE INDEX IF NOT EXISTS IDX_TAG_OBJECT_ID ON tag_usage (object_id); - -CREATE TABLE IF NOT EXISTS task_category_trigger -( - "id" CHAR(32) PRIMARY KEY, - "task_id" CHAR(32) NOT NULL, - "category_id" CHAR(32) NOT NULL, - "fitable_id" CHAR(32) NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS "UK_TASK_CATEGORY_TRIGGER" ON task_category_trigger ("task_id", "category_id", "fitable_id"); -CREATE INDEX IF NOT EXISTS "IDX_TASK_CATEGORY_TRIGGER_TASK" ON task_category_trigger ("task_id"); - -CREATE TABLE IF NOT EXISTS category_group -( - id CHAR(32) PRIMARY KEY, - name VARCHAR(64) NOT NULL, - description VARCHAR(512) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP NOT NULL, - updated_by VARCHAR(127) NOT NULL, - updated_at TIMESTAMP NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_CATEGORY_GROUP_NAME ON category_group (name); - -CREATE TABLE IF NOT EXISTS category -( - id CHAR(32) PRIMARY KEY, - category_group_id CHAR(32) NOT NULL, - name VARCHAR(64) NOT NULL, - description VARCHAR(512) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP NOT NULL, - updated_by VARCHAR(127) NOT NULL, - updated_at TIMESTAMP NOT NULL -); -comment on table category is '类目'; -comment on column category.id is '表示类目的唯一标识。由32位16进制字符组成。'; -comment on column category.category_group_id is '表示类目组的唯一标识。'; -comment on column category.name is '表示类目的名称类型。'; -comment on column category.description is '表示类目的描述信息。'; -comment on column category.created_by is '表示创建人。'; -comment on column category.created_at is '表示创建时间。'; -comment on column category.updated_by is '表示最近的修改人。未被修改时与创建人相同。'; -comment on column category.updated_at is '表示最近的修改时间。未被修改时与创建时间相同。'; - -CREATE INDEX IF NOT EXISTS IDX_CATEGORY_GROUP ON category (category_group_id); -CREATE UNIQUE INDEX IF NOT EXISTS UK_CATEGORY_NAME ON category (name); - -CREATE TABLE IF NOT EXISTS category_matcher -( - id CHAR(32) PRIMARY KEY, - category_id CHAR(32) NOT NULL, - property_id CHAR(32) NOT NULL, - "value" TEXT NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_CATEGORY_MATCHER ON category_matcher (category_id, property_id, "value"); -CREATE INDEX IF NOT EXISTS IDX_CATEGORY_MATCHER_CATEGORY ON category_matcher (category_id); -CREATE INDEX IF NOT EXISTS IDX_CATEGORY_MATCHER_PROPERTY ON category_matcher (property_id); - -CREATE TABLE IF NOT EXISTS task_instance_event ( - id CHAR(32) PRIMARY KEY, - source_id CHAR(32) NOT NULL, - event_type VARCHAR(16) NOT NULL, - fitable_id CHAR(32) NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_INSTANCE_EVENT ON task_instance_event(source_id, event_type, fitable_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_INSTANCE_EVENT_SOURCE ON task_instance_event(source_id); - -CREATE TABLE IF NOT EXISTS tenant -( - id CHAR(32) PRIMARY KEY, - name VARCHAR(255) NOT NULL, - description TEXT, - avatar_id CHAR(32), - created_by VARCHAR(127) NOT NULL, - updated_by VARCHAR(127), - created_at timestamp without time zone NOT NULL, - updated_at timestamp without time zone -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TENANT ON tenant (name); - -CREATE TABLE IF NOT EXISTS tenant_member -( - id CHAR(32) PRIMARY KEY, - tenant_id CHAR(32) NOT NULL, - user_id VARCHAR(127) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at timestamp without time zone NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TENANT_ID_USER_ID ON tenant_member (tenant_id, user_id); -CREATE INDEX IF NOT EXISTS IDX_TENANT_ID_TENANT_MEMBER ON tenant_member (tenant_id); - -CREATE TABLE IF NOT EXISTS file -( - id CHAR(32) PRIMARY KEY, - name VARCHAR(127) NOT NULL, - content BYTEA NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at timestamp without time zone NOT NULL -); - -CREATE -OR REPLACE FUNCTION generate_uuid_text() -RETURNS CHAR(32) AS $$ -BEGIN -RETURN md5(random()::text || clock_timestamp()::text); -END; -$$ -LANGUAGE plpgsql; - -CREATE -OR REPLACE FUNCTION now_utc() -RETURNS TIMESTAMP AS $$ -BEGIN -RETURN CURRENT_TIMESTAMP AT TIME ZONE 'UTC'; -END; -$$ -LANGUAGE plpgsql; - -INSERT INTO category_group(id, name, description, created_by, created_at, updated_by, updated_at) -VALUES (generate_uuid_text(), 'status', '表示系统级别的状态定义。', 'admin', now_utc(), 'admin', now_utc()), - (generate_uuid_text(), 'health', '表示系统级别的健康度定义。', 'admin', now_utc(), 'admin', now_utc()) ON CONFLICT (name) DO NOTHING; - -INSERT INTO category(id, category_group_id, name, description, created_by, created_at, updated_by, - updated_at) -VALUES (generate_uuid_text(), (SELECT id FROM category_group WHERE name = 'status'), '未开始', - '表示任务尚未开始处理。', 'admin', now_utc(), 'admin', now_utc()), - (generate_uuid_text(), (SELECT id FROM category_group WHERE name = 'status'), '处理中', - '表示任务正在处理中。', 'admin', now_utc(), 'admin', now_utc()), - (generate_uuid_text(), (SELECT id FROM category_group WHERE name = 'status'), '已完成', - '表示任务已闭环完成。', 'admin', now_utc(), 'admin', now_utc()), - (generate_uuid_text(), (SELECT id FROM category_group WHERE name = 'health'), '无风险', - '表示当前任务的进展不存在风险。', 'admin', now_utc(), 'admin', now_utc()), - (generate_uuid_text(), (SELECT id FROM category_group WHERE name = 'health'), '风险', - '表示当前任务存在风险。', 'admin', now_utc(), 'admin', now_utc()) ON CONFLICT (name) DO NOTHING; - -CREATE TABLE IF NOT EXISTS task_tree_task -( - id CHAR(32) PRIMARY KEY, - tree_id CHAR(32) NOT NULL, - task_id CHAR(32) NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_TREE_TASK_TREE_TASK ON task_tree_task (tree_id, task_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_TREE_TASK_TREE ON task_tree_task (tree_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_TREE_TASK_TASK ON task_tree_task (task_id); - -CREATE TABLE IF NOT EXISTS task_tree_v2 -( - id char(32) PRIMARY KEY, - name varchar(64) NOT NULL, - created_by varchar(127) NOT NULL, - created_at timestamp(6) NOT NULL, - updated_by varchar(127) NOT NULL, - updated_at timestamp(6) NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_TREE_NAME ON task_tree_v2 (name); - -CREATE TABLE IF NOT EXISTS task_node_source -( - id CHAR(32) PRIMARY KEY, - node_id CHAR(32) NOT NULL, - source_id CHAR(32) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_NODE_SOURCE ON task_node_source (node_id, source_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_NODE_SOURCE_NODE ON task_node_source (node_id); -CREATE INDEX IF NOT EXISTS IDX_TASK_NODE_SOURCE_SOURCE ON task_node_source (source_id); - -CREATE TABLE IF NOT EXISTS "index" -( - "id" char(32) COLLATE "pg_catalog"."default" NOT NULL, - "task_id" char(32) COLLATE "pg_catalog"."default" NOT NULL, - "name" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "created_by" varchar(127) COLLATE "pg_catalog"."default" NOT NULL, - "created_at" timestamp(6) NOT NULL, - "updated_by" varchar(127) COLLATE "pg_catalog"."default" NOT NULL, - "updated_at" timestamp(6) NOT NULL, - PRIMARY KEY ("id") -) -; - -CREATE TABLE IF NOT EXISTS task_instance_deleted -( - id CHAR(32) PRIMARY KEY, - task_id CHAR(32) NOT NULL, - task_type_id CHAR(32) NOT NULL, - source_id CHAR(32) NOT NULL, - text_1 TEXT, - text_2 TEXT, - text_3 TEXT, - text_4 TEXT, - text_5 TEXT, - text_6 TEXT, - text_7 TEXT, - text_8 TEXT, - text_9 TEXT, - text_10 TEXT, - text_11 TEXT, - text_12 TEXT, - text_13 TEXT, - text_14 TEXT, - text_15 TEXT, - text_16 TEXT, - text_17 TEXT, - text_18 TEXT, - text_19 TEXT, - text_20 TEXT, - text_21 TEXT, - text_22 TEXT, - text_23 TEXT, - text_24 TEXT, - text_25 TEXT, - text_26 TEXT, - text_27 TEXT, - text_28 TEXT, - text_29 TEXT, - text_30 TEXT, - text_31 TEXT, - text_32 TEXT, - text_33 TEXT, - text_34 TEXT, - text_35 TEXT, - text_36 TEXT, - text_37 TEXT, - text_38 TEXT, - text_39 TEXT, - text_40 TEXT, - text_41 TEXT, - text_42 TEXT, - text_43 TEXT, - text_44 TEXT, - text_45 TEXT, - text_46 TEXT, - text_47 TEXT, - text_48 TEXT, - text_49 TEXT, - text_50 TEXT, - integer_1 INTEGER, - integer_2 INTEGER, - integer_3 INTEGER, - integer_4 INTEGER, - integer_5 INTEGER, - integer_6 INTEGER, - integer_7 INTEGER, - integer_8 INTEGER, - integer_9 INTEGER, - integer_10 INTEGER, - integer_11 INTEGER, - integer_12 INTEGER, - integer_13 INTEGER, - integer_14 INTEGER, - integer_15 INTEGER, - integer_16 INTEGER, - integer_17 INTEGER, - integer_18 INTEGER, - integer_19 INTEGER, - integer_20 INTEGER, - datetime_1 TIMESTAMP, - datetime_2 TIMESTAMP, - datetime_3 TIMESTAMP, - datetime_4 TIMESTAMP, - datetime_5 TIMESTAMP, - datetime_6 TIMESTAMP, - datetime_7 TIMESTAMP, - datetime_8 TIMESTAMP, - datetime_9 TIMESTAMP, - datetime_10 TIMESTAMP, - datetime_11 TIMESTAMP, - datetime_12 TIMESTAMP, - datetime_13 TIMESTAMP, - datetime_14 TIMESTAMP, - datetime_15 TIMESTAMP, - datetime_16 TIMESTAMP, - datetime_17 TIMESTAMP, - datetime_18 TIMESTAMP, - datetime_19 TIMESTAMP, - datetime_20 TIMESTAMP, - boolean_1 BOOLEAN, - boolean_2 BOOLEAN, - boolean_3 BOOLEAN, - boolean_4 BOOLEAN, - boolean_5 BOOLEAN, - boolean_6 BOOLEAN, - boolean_7 BOOLEAN, - boolean_8 BOOLEAN, - boolean_9 BOOLEAN, - boolean_10 BOOLEAN, - boolean_11 BOOLEAN, - boolean_12 BOOLEAN, - boolean_13 BOOLEAN, - boolean_14 BOOLEAN, - boolean_15 BOOLEAN, - boolean_16 BOOLEAN, - boolean_17 BOOLEAN, - boolean_18 BOOLEAN, - boolean_19 BOOLEAN, - boolean_20 BOOLEAN - ); - -CREATE TABLE IF NOT EXISTS operation_record -( - id char(32) PRIMARY KEY, - object_type varchar(25) NOT NULL, - object_id char(32) NOT NULL, - operator varchar(127) NOT NULL, - operated_time timestamp without time zone, - message TEXT NOT NULL, - operate char(7) NOT NULL - ); - -CREATE TABLE IF NOT EXISTS flow_retry -( - entity_id VARCHAR(32) NOT NULL, - entity_type VARCHAR(32) NOT NULL, - next_retry_time timestamp without time zone NOT NULL, - last_retry_time timestamp without time zone, - retry_count INTEGER NOT NULL, - version INTEGER NOT NULL, - PRIMARY KEY (entity_id) - ); - -comment on table flow_retry is '流程节点执行异常重试记录'; -comment on column flow_retry.entity_id is '表示任务重试的上下文实体ID'; -comment on column flow_retry.entity_type is '表示任务重试的上下文实体类型'; -comment on column flow_retry.next_retry_time is '表示任务重试的下次时间'; -comment on column flow_retry.last_retry_time is '表示上次执行的任务重试时间'; -comment on column flow_retry.retry_count is '表示到目前为止的任务重试次数'; -comment on column flow_retry.version is '表示当前重试的版本号'; - -CREATE TABLE IF NOT EXISTS flow_lock -( - lock_key VARCHAR(100) NOT NULL PRIMARY KEY, - expired_at timestamp without time zone, - locked_client VARCHAR(50) - ); - -comment on table flow_lock is '流程锁'; -comment on column flow_lock.lock_key is '锁名称'; -comment on column flow_lock.expired_at is '锁过期时间'; -comment on column flow_lock.locked_client is '上锁的客户端IP'; - -ALTER TABLE task ADD COLUMN IF NOT EXISTS template_id CHAR(32) NOT NULL DEFAULT '00000000000000000000000000000000'; -ALTER TABLE task ADD COLUMN IF NOT EXISTS category VARCHAR(32) NOT NULL DEFAULT 'TASK'; -ALTER TABLE file ADD COLUMN IF NOT EXISTS type VARCHAR(32); -ALTER TABLE task_property ADD COLUMN IF NOT EXISTS template_id CHAR(32) NOT NULL DEFAULT '00000000000000000000000000000000'; -ALTER TABLE tenant ADD COLUMN IF NOT EXISTS access_level VARCHAR(32); - - -CREATE TABLE IF NOT EXISTS task_source_refresh_in_time ( - id CHAR(32) PRIMARY KEY, - metadata JSONB NOT NULL, - create_fitable_id CHAR(32) NOT NULL, - patch_fitable_id CHAR(32) NOT NULL, - delete_fitable_id CHAR(32) NOT NULL, - retrieve_fitable_id CHAR(32) NOT NULL, - list_fitable_id CHAR(32) NOT NULL - ); - -CREATE TABLE IF NOT EXISTS "category_usage" ( - "id" CHAR(32) PRIMARY KEY, - "object_type" VARCHAR(16) NOT NULL, - "object_id" CHAR(32) NOT NULL, - "category_group_id" CHAR(32) NOT NULL, - "category_id" CHAR(32) NOT NULL, - "created_by" VARCHAR(127) NOT NULL, - "created_at" TIMESTAMP NOT NULL, - "updated_by" VARCHAR(127) NOT NULL, - "updated_at" TIMESTAMP NOT NULL - ); -CREATE UNIQUE INDEX IF NOT EXISTS "UK_CATEGORY_USAGE" ON "category_usage"("object_id", "category_group_id", "object_type"); -CREATE INDEX IF NOT EXISTS "IDX_CATEGORY_USAGE_OBJECT_ID" ON "category_usage"("object_id"); - -/* 创建任务模板表 */ -CREATE TABLE IF NOT EXISTS task_template -( - id CHAR(32) PRIMARY KEY, - name VARCHAR(255) NOT NULL, - description VARCHAR(512) NOT NULL, - "tenant_id" char(32) NOT NULL DEFAULT '00000000000000000000000000000000' - ); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_TEMPLATE_NAME ON task_template (name); -COMMENT on column task_template.id is '主键Id'; -COMMENT on column task_template.name is '任务模板名称'; -COMMENT on column task_template.description is '任务模板描述'; - -/* 创建任务模板属性表 */ -CREATE TABLE IF NOT EXISTS task_template_property -( - id CHAR(32) PRIMARY KEY, - task_template_id CHAR(32) NOT NULL, - name VARCHAR(64) NOT NULL, - data_type VARCHAR(16) NOT NULL, - sequence INTEGER NOT NULL - ); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_TEMPLATE_PROPERTY_NAME ON task_template_property (task_template_id, name); -CREATE UNIQUE INDEX IF NOT EXISTS UK_TASK_TEMPLATE_PROPERTY_COLUMN ON task_template_property (task_template_id, data_type, sequence); - -COMMENT on column task_template_property.id is '主键Id'; -COMMENT on column task_template_property.task_template_id is '任务模板Id'; -COMMENT on column task_template_property.name is '任务模板属性名称'; -COMMENT on column task_template_property.data_type is '任务模板属性数据类型'; -COMMENT on column task_template_property.sequence is '任务模板属性在当前数据类型中的序号'; - -CREATE TABLE IF NOT EXISTS "index" ( - "id" CHAR(32) PRIMARY KEY, - "task_id" CHAR(32) NOT NULL, - "name" VARCHAR(128) NOT NULL, - "created_by" VARCHAR(127) NOT NULL, - "created_at" TIMESTAMP NOT NULL, - "updated_by" VARCHAR(127) NOT NULL, - "updated_at" TIMESTAMP NOT NULL -); - -CREATE TABLE IF NOT EXISTS "index_property" ( - "id" CHAR(32) PRIMARY KEY, - "index_id" CHAR(32) NOT NULL, - "property_id" CHAR(32) NOT NULL -); -CREATE INDEX IF NOT EXISTS "idx_index_property_index" ON "index_property"("index_id"); - -CREATE TABLE IF NOT EXISTS "index_text" ( - "id" CHAR(32) PRIMARY KEY, - "instance_id" CHAR(32) NOT NULL, - "property_id" CHAR(32) NOT NULL, - "value" TEXT -); -CREATE INDEX IF NOT EXISTS "idx_index_text_instance" ON "index_text"("instance_id"); -CREATE INDEX IF NOT EXISTS "idx_index_text_property" ON "index_text"("property_id"); -CREATE INDEX IF NOT EXISTS "idx_index_text_value" ON "index_text"("value"); - -CREATE TABLE IF NOT EXISTS "index_integer" ( - "id" CHAR(32) PRIMARY KEY, - "instance_id" CHAR(32) NOT NULL, - "property_id" CHAR(32) NOT NULL, - "value" BIGINT -); -CREATE INDEX IF NOT EXISTS "idx_index_integer_instance" ON "index_integer"("instance_id"); -CREATE INDEX IF NOT EXISTS "idx_index_integer_property" ON "index_integer"("property_id"); -CREATE INDEX IF NOT EXISTS "idx_index_integer_value" ON "index_integer"("value"); - -CREATE TABLE IF NOT EXISTS "index_datetime" ( - "id" CHAR(32) PRIMARY KEY, - "instance_id" CHAR(32) NOT NULL, - "property_id" CHAR(32) NOT NULL, - "value" TIMESTAMP -); -CREATE INDEX IF NOT EXISTS "idx_index_datetime_instance" ON "index_datetime"("instance_id"); -CREATE INDEX IF NOT EXISTS "idx_index_datetime_property" ON "index_datetime"("property_id"); -CREATE INDEX IF NOT EXISTS "idx_index_datetime_value" ON "index_datetime"("value"); - -CREATE TABLE IF NOT EXISTS "list_text" ( - "id" CHAR(32) PRIMARY KEY, - "instance_id" CHAR(32) NOT NULL, - "property_id" CHAR(32) NOT NULL, - "index" BIGINT NOT NULL, - "value" TEXT -); -CREATE INDEX IF NOT EXISTS "IDX_LIST_TEXT_INSTANCE" ON "list_text"("instance_id"); -CREATE INDEX IF NOT EXISTS "IDX_LIST_TEXT_PROPERTY" ON "list_text"("property_id"); - --- 任务关联表 -CREATE TABLE IF NOT EXISTS jane_relation ( - id CHAR(32) PRIMARY KEY, - object_id1 CHAR(32) NOT NULL, - object_type1 VARCHAR(16) NOT NULL, - object_id2 CHAR(32) NOT NULL, - object_type2 VARCHAR(16) NOT NULL, - relation_type VARCHAR(16) NOT NULL, - created_by VARCHAR(127) NOT NULL, - created_at TIMESTAMP NOT NULL - ); -CREATE INDEX IF NOT EXISTS IDX_JANE_RELATION_OBJECT_ID1 ON jane_relation(object_id1); -CREATE INDEX IF NOT EXISTS IDX_JANE_RELATION_OBJECT_ID2 ON jane_relation(object_id2); -CREATE UNIQUE INDEX IF NOT EXISTS UK_IDX_JANE_RELATION_OBJECT_ID1_OBJECT_ID2 ON jane_relation(object_id1,object_id2); - ---模板继承表 -CREATE TABLE IF NOT EXISTS extend_table -( - id VARCHAR(32) PRIMARY KEY, - parent_id VARCHAR(32) NOT NULL - ); - ---根据子任务查询所有父任务的id -CREATE OR REPLACE FUNCTION find_template_parents(input_id varchar) - RETURNS TABLE(template_parents_id varchar) AS $BODY$ -BEGIN -RETURN QUERY WITH RECURSIVE dump_parents(id, parent_id) AS ( - SELECT id, parent_id FROM extend_table WHERE id = input_id - UNION ALL - SELECT p.id, p.parent_id FROM dump_parents AS c, extend_table AS p WHERE c.parent_id = p.id - ) -SELECT input_id -UNION ALL -SELECT parent_id FROM dump_parents WHERE parent_id IS NOT NULL - AND parent_id != '00000000000000000000000000000000'; -RETURN; -END; - $BODY$ -LANGUAGE plpgsql VOLATILE - COST 100 - ROWS 1000; - ---根据父任务查询所有子任务的id -CREATE OR REPLACE FUNCTION find_template_children(input_id varchar) - RETURNS TABLE(children_template_id varchar) AS $BODY$ -BEGIN -RETURN QUERY WITH RECURSIVE dump_children(id) AS ( - SELECT id FROM extend_table WHERE parent_id = input_id - UNION ALL - SELECT c.id FROM dump_children AS p, extend_table AS c WHERE c.parent_id = p.id - ) -SELECT input_id -UNION ALL -SELECT id FROM dump_children; -RETURN; -END; - $BODY$ -LANGUAGE plpgsql VOLATILE - COST 100 - ROWS 1000; - -CREATE TABLE IF NOT EXISTS flow_graph -( - id VARCHAR(32) NOT NULL, - version VARCHAR(16) NOT NULL, - tenant VARCHAR(32) NOT NULL, - status VARCHAR(32) NOT NULL, - name VARCHAR(256), - data TEXT, - created_by VARCHAR(32) NOT NULL, - created_at timestamp without time zone NOT NULL, - updated_by VARCHAR(32) NOT NULL, - updated_at timestamp without time zone NOT NULL, - previous VARCHAR(50), - is_deleted BOOLEAN DEFAULT FALSE, - PRIMARY KEY (id, version) - ); - -DROP INDEX IF EXISTS task_template_name_idx; -CREATE UNIQUE INDEX IF NOT EXISTS task_template_name_tenant_idx ON task_template ("name","tenant_id"); \ No newline at end of file diff --git a/app-builder/jane/jober/sql/update/taskcenter/taskcenter.add_wide_text_column.sql b/app-builder/jane/jober/sql/update/taskcenter/taskcenter.add_wide_text_column.sql deleted file mode 100644 index dc4bb9623c..0000000000 --- a/app-builder/jane/jober/sql/update/taskcenter/taskcenter.add_wide_text_column.sql +++ /dev/null @@ -1,18 +0,0 @@ ---创建函数增加宽表列51-100 -CREATE OR REPLACE FUNCTION "public"."wide_add_text_column"() - RETURNS "pg_catalog"."void" AS $BODY$ -DECLARE -i INT := 51; -BEGIN - WHILE i <= 100 LOOP - EXECUTE format ( 'ALTER TABLE task_instance_wide ADD COLUMN text_%s TEXT', i ); - EXECUTE format ( 'ALTER TABLE task_instance_deleted ADD COLUMN text_%s TEXT', i ); - i := i+1; -END LOOP; -END; -$BODY$ -LANGUAGE plpgsql VOLATILE - COST 100 - ---调用函数 -SELECT wide_add_text_column(); \ No newline at end of file diff --git a/app-builder/jane/jober/sql/update/taskcenter/taskcenter.postgres.update_202402171055.sql b/app-builder/jane/jober/sql/update/taskcenter/taskcenter.postgres.update_202402171055.sql deleted file mode 100644 index 8af2ebaabf..0000000000 --- a/app-builder/jane/jober/sql/update/taskcenter/taskcenter.postgres.update_202402171055.sql +++ /dev/null @@ -1,18 +0,0 @@ -CREATE TABLE client_login -( - "id" char(32) NOT NULL, - client_id char(32) NOT NULL, - "cookie" text, - PRIMARY KEY ("id") -) -; - -CREATE INDEX "idx_client_id_cookie" ON client_login (client_id, cookie); - -CREATE UNIQUE INDEX "idx_client_id" ON client_login (client_id); - -COMMENT ON COLUMN "client_login"."id" IS '主键'; - -COMMENT ON COLUMN "client_login".client_id IS 'idea插件客户端id'; - -COMMENT ON COLUMN "client_login"."cookie" IS '登录cookie'; diff --git a/app-builder/jane/jober/sql/update/taskcenter/taskcenter.postgres.update_202403011554.sql b/app-builder/jane/jober/sql/update/taskcenter/taskcenter.postgres.update_202403011554.sql deleted file mode 100644 index 1072958f1f..0000000000 --- a/app-builder/jane/jober/sql/update/taskcenter/taskcenter.postgres.update_202403011554.sql +++ /dev/null @@ -1,6 +0,0 @@ -ALTER TABLE task_template - ADD COLUMN "tenant_id" char(32) NOT NULL DEFAULT '00000000000000000000000000000000'; - -COMMENT ON COLUMN "task_template"."tenant_id" IS '租户Id'; - -UPDATE task_template set tenant_id = (SELECT id from "tenant" where name = 'public') where name = '普通任务' \ No newline at end of file diff --git a/app-builder/jane/jober/sql/update/taskcenter/taskcenter.postgres.update_202405091900.sql b/app-builder/jane/jober/sql/update/taskcenter/taskcenter.postgres.update_202405091900.sql deleted file mode 100644 index e68f053586..0000000000 --- a/app-builder/jane/jober/sql/update/taskcenter/taskcenter.postgres.update_202405091900.sql +++ /dev/null @@ -1,3 +0,0 @@ -DROP INDEX task_template_name_idx; - -CREATE UNIQUE INDEX task_template_name_tenant_idx ON task_template ("name","tenant_id"); \ No newline at end of file diff --git a/app-builder/jane/jober/sql/jade/06_appbuilder_insert.sql b/app-builder/jane/plugins/aipp-plugin/src/main/resources/sql/data/appbuilder_insert.sql similarity index 97% rename from app-builder/jane/jober/sql/jade/06_appbuilder_insert.sql rename to app-builder/jane/plugins/aipp-plugin/src/main/resources/sql/data/appbuilder_insert.sql index b25b39eace..9b08a16ca1 100644 --- a/app-builder/jane/jober/sql/jade/06_appbuilder_insert.sql +++ b/app-builder/jane/plugins/aipp-plugin/src/main/resources/sql/data/appbuilder_insert.sql @@ -1,24 +1,3 @@ --- 任务模板 -INSERT INTO "public"."task_template" ("id", "name", "description", "tenant_id") VALUES ('4f91b69973d1453aadf384d508aed894', '普通任务', '最基础的默认模板', '00000000000000000000000000000000') ON CONFLICT (id) DO NOTHING; -INSERT INTO "public"."task_template" ("id", "name", "description", "tenant_id") VALUES ('00000000000000000000000000000000', 'empty', 'empty', '00000000000000000000000000000000') ON CONFLICT (id) DO NOTHING; - - -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('08f8fc32484d408aacbcff35bf8be687', '4f91b69973d1453aadf384d508aed894', 'id', 'TEXT', 1) ON CONFLICT (id) DO NOTHING; -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('abb064f84f36496bb769321b1f3443c9', '4f91b69973d1453aadf384d508aed894', 'decomposed_from', 'TEXT', 2) ON CONFLICT (id) DO NOTHING; -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('be686a0325694aadb688539f7523f88a', '4f91b69973d1453aadf384d508aed894', 'title', 'TEXT', 3) ON CONFLICT (id) DO NOTHING; -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('59e0d16c3fe541899778beb76e56b0e3', '4f91b69973d1453aadf384d508aed894', 'owner', 'TEXT', 4) ON CONFLICT (id) DO NOTHING; -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('e2af84d4a8714ce8a87be79d19a5eb88', '4f91b69973d1453aadf384d508aed894', 'created_by', 'TEXT', 5) ON CONFLICT (id) DO NOTHING; -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('4aebbf316cf443d791e0280f56f435d6', '4f91b69973d1453aadf384d508aed894', 'created_date', 'DATETIME', 1) ON CONFLICT (id) DO NOTHING; -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('387c16ae70ac49f68f670f54e4456fc8', '4f91b69973d1453aadf384d508aed894', 'modified_by', 'TEXT', 6) ON CONFLICT (id) DO NOTHING; -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('354944b0e9234429aabfbafb08059c2e', '4f91b69973d1453aadf384d508aed894', 'modified_date', 'DATETIME', 2) ON CONFLICT (id) DO NOTHING; -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('c41b4da4013e484ead6fc8b03192dee2', '4f91b69973d1453aadf384d508aed894', 'status', 'TEXT', 7) ON CONFLICT (id) DO NOTHING; -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('34a33a519dd64dc5aa4b3c98c70a5989', '4f91b69973d1453aadf384d508aed894', 'target_url', 'TEXT', 8) ON CONFLICT (id) DO NOTHING; -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('456bc8b7b9754708828c68221af977c9', '4f91b69973d1453aadf384d508aed894', 'progress_feedback', 'TEXT', 9) ON CONFLICT (id) DO NOTHING; -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('d8e5fad3feed41fe8400bd2f35048abe', '4f91b69973d1453aadf384d508aed894', 'risk', 'TEXT', 10) ON CONFLICT (id) DO NOTHING; -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('e8cf80fdb51a4d4e9c9a9c660714efc7', '4f91b69973d1453aadf384d508aed894', 'priority', 'TEXT', 11) ON CONFLICT (id) DO NOTHING; -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('819adccd6214437fadec3936b297007b', '4f91b69973d1453aadf384d508aed894', 'finish_time', 'DATETIME', 3) ON CONFLICT (id) DO NOTHING; -INSERT INTO task_template_property ("id", "task_template_id", "name", "data_type", "sequence") VALUES ('aac65de27f014c3895228fdb5d32573e', '4f91b69973d1453aadf384d508aed894', 'tag', 'TEXT', 12) ON CONFLICT (id) DO NOTHING; - INSERT INTO "public"."app_builder_app" ("id", "name", "create_by", "create_at", "update_by", "update_at", "config_id", "flow_graph_id", "tenant_id", "type", "version", "attributes", "state", "app_built_type", "app_category", "path") VALUES ('df87073b9bc85a48a9b01eccc9afccc4', 'i18n_appBuilder_{llm_application_template}', 'wzc', '2024-04-17 19:42:35', 'wzc', '2024-04-17 19:42:38', '45515ca5da9d04428f41086e291b4d5d', '9997f1555b41452b924d1a8b2229bde3', '31f20efc7e0848deab6a6bc10fc3021e', 'template', '1.0.0', '{"description:":"this is llm description", "icon": "http://ab", "greeting": "hello", "app_type": "i18n_appBuilder_{interview_assistant}"}', 'inactive', 'basic', 'chatbot', NULL) ON CONFLICT (id) DO NOTHING; INSERT INTO "public"."app_builder_app" ("id", "name", "create_by", "create_at", "update_by", "update_at", "config_id", "flow_graph_id", "tenant_id", "type", "version", "attributes", "state", "app_built_type", "app_category", "path") VALUES ('df87073b9bc85a48a9b01eccc9afccc5', 'i18n_appBuilder_{llm_application_template}', 'wzc', '2024-04-17 19:42:35', 'wzc', '2024-04-17 19:42:38', '45515ca5da9d04428f41086e291b4d5f', '9997f1555b41452b924d1a8b2229bde5', '31f20efc7e0848deab6a6bc10fc3021e', 'template', '1.0.0', '{"description:":"this is llm description", "icon": "http://ab", "greeting": "hello", "app_type": "i18n_appBuilder_{interview_assistant}"}', 'inactive', 'workflow', 'chatbot', NULL) ON CONFLICT (id) DO NOTHING; INSERT INTO "public"."app_builder_app" ("id", "name", "create_by", "create_at", "update_by", "update_at", "config_id", "flow_graph_id", "tenant_id", "type", "version", "attributes", "state", "app_built_type", "app_category", "path") VALUES ('df87073b9bc85a48a9b01eccc9afccc3', 'i18n_appBuilder_{waterflow_template}', 'wzc', '2024-04-17 19:42:35', 'wzc', '2024-04-17 19:42:38', '45515ca5da9d04428f41086e291b4d5e', '9997f1555b41452b924d1a8b2229bde4', '31f20efc7e0848deab6a6bc10fc3021e', 'template', '1.0.0', '{"description:":"this is tool description"}', 'inactive', 'workflow', 'chatbot', NULL) ON CONFLICT (id) DO NOTHING; @@ -115,11 +94,6 @@ VALUES ('b2ecde0b919841f5867d2e89bb46095c', 'LLM模板', 'modelengine.jade', '20 'modelengine.jade', '2024-05-24 18:40:48.545', '{"id":"b2ecde0b919841f5867d2e89bb46095c","type":"jadeFlowGraph","pages":[{"x":297.46031746031747,"y":121.01190476190482,"id":"elsa-page:tvp1s6","bold":false,"mode":"configuration","text":"newFlowPage","type":"jadeFlowPage","dirty":false,"index":0,"width":1600,"hAlign":"left","height":800,"isPage":true,"italic":false,"scaleX":0.8,"scaleY":0.8,"shapes":[{"x":189.1071428571429,"y":296.5,"id":"jade2zanyx","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":-100,"textX":0,"textY":0,"width":86.642857142857,"hAlign":"center","height":96.85714285714278,"italic":false,"margin":20,"toShape":"jade0pg2ag","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade6qm5eg","lineWidth":2,"namespace":"flowable","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[{"x":50,"y":0},{"x":50,"y":80}],"endArrowSize":4,"arrowEndPoint":{"x":96,"y":80,"direction":{"ax":"x","key":"W","color":"whitesmoke","value":"W","cursor":"ew-resize","vector":-1}},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0,"direction":{"ax":"x","key":"E","color":"whitesmoke","value":"E","cursor":"ew-resize","vector":1}},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":635.7499999999999,"y":393.3571428571428,"id":"jade5c5urs","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":-99,"textX":0,"textY":0,"width":83.39285714285722,"hAlign":"center","height":-0.5714285714285552,"italic":false,"margin":20,"toShape":"jadewdnjbq","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade0pg2ag","lineWidth":2,"namespace":"flowable","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[{"x":50,"y":0},{"x":50,"y":80}],"endArrowSize":4,"arrowEndPoint":{"x":96,"y":80,"direction":{"ax":"x","key":"W","color":"whitesmoke","value":"W","cursor":"ew-resize","vector":-1}},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0,"direction":{"ax":"x","key":"E","color":"whitesmoke","value":"E","cursor":"ew-resize","vector":1}},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":1079.142857142857,"y":392.7857142857142,"id":"jade1p0cdu","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":-98,"textX":0,"textY":0,"width":90.32142857142776,"hAlign":"center","height":20.642857142857054,"italic":false,"margin":20,"toShape":"jadesoux5i","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadewdnjbq","lineWidth":2,"namespace":"flowable","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[{"x":50,"y":0},{"x":50,"y":80}],"endArrowSize":4,"arrowEndPoint":{"x":96,"y":80,"direction":{"ax":"x","key":"W","color":"whitesmoke","value":"W","cursor":"ew-resize","vector":-1}},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0,"direction":{"ax":"x","key":"E","color":"whitesmoke","value":"E","cursor":"ew-resize","vector":1}},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":-170.8928571428571,"y":32.5,"id":"jade6qm5eg","pad":6,"bold":false,"text":"开始","type":"startNodeStart","dirty":true,"index":103,"width":360,"height":528,"italic":false,"shadow":"0 2px 4px 0 rgba(0,0,0,.1)","sourcePlatform":"official","flowMeta":{"inputParams":[{"id":"91138f09-b635-43df-95c6-1fe3d1745829","from":"Expand","name":"input","type":"Object","value":[{"id":"input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb","from":"Input","name":"Question","type":"String","value":"","description":"i18n_appBuilder_{flow_graph_question_description}","disableModifiable":true}]},{"id":"4a770dc6-e3c9-475d-84c7-48dacc74a5b6","from":"Expand","name":"memory","type":"Object","value":[{"id":"a7675623-7fc7-468c-8910-e73c70e5e468","from":"Input","name":"memorySwitch","type":"Boolean","value":false},{"id":"cee9a31b-781c-4835-a616-ceed73be22f2","from":"Input","name":"type","type":"String","value":"ByConversationTurn"},{"id":"69592622-4291-409d-9d65-9faea83db657","from":"Input","name":"value","type":"Integer","value":"3"}]}],"triggerMode":"auto"},"hideText":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":false,"namespace":"flowable","autoHeight":true,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"focusShadow":"0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)","runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"completedTask":0,"componentName":"startComponent","focusBackColor":"white","enableAnimation":false,"outlineWidth":10,"outlineColor":"rgba(74,147,255,0.12)","mouseInBorderColor":"rgba(28,31,35,.08)"},{"x":275.7499999999999,"y":192.3571428571428,"id":"jade0pg2ag","pad":6,"bold":false,"text":"普通检索","type":"retrievalNodeState","dirty":true,"index":104,"width":360,"height":402,"italic":false,"shadow":"0 2px 4px 0 rgba(0,0,0,.1)","sourcePlatform":"official","flowMeta":{"jober":{"name":"","type":"general_jober","fitables":["modelengine.fit.jober.aipp.fitable.NaiveRAGComponent"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"query_0ab55575-f21d-4b19-9676-57fcb4b0b783","from":"Reference","name":"query","type":"String","value":["Question"],"referenceId":"input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb","referenceKey":"Question","referenceNode":"jade6qm5eg"},{"id":"knowledge_01c41edd-a22b-4289-b1cf-8db835833261","from":"Expand","name":"knowledge","type":"Array","value":[]},{"id":"maximum_2da115cd-c1ce-485f-ba98-b4c995f3d6ff","from":"Input","name":"maximum","type":"Integer","value":3}],"outputParams":[{"id":"output_cd5cbe89-0d9f-4cf1-9e09-afb325576b84","from":"Expand","name":"output","type":"Object","value":[{"id":"5c9c6535-c127-445a-862a-966cf1083929","from":"Input","name":"retrievalOutput","type":"String","value":"String"}]}]}}},"triggerMode":"auto","joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1}},"hideText":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"flowable","autoHeight":true,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"focusShadow":"0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)","runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"completedTask":0,"componentName":"retrievalComponent","focusBackColor":"white","enableAnimation":false,"outlineWidth":10,"outlineColor":"rgba(74,147,255,0.12)","mouseInBorderColor":"rgba(28,31,35,.08)"},{"x":719.1428571428571,"y":-30.71403761434209,"id":"jadewdnjbq","pad":6,"bold":false,"text":"大模型","type":"llmNodeState","dirty":true,"index":105,"width":360,"height":892,"italic":false,"shadow":"0 2px 4px 0 rgba(0,0,0,.1)","sourcePlatform":"official","flowMeta":{"jober":{"name":"","type":"general_jober","isAsync":"true","fitables":["modelengine.fit.jober.aipp.fitable.LLMComponent"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"31ba235d-1b26-4780-a7a7-32eca9500919","name":"accessInfo","type":"Object","from":"Expand","value":[{"id":"83653b54-dd04-4da9-957d-adb7c2728632","name":"serviceName","type":"String","from":"Input","value":"Qwen1.5-32B-Chat"},{"id":"dd588a17-a69c-40c0-859a-d9930202a148","name":"tag","type":"String","from":"Input","value":"INTERNAL"}]},{"id":"6c414e75-971e-403a-b2b1-c6850f128cc4","from":"Input","name":"model","type":"String","value":"Qwen-72B"},{"id":"db5fdafa-4cbf-44ba-9cca-8a98f1f771f4","from":"Input","name":"temperature","type":"Number","value":0.0},{"id":"88f74d78-4711-4f81-a2e7-74d0034c5e88","from":"Expand","name":"prompt","type":"Object","value":[{"id":"35a710cf-1b79-4523-b16f-b50878d677fe","from":"Input","name":"template","type":"String","value":"请按照以下步骤生成您的回复:\n1. 递归地将问题分解为更小的问题。\n2. 对于每个原子问题,从上下文和对话历史记录中选择最相关的信息。\n3. 使用所选信息生成回复草稿。\n4. 删除回复草稿中的重复内容。\n5. 在调整后生成最终答案,以提高准确性和相关性。\n6. 请注意,只需要回复最终答案。\n-------------------------------------\n上下文信息:\n\n{{knowledge}}\n\n问题:{{query}}"},{"id":"38fb27a1-71f4-4fcc-87d5-9d8a880bc04d","from":"Expand","name":"variables","type":"Object","value":[{"id":"aeba7823-8d14-4750-9723-55265ae71c4e","from":"Reference","name":"knowledge","type":"String","value":["output","retrievalOutput"],"referenceId":"5c9c6535-c127-445a-862a-966cf1083929","referenceKey":"retrievalOutput","referenceNode":"jade0pg2ag"},{"id":"eee66922-4304-4209-89fc-b13ffa101630","from":"Reference","name":"query","type":"String","value":["Question"],"referenceId":"input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb","referenceKey":"Question","referenceNode":"jade6qm5eg"}]}]},{"id":"a6865419-867c-4bfb-855c-f5c1876c965a","from":"Expand","name":"tools","type":"Array","value":[]},{"id":"308e2023-a8e9-486e-9784-8680addbb786","from":"Expand","name":"workflows","type":"Array","value":[{"id":"ae0bd892-91fc-45ef-83ca-819294384386","from":"input","type":"String","value":"d613c69e-ad85-4edb-a126-8ccd6341cd64"}]},{"id":"68f92923-d5da-42ce-8478-d7ac7d90664e","from":"Input","name":"systemPrompt","type":"String","value":""}],"outputParams":[{"id":"95d84d67-3198-415e-a63c-bc9a2da8d821","from":"Expand","name":"output","type":"Object","value":[{"id":"272c927a-9e25-48b6-a921-6a8ab20267a4","from":"Input","name":"llmOutput","type":"String","value":"","description":""}]}]}}},"triggerMode":"auto","joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1}},"hideText":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"flowable","autoHeight":true,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"focusShadow":"0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)","runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"completedTask":0,"componentName":"llmComponent","focusBackColor":"white","enableAnimation":false,"outlineWidth":10,"outlineColor":"rgba(74,147,255,0.12)","mouseInBorderColor":"rgba(28,31,35,.08)"},{"x":1169.4642857142849,"y":306.4285714285713,"id":"jadesoux5i","pad":6,"bold":false,"text":"结束","type":"endNodeEnd","dirty":false,"index":106,"width":360,"height":214,"italic":false,"shadow":"0 2px 4px 0 rgba(0,0,0,.1)","sourcePlatform":"official","flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"ffad80c2-3f60-4d57-93b2-c2362a5dab9c","from":"Reference","name":"finalOutput","type":"String","value":["output","llmOutput"],"referenceId":"272c927a-9e25-48b6-a921-6a8ab20267a4","referenceKey":"llmOutput","referenceNode":"jadewdnjbq"}],"outputParams":[{}]}}},"triggerMode":"auto"},"hideText":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"flowable","autoHeight":true,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"focusShadow":"0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)","runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","enableAnimation":false,"outlineWidth":10,"outlineColor":"rgba(74,147,255,0.12)","mouseInBorderColor":"rgba(28,31,35,.08)"}],"vAlign":"top","itemPad":[0,0,0,0],"division":-1,"dockMode":"none","fontFace":"arial","fontSize":18,"hideText":true,"moveable":true,"shapesAs":{},"backColor":"#fbfbfc","container":"elsa-page:tvp1s6","dockAlign":"top","fontColor":"#ECD0A7","fontStyle":"normal","itemSpace":5,"namespace":"jadeFlow","fontWeight":"bold","itemScroll":{"x":0,"y":0},"borderColor":"white","focusBackColor":"#fbfbfc"}],"title":"b2ecde0b919841f5867d2e89bb46095c","source":"elsa","tenant":"default","setting":{"pad":10,"tag":{},"code":"","pDock":"none","hAlign":"center","margin":25,"shadow":"","shared":false,"vAlign":"top","itemPad":[5,5,5,5],"visible":true,"autoText":false,"dockMode":"none","dragable":true,"editable":true,"fontFace":"arial","fontSize":12,"infoType":{"name":"none","next":"INFORMATION"},"moveable":true,"priority":0,"allowLink":true,"autoWidth":false,"backAlpha":0.15,"backColor":"whitesmoke","dashWidth":0,"deletable":true,"fontColor":"steelblue","fontStyle":"normal","headColor":"steelblue","lineWidth":2,"underline":false,"autoHeight":false,"emphasized":false,"fontWeight":"lighter","itemScroll":{"x":0,"y":0},"lineHeight":1.5,"resizeable":true,"rotateAble":true,"scrollLock":{"x":false,"y":false},"selectable":true,"shadowData":"2px 2px 4px","borderColor":"#047bfc","borderWidth":1,"bulletSpeed":1,"focusMargin":0,"focusShadow":"","globalAlpha":1,"outstanding":false,"bulletedList":false,"cornerRadius":4,"enableSocial":true,"mouseInColor":"orange","numberedList":false,"rotateDegree":0,"captionhAlign":"center","strikethrough":false,"focusBackColor":"whitesmoke","focusFontColor":"darkorange","progressStatus":{"name":"NONE","next":"UNKNOWN","color":"gray"},"showedProgress":false,"captionfontFace":"arial black","captionfontSize":14,"enableAnimation":false,"progressPercent":0.65,"captionfontColor":"whitesmoke","captionfontStyle":"normal","focusBorderColor":"#047bfc","focusBorderWidth":1,"outlineWidth":10,"outlineColor":"rgba(74,147,255,0.12)","mouseInBackColor":"whitesmoke","mouseInFontColor":"orange","captionfontWeight":"lighter","captionlineHeight":1,"mouseInBorderColor":"#047bfc"},"flowMeta":{"enableOutputScope":true,"exceptionFitables":["modelengine.fit.jober.aipp.fitable.AippFlowExceptionHandler","modelengine.fit.jober.fitable.FlowInfoException"],"callback":{"fitables":["modelengine.fit.jober.fitable.FlowInfoCallback"],"name":"通知回调","type":"general_callback"}},"enableText":false}') ON CONFLICT (id) DO NOTHING; --- 租户信息(不确定是否需要) -INSERT INTO "public"."tenant" ("id", "name", "description", "avatar_id", "created_by", "updated_by", "created_at", "updated_at", "access_level") VALUES ('31f20efc7e0848deab6a6bc10fc3021e', 'appbuilder默认租户', '', ' ', '180875152679256', '180875152679256', '2023-12-29 06:46:55.681', '2023-12-29 06:49:49.632', 'PUBLIC') ON CONFLICT (id) DO NOTHING; -INSERT INTO "public"."tenant" ("id", "name", "description", "avatar_id", "created_by", "updated_by", "created_at", "updated_at", "access_level") VALUES ('727d7157b3d24209aefd59eb7d1c49ff', 'appbuilder默认租户1', '', ' ', '180875152679256', '180875152679256', '2023-12-29 06:46:55.681', '2023-12-29 06:49:49.632', 'PUBLIC') ON CONFLICT (id) DO NOTHING; - - INSERT INTO "flow_graph" ("id", "version", "tenant", "status", "name", "data", "created_by", "created_at", "updated_by", "updated_at", "previous", "is_deleted") VALUES ('beefffd1168b4785a71f149a2a530d2f', '1.0.0', '31f20efc7e0848deab6a6bc10fc3021e', 'active', diff --git a/app-builder/jane/plugins/aipp-plugin/src/main/resources/sql/data/tr_t_interview.sql b/app-builder/jane/plugins/aipp-plugin/src/main/resources/sql/data/tr_t_interview.sql new file mode 100644 index 0000000000..b6c34f2ac8 --- /dev/null +++ b/app-builder/jane/plugins/aipp-plugin/src/main/resources/sql/data/tr_t_interview.sql @@ -0,0 +1,70 @@ +INSERT INTO "public"."app_builder_app" ("id", "name", "create_by", "create_at", "update_by", "update_at", "config_id", "flow_graph_id", "tenant_id", "type", "version", "attributes", "state", "app_built_type", "app_category", "collection_usr_cnt", "is_deleted", "path", "app_type") VALUES ('fd8166b5005e4d66a77d318f3b1dd5e5', '面试助手-v3', 'Jade', '2025-04-28 08:36:13.767496', 'Jade', '2025-04-28 08:37:15.197182', '68da40b4e47e4743a59c2beac9002dc7', '24f72de428124eb19fd12db36ebcfd34', '31f20efc7e0848deab6a6bc10fc3021e', 'app', '1.0.0', '{"icon": "", "name": "面试助手-v3", "greeting": "", "store_id": "e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf", "is_update": false, "description": "", "publishedUpdateLog": "", "publishedDescription": ""}', 'active', 'workflow', 'chatbot', 0, 0, '3v8ZU1cMRV0oRcqu', '4db152b24f94473ab683b1acbfe3c865') ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_config" ("id", "form_id", "app_id", "tenant_id", "create_by", "create_at", "update_by", "update_at", "is_deleted") VALUES ('68da40b4e47e4743a59c2beac9002dc7', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'fd8166b5005e4d66a77d318f3b1dd5e5', '31f20efc7e0848deab6a6bc10fc3021e', 'Jade', '2025-04-28 08:36:13.767496', 'Jade', '2025-04-28 08:37:15.197182', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('ad49ec27f32542a8b3fda35f236c8d8f', 'jadewdnjbq', '64a7ca8b22414bf28abb49a75e0f1f1c', '68da40b4e47e4743a59c2beac9002dc7', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('adc7049507694fe3aa4c9ce790d999a6', 'jadewdnjbq', '47619270aade4e828931abeccd2ee812', '68da40b4e47e4743a59c2beac9002dc7', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('a31810d0902d4ea0bb6bb44c86a7a7a7', 'jade6qm5eg', '758521d79cf744398245162ef476708b', '68da40b4e47e4743a59c2beac9002dc7', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('356f002b79454dc9bc20e77dfff3bb6d', 'jade0pg2ag', 'fde8766a85d44686810fe39d0be3e1b4', '68da40b4e47e4743a59c2beac9002dc7', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('ce6c7a83b4b446e1ab36401dc6f40ceb', 'jadewdnjbq', '14d07bac14ee4621bbc49906cb9fc51a', '68da40b4e47e4743a59c2beac9002dc7', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('dbc3c401545b4555b0387746e41744f6', 'jadewdnjbq', '705c9988eaf54f9aa9abb932c14a4232', '68da40b4e47e4743a59c2beac9002dc7', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('47a7234ce9bb4a6b93080835045f4ef5', 'jadewdnjbq', '082cfb50221749e2b968b3e291e97223', '68da40b4e47e4743a59c2beac9002dc7', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('88489401cddf4632ab859d7d4f6f2749', 'jadewdnjbq', 'ddf6e55b8bf44eb1a10001838906b06c', '68da40b4e47e4743a59c2beac9002dc7', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('91247a8130cf401ab81133853cc678a5', NULL, '1aa4a8c3178c473c8fdabd37af5f0002', '68da40b4e47e4743a59c2beac9002dc7', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_flow_graph" ("id", "name", "create_by", "create_at", "update_by", "update_at", "appearance", "is_deleted") VALUES ('24f72de428124eb19fd12db36ebcfd34', 'LLM模板', 'Jade', '2025-04-28 08:36:13.767496', 'Jade', '2025-04-28 08:37:15.197182', '{"id": "24f72de428124eb19fd12db36ebcfd34", "type": "jadeFlowGraph", "pages": [{"x": -3265.2857142857183, "y": 2282.8690476190486, "id": "elsa-page:tvp1s6", "bold": false, "mode": "configuration", "text": "newFlowPage", "type": "jadeFlowPage", "dirty": true, "index": 0, "width": 1600, "hAlign": "left", "height": 800, "isPage": true, "italic": false, "scaleX": 0.40000000000000013, "scaleY": 0.40000000000000013, "shapes": [{"x": -170.8928571428571, "y": 32.5, "id": "jade6qm5eg", "pad": 6, "bold": false, "text": "开始", "type": "startNodeStart", "dirty": false, "index": 0, "width": 360, "height": 225, "italic": false, "shadow": "0 2px 4px 0 rgba(0,0,0,.1)", "flowMeta": {"inputParams": [{"id": "91138f09-b635-43df-95c6-1fe3d1745829", "from": "Expand", "name": "input", "type": "Object", "value": [{"id": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "from": "Input", "name": "Question", "type": "String", "value": "", "isVisible": true, "isRequired": true, "description": "这是用户输入的问题。", "displayName": "用户问题", "disableModifiable": true}], "config": [{"allowAdd": true}]}, {"id": "4a770dc6-e3c9-475d-84c7-48dacc74a5b6", "from": "Expand", "name": "memory", "type": "Object", "value": [{"id": "a7675623-7fc7-468c-8910-e73c70e5e468", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": false}, {"id": "cee9a31b-781c-4835-a616-ceed73be22f2", "from": "Input", "name": "type", "type": "String", "value": "ByConversationTurn"}, {"id": "69592622-4291-409d-9d65-9faea83db657", "from": "Input", "name": "value", "type": "Integer", "value": "3"}]}], "triggerMode": "auto"}, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": false, "namespace": "flowable", "autoHeight": true, "emphasized": false, "rotateAble": false, "borderColor": "rgba(28,31,35,.08)", "borderWidth": 1, "focusShadow": "0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)", "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "startComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "mouseInBorderColor": "rgba(28,31,35,.08)"}, {"x": 2726.964285714285, "y": 97.26190476190459, "id": "jadesoux5i", "pad": 6, "bold": false, "text": "结束", "type": "endNodeEnd", "dirty": false, "index": 1, "width": 360, "height": 181, "italic": false, "shadow": "0 2px 4px 0 rgba(0,0,0,.1)", "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "54dab89c-5693-4082-baa7-12c648d812f7", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "ffad80c2-3f60-4d57-93b2-c2362a5dab9c", "from": "Reference", "name": "finalOutput", "type": "String", "value": ["output", "errorMessage"], "editable": true, "isRequired": true, "description": "", "referenceId": "50617d76-27e1-49aa-a653-1947168d8937", "referenceKey": "errorMessage", "referenceNode": "jadelk78r1"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "c4469c16-88a7-4575-b339-9a06e3305f3b", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "flowable", "autoHeight": true, "emphasized": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "focusShadow": "0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)", "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 886.0342890059239, "y": -29.654761904761983, "id": "jadelk78r1", "pad": 6, "bold": false, "text": "AI简历解析插件", "type": "toolInvokeNodeState", "dirty": false, "index": 2, "width": 360, "height": 185, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "fileUrl"}, {"name": "instanceId"}], "return": {"type": "object"}, "uniqueName": "8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "fileUrl_edfec05d-9812-429f-ae55-24df5d2e1216", "from": "Reference", "name": "fileUrl", "type": "String", "value": ["output", "fileUrl"], "isRequired": true, "description": "简历文件URL", "referenceId": "45fafbfd-5966-47ba-91af-baebe09bdab1", "referenceKey": "fileUrl", "referenceNode": "jadeemu770"}, {"id": "instanceId_24e98795-b3aa-4a0f-b78f-d4b059a59768", "from": "Reference", "name": "instanceId", "type": "String", "value": ["instanceId"], "isRequired": true, "description": "实例ID", "referenceId": "instanceId", "referenceKey": "instanceId", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "output_5315b59e-1d27-4278-a06e-f89c7627782a", "name": "output", "type": "Object", "value": [{"id": "bf6d9282-2bf5-4826-9be1-10756ed6d728", "name": "isFileHandled", "type": "Boolean", "value": "Boolean"}, {"id": "9e3844fd-864d-4504-8f2b-dba7e919135b", "name": "cvAnalyzerPrompt", "type": "String", "value": "String"}, {"id": "50617d76-27e1-49aa-a653-1947168d8937", "name": "errorMessage", "type": "String", "value": "String"}]}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "toolInvokeComponent", "focusBackColor": "white", "sourcePlatform": "", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 337.57000329163884, "y": -111.01190476190482, "id": "jadeemu770", "pad": 6, "bold": false, "text": "代码", "type": "codeNodeState", "dirty": false, "index": 3, "width": 368, "height": 251, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "args"}, {"name": "code"}, {"name": "language"}, {"name": "output"}], "return": {"type": "object"}, "uniqueName": "e147f301-957a-4335-a155-1e86d1a45ae5"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "98a0c373-6b03-4fd0-bc1d-101c9f1b1fd2", "from": "Expand", "name": "args", "type": "Object", "value": [{"id": "a15b25db-133c-41b4-a329-4b9bd257ad3e", "from": "Reference", "name": "fileUrls", "type": "Array", "value": ["fileUrls"], "referenceId": "fileUrls", "referenceKey": "fileUrls", "referenceNode": "_systemEnv"}]}, {"id": "6a95280d-156a-45b2-b235-9ca2b9015d2f", "from": "Input", "name": "code", "type": "String", "value": "async def main(args: Args) -> Output:\n ret: Output = {\n \"fileUrl\": args[''fileUrls''][0] if args[''fileUrls''] else \"\"\n }\n return ret", "language": "python"}, {"id": "b770fd0c-d5ae-4f2a-8129-52839becb775", "from": "Input", "name": "language", "type": "String", "value": "python"}, {"id": "1e2ee2b3-0106-44ac-89db-1684220c5ad4", "from": "Input", "name": "output", "type": "Object", "value": {"properties": {"output": {"type": "object", "properties": {"fileUrl": {"type": "string", "description": ""}}, "description": ""}}}}], "outputParams": [{"id": "ebdfcbcb-4dbd-47dc-8bd6-a5752edb2487", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "45fafbfd-5966-47ba-91af-baebe09bdab1", "from": "Input", "name": "fileUrl", "type": "String", "value": "", "description": ""}]}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28,31,35,.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "codeComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderWidth": 1, "mouseInBorderColor": "#B1B1B7"}, {"x": 189.1071428571429, "y": 145, "id": "jadexi4d2i", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 4, "textX": 0, "textY": 0, "width": 148.46286043449595, "hAlign": "center", "height": -130.51190476190482, "italic": false, "margin": 20, "toShape": "jadeemu770", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade6qm5eg", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 705.5700032916388, "y": 14.488095238095184, "id": "jade3ccnk1", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 5, "textX": 0, "textY": 0, "width": 180.4642857142851, "hAlign": "center", "height": 48.35714285714283, "italic": false, "margin": 20, "toShape": "jadelk78r1", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadeemu770", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 1502.2128604344966, "y": -113.58333333333326, "id": "jade4h5wks", "pad": 6, "bold": false, "text": "条件", "type": "conditionNodeCondition", "dirty": false, "index": 6, "width": 600, "height": 283, "italic": false, "flowMeta": {"joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "conditionParams": {"branches": [{"id": "70695434-91fb-4493-87a4-e681e99d985e", "type": "if", "runnable": true, "conditions": [{"id": "a5aef4c1-af83-475e-9805-2dbff919de10", "value": [{"id": "d9df8a7c-4cc6-4147-b73e-a9db324b1bde", "from": "Reference", "name": "left", "type": "Boolean", "value": ["output", "isFileHandled"], "referenceId": "bf6d9282-2bf5-4826-9be1-10756ed6d728", "referenceKey": "isFileHandled", "referenceNode": "jadelk78r1"}, {"id": "4a915ffb-6082-4fca-a622-71d875b34412", "from": "Input", "name": "right", "type": "Boolean", "value": true, "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}, {"id": "8e60cd88-0799-4f12-9fcb-e20ccbc7ecd0", "value": [{"id": "f2552657-58f6-4def-a3c7-cab73575e5b0", "from": "Reference", "name": "left", "type": "String", "value": ["output", "errorMessage"], "referenceId": "50617d76-27e1-49aa-a653-1947168d8937", "referenceKey": "errorMessage", "referenceNode": "jadelk78r1"}, {"id": "9c8f2868-6722-4ed6-b388-3215bfbcacca", "from": "Input", "name": "right", "type": "String", "value": "请确认 上传的文件是一份简历", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "contains"}], "conditionRelation": "or"}, {"id": "32f55d87-ebf2-464f-9f78-ecd62e36f2dc", "type": "if", "runnable": true, "conditions": [{"id": "5e19d158-03a3-4315-b45c-ff2a0b384db0", "value": [{"id": "847d2cf6-5201-4628-a183-ca9ba62745f2", "from": "Reference", "name": "left", "type": "String", "value": ["output", "errorMessage"], "referenceId": "50617d76-27e1-49aa-a653-1947168d8937", "referenceKey": "errorMessage", "referenceNode": "jadelk78r1"}, {"id": "9bab7914-26b4-487e-b609-d9776b13e608", "from": "Reference", "name": "right", "type": "", "value": [], "referenceNode": ""}], "condition": "is not empty string"}], "conditionRelation": "and"}, {"id": "8650733f-4401-4155-8633-048a5726e6fe", "type": "else", "runnable": true, "conditions": [{"id": "4e7f3b9e-f609-4178-bd27-459d0683cac9", "value": [], "condition": "true"}], "conditionRelation": "and"}], "jadeNodeConfigChangeIgnored": true}}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "conditionComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 2593.820003291639, "y": -446.0119047619048, "id": "jade2es9ti", "pad": 6, "bold": false, "text": "条件_1", "type": "conditionNodeCondition", "dirty": false, "index": 7, "width": 600, "height": 227, "italic": false, "flowMeta": {"joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "conditionParams": {"branches": [{"id": "e2cefcda-b6e2-4713-ac74-f2266a10bb19", "type": "if", "runnable": true, "conditions": [{"id": "2f466536-4151-4013-b008-bf5af8a37edb", "value": [{"id": "c8601563-bbeb-497b-91f4-a1f81e08ad32", "from": "Reference", "name": "left", "type": "String", "value": ["output", "errorMessage"], "referenceId": "50617d76-27e1-49aa-a653-1947168d8937", "referenceKey": "errorMessage", "referenceNode": "jadelk78r1"}, {"id": "3543673f-ee62-4e18-82ef-c9e0ecc2e9a2", "from": "Reference", "name": "right", "type": "", "value": "", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "is empty string"}], "conditionRelation": "and"}, {"id": "99f4f4da-c3fd-4296-9b83-b0ff5a3ef595", "type": "else", "runnable": true, "conditions": [{"id": "d9733cad-0646-41f9-be5b-f39c9ac4d220", "value": [], "condition": "true"}], "conditionRelation": "and"}], "jadeNodeConfigChangeIgnored": true}}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "conditionComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 2095.5463717870352, "y": 7.0834256807963385, "id": "jade9gqfjk", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 8, "textX": 0, "textY": 0, "width": 498.2736315046036, "hAlign": "center", "height": -339.59533044270114, "italic": false, "margin": 20, "toShape": "jade2es9ti", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade4h5wks", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-1|70695434-91fb-4493-87a4-e681e99d985e"}, {"x": 3641.320003291639, "y": -385.0119047619048, "id": "jade758stt", "pad": 6, "bold": false, "text": "智能表单", "type": "manualCheckNodeState", "dirty": true, "index": 9, "width": 360, "height": 352, "italic": false, "flowMeta": {"task": {"type": "AIPP_SMART_FORM", "imgUrl": "http://localhost:8001/api/jober/static/smart_form/e85bd769-0212-4305-b56b-01e77faa14ff/form.png", "taskId": "115b557320ac41e1b449b8107aaa1781", "formName": "面试助手3", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "isCvFile_337878e3-7720-4ece-bf92-40d4a402625c", "from": "Input", "name": "isCvFile", "type": "String", "value": "null", "isRequired": true, "referenceId": null, "referenceKey": null, "referenceNode": null}, {"id": "instanceId_59f311b0-98b3-4292-8887-aba60c48e3e4", "from": "Reference", "name": "instanceId", "type": "String", "value": ["instanceId"], "isRequired": true, "referenceId": "instanceId", "referenceKey": "instanceId", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "output_e5ae0061-8304-4327-958a-a6cd0f80100d", "name": "output", "type": "Object", "value": [{"id": "ab8bf709-7374-4f33-90d6-72a64254f07e", "name": "isCvFile", "type": "String", "value": "String"}]}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "manual"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "manualCheckComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 3187.1533525195437, "y": -278.34520249139706, "id": "jadepke1tr", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 10, "textX": 0, "textY": 0, "width": 454.1666507720952, "hAlign": "center", "height": 69.33329772949224, "italic": false, "margin": 20, "toShape": "jade758stt", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade2es9ti", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-999"}, {"x": 2777.570003291639, "y": 571.4880952380952, "id": "jadey32p7b", "pad": 6, "bold": false, "text": "AI提示词拼接工具", "type": "toolInvokeNodeState", "dirty": false, "index": 11, "width": 360, "height": 185, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "appId"}, {"name": "instanceId"}, {"name": "input"}], "return": {"type": "string"}, "uniqueName": "bdc009dc-969e-4839-b5d7-e9599009d50d"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "appId_0293cca7-c1ea-45b0-8ca8-b37a55f99303", "from": "Reference", "name": "appId", "type": "String", "value": ["appId"], "isRequired": true, "description": "应用ID", "referenceId": "appId", "referenceKey": "appId", "referenceNode": "_systemEnv"}, {"id": "instanceId_93f70f4f-e2b6-4518-a53e-af0ccdc99d2c", "from": "Reference", "name": "instanceId", "type": "String", "value": ["instanceId"], "isRequired": true, "description": "实例ID", "referenceId": "instanceId", "referenceKey": "instanceId", "referenceNode": "_systemEnv"}, {"id": "input_4ac2267a-fa7a-462c-ad8d-7b2936e0fac3", "from": "Reference", "name": "input", "type": "String", "value": ["Question"], "isRequired": true, "description": "用户输入", "referenceId": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "referenceKey": "Question", "referenceNode": "jade6qm5eg"}], "outputParams": [{"id": "output_65d89d72-205f-4bf6-bb6e-a11bebaa8497", "name": "output", "type": "String", "value": []}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "toolInvokeComponent", "focusBackColor": "white", "sourcePlatform": "", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 3412.570003291639, "y": -1506.0119047619048, "id": "jade39q3lc", "pad": 6, "bold": false, "text": "大模型", "type": "llmNodeState", "dirty": false, "index": 12, "width": 360, "height": 343, "italic": false, "flowMeta": {"jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "009c2461-9c7e-4f85-bf43-ad887acd6a8a", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "f78bde02-c766-4be5-bab6-70d2f6e6de6c", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "af11f474-c1ae-4e07-ad7e-92f378a9d19d", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "5fe88d69-b7bb-4ff3-abb1-a2fbeb4ec240", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "b23e18ed-c36f-4692-9917-4971f9c1659b", "from": "Input", "name": "temperature", "type": "Number", "value": 0.7}, {"id": "cd4194cd-db96-4164-8a45-9ca4ea30cd81", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "184c22f2-c6f5-4bb6-81ca-d214eb266b35", "from": "Input", "name": "template", "type": "String", "value": "你是一名经验丰富的专业面试官,请根据下文提供的简历信息,帮我梳理和回答以下问题:\n一、以“项目经历与专业技能总结”为题,总结候选人的项目经历、专业技能,格式如下:\n项目经历:(选择前3项经历,如果候选人项目经历不足3个,选择既有项目即可,不要做额外补充,从技术亮点、核心贡献两个维度进行总结)\n专业技能:(总结3类候选人掌握的专业技能,不总结人际沟通、团队协作、项目管理等非技术类技能)\n二、以“项目技术考察重点方向”为标题,请根据项目经历项,为每个项目建议2个技术方面的重点考察方向\n三、以“项目综合能力问题”为标题,请根据项目经历项,为每个项目准备2个考察综合能力(系统思维、影响他人的能力、学些能力、团队合作能力、抗压能力)的问题,不考察项目的具体技术实现\n四、以“专业技能重点考察方向”为标题,请根据专业技能项,为每个技能建议2个重点考察方向,考察候选人对编程语言和软件理论的掌握程度\n请用中文输出所有信息。\n以下为简历信息:\n{{cvAnalyzerprompt}}"}, {"id": "30eacd51-29f6-4a90-8e17-4e4ffe1ddcc6", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "155a2932-e37e-4c18-b14b-6d44b2a43ae4", "from": "Reference", "name": "isFileHandled", "type": "Boolean", "value": ["output", "isFileHandled"], "referenceId": "bf6d9282-2bf5-4826-9be1-10756ed6d728", "referenceKey": "isFileHandled", "referenceNode": "jadelk78r1"}, {"id": "950c301c-81ba-41a6-bda5-aa37360e92a5", "from": "Reference", "name": "cvAnalyzerprompt", "type": "String", "value": ["output", "cvAnalyzerPrompt"], "referenceId": "9e3844fd-864d-4504-8f2b-dba7e919135b", "referenceKey": "cvAnalyzerPrompt", "referenceNode": "jadelk78r1"}]}]}, {"id": "dded6123-d168-44b8-8779-738d61af4859", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "a7b687f8-e993-4e5a-9a10-bb6df8df25d9", "from": "Expand", "name": "tools", "type": "Array", "value": []}, {"id": "6ec07829-b51c-4397-8670-59659e43036f", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "3733d6f2-0ea2-4dab-9f5b-423352d4af0b", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "091115ca-4fd9-4265-8280-5d70cfcdcfca", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "b0a3bdd3-7a3c-4657-8288-4cf8a98d33a0", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "ec24f7c3-3c2e-4f9c-b5e1-3ef129e9ddf2", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "51b4e7bb-19f5-4477-a2df-b974f8c97ba7", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "llmComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 3187.1533525195437, "y": -325.3452101207916, "id": "jadeqraasb", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 13, "textX": 0, "textY": 0, "width": 225.41665077209518, "hAlign": "center", "height": -1009.1666946411133, "italic": false, "margin": 20, "toShape": "jade39q3lc", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade2es9ti", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-0|e2cefcda-b6e2-4713-ac74-f2266a10bb19"}, {"x": 4292.748574720212, "y": -233.29761904761904, "id": "jadegqixt5", "pad": 6, "bold": false, "text": "条件_2", "type": "conditionNodeCondition", "dirty": false, "index": 14, "width": 600, "height": 227, "italic": false, "flowMeta": {"joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "conditionParams": {"branches": [{"id": "bb4f8032-19cc-445b-a2ff-5cda77ae59e3", "type": "if", "runnable": true, "conditions": [{"id": "8085598f-b128-4749-940c-b4bda2619cba", "value": [{"id": "9a656755-91fe-47b6-a54c-4b2be274978a", "from": "Reference", "name": "left", "type": "String", "value": ["output", "errorMessage"], "referenceId": "50617d76-27e1-49aa-a653-1947168d8937", "referenceKey": "errorMessage", "referenceNode": "jadelk78r1"}, {"id": "37c01598-663a-476c-9a99-202b73131d4b", "from": "Input", "name": "right", "type": "String", "value": "", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "is not empty string"}], "conditionRelation": "and"}, {"id": "319689dd-4250-4f0d-9c1b-d071013ac712", "type": "else", "runnable": true, "conditions": [{"id": "737ba1f5-dbb5-401c-9bf5-e18597f02123", "value": [], "condition": "true"}], "conditionRelation": "and"}], "jadeNodeConfigChangeIgnored": true}}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "conditionComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 5110.605717577355, "y": -790.4761904761904, "id": "jadem1n9u5", "pad": 6, "bold": false, "text": "大模型_1", "type": "llmNodeState", "dirty": false, "index": 15, "width": 360, "height": 343, "italic": false, "flowMeta": {"jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "b8519f34-6d5f-42cd-b949-438f44d3210e", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "8c18f95c-1585-4e11-be07-de595ad13a92", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "8fd16d6c-b043-46dd-8b55-f0b8dee2615c", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "bd6f983c-f8e8-4538-ac66-60024d09c0a1", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "0263e85d-6125-4e27-ab7a-d2bc351cf414", "from": "Input", "name": "temperature", "type": "Number", "value": 0.6}, {"id": "1cf0a04f-2ca7-41fd-bec4-f9a1dd016c7f", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "a1335ac5-b02b-47c5-91d4-ecb945833ef3", "from": "Input", "name": "template", "type": "String", "value": "你是一名经验丰富的专业面试官,请根据下文提供的简历信息,帮我梳理和回答以下问题:\n一、以“项目经历与专业技能总结”为题,总结候选人的项目经历、专业技能,格式如下:\n项目经历:(选择前3项经历,如果候选人项目经历不足3个,选择既有项目即可,不要做额外补充,从技术亮点、核心贡献两个维度进行总结)\n专业技能:(总结3类候选人掌握的专业技能,不总结人际沟通、团队协作、项目管理等非技术类技能)\n二、以“项目技术考察重点方向”为标题,请根据项目经历项,为每个项目建议2个技术方面的重点考察方向\n三、以“项目综合能力问题”为标题,请根据项目经历项,为每个项目准备2个考察综合能力(系统思维、影响他人的能力、学些能力、团队合作能力、抗压能力)的问题,不考察项目的具体技术实现\n四、以“专业技能重点考察方向”为标题,请根据专业技能项,为每个技能建议2个重点考察方向,考察候选人对编程语言和软件理论的掌握程度\n请用中文输出所有信息。\n以下为简历信息:\n{{cvAnalyzerprompt}}"}, {"id": "d6309a8b-d15b-4380-b6c6-ef000a9e5201", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "25e56c39-1668-4428-8174-116b1a906bbd", "from": "Reference", "name": "isFileHandled", "type": "Boolean", "value": ["output", "isFileHandled"], "referenceId": "bf6d9282-2bf5-4826-9be1-10756ed6d728", "referenceKey": "isFileHandled", "referenceNode": "jadelk78r1"}, {"id": "498b5c92-92ef-4ebf-9346-f2847fb88a3a", "from": "Reference", "name": "cvAnalyzerprompt", "type": "String", "value": ["output", "cvAnalyzerPrompt"], "referenceId": "9e3844fd-864d-4504-8f2b-dba7e919135b", "referenceKey": "cvAnalyzerPrompt", "referenceNode": "jadelk78r1"}]}]}, {"id": "dded6123-d168-44b8-8779-738d61af4859", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "e1ad1e33-6a7c-451d-ba5a-158595cb2af8", "from": "Expand", "name": "tools", "type": "Array", "value": []}, {"id": "3c3f111b-85ec-42c0-af8e-f3352518a29b", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "1cd6884e-c3e3-483b-baeb-d592c4f58ebf", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "7d01bbd3-df9c-4884-8d02-54b195096857", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "9e2fb06e-0276-48c8-8606-c36a31cf93b0", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "3eab6484-fa97-4e06-a0cc-263d3ed5274a", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "d438bc29-a627-44c2-bd57-4bf64eceba5a", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "llmComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 4886.081819043942, "y": -112.63091010139105, "id": "jadee79arc", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 16, "textX": 0, "textY": 0, "width": 224.52389853341265, "hAlign": "center", "height": -506.3452803747993, "italic": false, "margin": 20, "toShape": "jadem1n9u5", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadegqixt5", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-0|bb4f8032-19cc-445b-a2ff-5cda77ae59e3"}, {"x": 3451.3200032916393, "y": 321.4880952380952, "id": "jadedzi58q", "pad": 6, "bold": false, "text": "大模型_2", "type": "llmNodeState", "dirty": false, "index": 17, "width": 360, "height": 343, "italic": false, "flowMeta": {"jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "1d11a986-7dc9-4ba3-84d8-3f15810ae587", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "4ebabb28-8981-46d6-a458-953082c01f9a", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "5af05d34-4b6e-435f-872c-96fa990a1476", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "ea9b2985-96e6-480c-b065-c7cce122b57a", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "32801848-b75f-4ac0-b050-f3dfbd57e3ad", "from": "Input", "name": "temperature", "type": "Number", "value": 0.7}, {"id": "1891af57-83ff-458d-ac70-d35a7af89705", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "e9e29b94-85e2-47c8-84d2-055a77660b88", "from": "Input", "name": "template", "type": "String", "value": "{{query}}"}, {"id": "29e702cd-b721-442a-9893-81298cfa2953", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "c34fda11-8f17-4c85-96aa-35c5bb311e2a", "from": "Reference", "name": "query", "type": "String", "value": ["output"], "referenceId": "output_65d89d72-205f-4bf6-bb6e-a11bebaa8497", "referenceKey": "output", "referenceNode": "jadey32p7b"}]}]}, {"id": "dded6123-d168-44b8-8779-738d61af4859", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "2b06515f-c9d5-41bd-bfbe-e1b1382d6ec1", "from": "Expand", "name": "tools", "type": "Array", "value": []}, {"id": "0b5e2451-ed5f-46b2-8600-8893963296e4", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "acb67126-1a1b-4430-946e-30e768712333", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "f7d670ab-1cad-4028-a9c8-c84a5a170ac1", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "29ed2025-1eaa-462a-a37a-e05677eef8c4", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "451cf45e-6250-4f08-9d73-51d94433d749", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "dab1caf6-f171-4f6d-beb7-97c913fa1637", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "llmComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 3137.570003291639, "y": 663.9880952380952, "id": "jadeqdcs4x", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 18, "textX": 0, "textY": 0, "width": 313.75000000000045, "hAlign": "center", "height": -171, "italic": false, "margin": 20, "toShape": "jadedzi58q", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadey32p7b", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 4101.320003291639, "y": 470.2380952380952, "id": "jadefw1zfk", "pad": 6, "bold": false, "text": "结束_2", "type": "endNodeEnd", "dirty": false, "index": 19, "width": 360, "height": 181, "italic": false, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "b6d32b12-26db-4a72-974b-7e197326e653", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "5c0e817c-8851-4350-9c5b-0ac5792a4e71", "from": "Reference", "name": "output", "type": "String", "value": ["output", "llmOutput"], "editable": true, "isRequired": true, "description": "", "referenceId": "451cf45e-6250-4f08-9d73-51d94433d749", "referenceKey": "llmOutput", "referenceNode": "jadedzi58q"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "5e7a8388-8193-4f2d-a44a-094ab6fc576b", "from": "Input", "name": "enableLog", "type": "Boolean", "value": false}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28,31,35,.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderWidth": 1, "mouseInBorderColor": "#B1B1B7"}, {"x": 3811.3200032916393, "y": 492.9880952380952, "id": "jadecvs6at", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 20, "textX": 0, "textY": 0, "width": 290, "hAlign": "center", "height": 67.75, "italic": false, "margin": 20, "toShape": "jadefw1zfk", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadedzi58q", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 5366.320003291639, "y": 447.7380952380952, "id": "jadexn70e2", "pad": 6, "bold": false, "text": "结束_4", "type": "endNodeEnd", "dirty": false, "index": 21, "width": 360, "height": 181, "italic": false, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "5268f248-07c8-4871-8732-e007316214fc", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "1434e18b-bd1b-4286-bc2f-cfb2cb1e9c1e", "from": "Reference", "name": "output", "type": "String", "value": ["output", "errorMessage"], "editable": true, "isRequired": true, "description": "", "referenceId": "50617d76-27e1-49aa-a653-1947168d8937", "referenceKey": "errorMessage", "referenceNode": "jadelk78r1"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "e0c88e2d-1373-4606-8aaf-2d8ff330a27f", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28,31,35,.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderWidth": 1, "mouseInBorderColor": "#B1B1B7"}, {"x": 4886.081819043942, "y": -65.6309930710566, "id": "jade2u3je1", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 22, "textX": 0, "textY": 0, "width": 480.23818424769706, "hAlign": "center", "height": 603.8690883091517, "italic": false, "margin": 20, "toShape": "jadexn70e2", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadegqixt5", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-999"}, {"x": 4001.320003291639, "y": -209.01190476190482, "id": "jadet1dvap", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 23, "textX": 0, "textY": 0, "width": 291.4285714285729, "hAlign": "center", "height": 89.21428571428578, "italic": false, "margin": 20, "toShape": "jadegqixt5", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade758stt", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 5660.4628604345, "y": -664.6309523809527, "id": "jade9puqh3", "pad": 6, "bold": false, "text": "文本提取", "type": "textExtractionNodeState", "dirty": false, "index": 24, "width": 360, "height": 333, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "extractParam"}, {"name": "memoryConfig"}, {"name": "memorySwitch"}, {"name": "histories"}], "return": {"type": "object"}, "uniqueName": "3bca6a3f-9623-4228-b120-1a5e0d41dc14"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"stageDesc": "正在生成推荐面试问题...", "inputParams": [{"id": "extractParam_e7356380-7e19-4def-a1b5-3f7fb62c06af", "from": "Expand", "name": "extractParam", "type": "Object", "value": [{"id": "text_da536c71-b299-40f0-8bca-720364fe20a0", "from": "Reference", "name": "text", "type": "String", "value": ["output", "llmOutput"], "referenceId": "3eab6484-fa97-4e06-a0cc-263d3ed5274a", "referenceKey": "llmOutput", "referenceNode": "jadem1n9u5"}, {"id": "desc_ddf67a20-776a-4c29-b741-9b5ed31a5104", "from": "Input", "name": "desc", "type": "String", "value": ""}, {"id": "outputSchema_1d2b703c-237b-40c9-9286-0d427c2b7312", "from": "Input", "name": "outputSchema", "type": "String", "value": "{\"type\":\"object\",\"properties\":{\"questions\":{\"type\":\"array\",\"description\":\"针对简历的问题列表\"}}}"}, {"id": "0d0a1d90-49b7-4bc6-af15-4c1c2905dadd", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "928af3d3-8671-4d93-a091-fd1662b74474", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "2ee47e96-94a7-4ee4-b616-36201338a7e4", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "temperature_236f8466-2e34-4b41-a199-a8d2843261ac", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}]}, {"id": "memoryConfig_88d92098-2b56-4757-9fb6-08f3628e19ce", "from": "Expand", "name": "memoryConfig", "type": "Object", "value": [{"id": "windowAlg_91b53de6-83c0-44eb-bf92-2585268d7526", "from": "Input", "name": "windowAlg", "type": "String", "value": "buffer_window"}, {"id": "serializeAlg_f77ab974-f9c6-4ad3-9bcd-818fad8d96e2", "from": "Input", "name": "serializeAlg", "type": "String", "value": "full"}, {"id": "property_7894b9b6-55e0-4b6e-acf8-d430e396d00c", "from": "Input", "name": "property", "type": "Integer", "value": "0"}]}, {"id": "memorySwitch_a59975ed-71a1-4647-83b1-20c3aefe44f1", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": false}, {"id": "histories_643f02b9-d709-4fc9-a04b-f9e590d96786", "from": "Reference", "name": "histories", "type": "Array", "value": ["memories"], "referenceId": "memories", "referenceKey": "memories", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "28eac6e6-2877-426a-a22c-5e425bfd2b1e", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "fa30b424-be71-443d-b18d-fbd32144e049", "from": "Expand", "name": "extractedParams", "type": "Object", "value": [{"id": "c19b4740-ce95-4483-b789-47286a19096b", "from": "Input", "name": "questions", "type": "Array", "value": "", "description": "针对简历的问题列表"}]}, {"id": "success_67bf7577-82ac-47b8-b8fa-7d7ebc53513a", "from": "Input", "name": "success", "type": "Boolean", "value": "Boolean"}]}], "enableStageDesc": true, "jadeNodeConfigChangeIgnored": false}}}, "stageDesc": "正在生成推荐面试问题...", "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "enableStageDesc": true}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "textExtractionComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 5470.605717577355, "y": -618.9761904761904, "id": "jade79wnvk", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 25, "textX": 0, "textY": 0, "width": 189.85714285714494, "hAlign": "center", "height": 120.84523809523762, "italic": false, "margin": 20, "toShape": "jade9puqh3", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadem1n9u5", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 2095.5463717870352, "y": 63.08343664805096, "id": "jadekuuju4", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 26, "textX": 0, "textY": 0, "width": 631.4179139272496, "hAlign": "center", "height": 124.67846811385363, "italic": false, "margin": 20, "toShape": "jadesoux5i", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade4h5wks", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-1|32f55d87-ebf2-464f-9f78-ecd62e36f2dc"}, {"x": 2095.5463717870352, "y": 110.08335367838541, "id": "jade1o7wna", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 27, "textX": 0, "textY": 0, "width": 682.0236315046036, "hAlign": "center", "height": 553.9047415597098, "italic": false, "margin": 20, "toShape": "jadey32p7b", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade4h5wks", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-999"}, {"x": 6189.070031819352, "y": -567.4536159624079, "id": "jademrtwtm", "pad": 6, "bold": false, "text": "智能表单_1", "type": "manualCheckNodeState", "dirty": true, "index": 28, "width": 360, "height": 473, "italic": false, "flowMeta": {"task": {"type": "AIPP_SMART_FORM", "imgUrl": "http://localhost:8001/api/jober/static/smart_form/7958d851-8062-49bd-b21e-d7372991c905/form.png", "taskId": "d496c444a3174beabbcec5441aed40e2", "formName": "面试评价表单", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "questions_7e08f8cb-47ae-47df-b1a7-aaf62d7be03f", "from": "Reference", "name": "questions", "type": "Array", "value": ["output", "extractedParams", "questions"], "isRequired": true, "referenceId": "c19b4740-ce95-4483-b789-47286a19096b", "referenceKey": "questions", "referenceNode": "jade9puqh3"}], "outputParams": [{"id": "output_f00ac42b-c893-479b-b0ee-5cbe996c885a", "name": "output", "type": "Object", "value": [{"id": "27aa7c57-e31e-482a-98f0-bdbcc21a6138", "name": "qeMap", "type": "Array", "value": "Array"}]}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "manual"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "manualCheckComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 6020.4628604345, "y": -498.13095238095275, "id": "jadem1n5oj", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 29, "textX": 0, "textY": 0, "width": 168.60717138485234, "hAlign": "center", "height": 167.17733641854488, "italic": false, "margin": 20, "toShape": "jademrtwtm", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade9puqh3", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 6915.736698486009, "y": -872.4536159624076, "id": "jadezaa7cy", "pad": 6, "bold": false, "text": "大模型_3", "type": "llmNodeState", "dirty": true, "index": 30, "width": 360, "height": 411, "italic": false, "flowMeta": {"jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "fcd5702a-23f8-482e-a193-945676ca99ef", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "3a0ce6b3-8e98-4045-9323-957415084fba", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "35594014-3ca3-46b7-ac71-acd76b443952", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "f3d8a723-81d0-48e2-b671-224caf7f0f17", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "1bf48ee9-ac82-4df5-be74-df96958f3f05", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}, {"id": "eb7a528c-c012-4374-bbf0-4a88e4727334", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "aeb114f8-9032-4be6-b9f2-a0301fd5cf05", "from": "Input", "name": "template", "type": "String", "value": "你是一名经验丰富的专业面试官,当前你已经完成了面试提问,并对面试者的回答进行的评价。请根据以下信息,帮我总结面试者的整体表现情况:\n\n请用中文输出所有信息,严格按照我给你的信息进行总结,不要杜撰不存在的事情。\n\n以下为面试者回答的问题以及你的评价, 其中问题内容在“question:”后,评价内容在“evaluate”后。\n{{qeMap}}"}, {"id": "c4b818ba-1f8a-4f18-b196-c31bba136185", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "c709baca-8d63-4dd4-bced-e2762386a86a", "from": "Reference", "name": "qeMap", "type": "Array", "value": ["output", "qeMap"], "referenceId": "27aa7c57-e31e-482a-98f0-bdbcc21a6138", "referenceKey": "qeMap", "referenceNode": "jademrtwtm"}]}]}, {"id": "59d76a4e-1fd8-4950-9f84-6ebc17b7553c", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "a5b51a1c-68d7-4d8b-8791-9f788cd52f22", "from": "Expand", "name": "tools", "type": "Array", "value": []}, {"id": "e1322719-1397-4dc8-a21e-674e1fb0eec0", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "892cf7e4-85c2-428d-b45b-0112a5978bd3", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "417ec551-d27e-49bc-b8ee-002a4bbd5b48", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "58e76471-8fb4-456d-9415-88192b008bd0", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "23891b11-11a1-4915-80d1-53c515335dd5", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "c6b85478-009a-4ade-8bc2-a288e226e6db", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "llmComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 6549.070031819352, "y": -330.95361596240787, "id": "jadeeeqmda", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 31, "textX": 0, "textY": 0, "width": 366.66666666665697, "hAlign": "center", "height": -335.9999999999998, "italic": false, "margin": 20, "toShape": "jadezaa7cy", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jademrtwtm", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 7634.070031819344, "y": -579.1202826290745, "id": "jadeohika6", "pad": 6, "bold": false, "text": "结束_3", "type": "endNodeEnd", "dirty": false, "index": 32, "width": 360, "height": 181, "italic": false, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "73bad02b-26cb-417a-b1e0-85de07f398fa", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "aa9bc2e9-6dbf-4a6e-8d05-772f148da36e", "from": "Input", "name": "output", "type": "String", "value": "面试完成", "editable": true, "isRequired": true, "description": ""}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "519710b6-f147-4cdb-98e7-b60aa0600be5", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28,31,35,.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderWidth": 1, "mouseInBorderColor": "#B1B1B7"}, {"x": 7275.736698486009, "y": -666.9536159624076, "id": "jadey8ppgc", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 33, "textX": 0, "textY": 0, "width": 358.33333333333485, "hAlign": "center", "height": 178.33333333333314, "italic": false, "margin": 20, "toShape": "jadeohika6", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadezaa7cy", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 4079.0700318193494, "y": -1339.1202826290773, "id": "jadelwn1gx", "pad": 6, "bold": false, "text": "文本提取_1", "type": "textExtractionNodeState", "dirty": false, "index": 34, "width": 360, "height": 333, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "extractParam"}, {"name": "memoryConfig"}, {"name": "memorySwitch"}, {"name": "histories"}], "return": {"type": "object"}, "uniqueName": "3bca6a3f-9623-4228-b120-1a5e0d41dc14"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"stageDesc": "正在生成推荐面试问题...", "inputParams": [{"id": "c5fcdff0-2822-49c1-805d-242d38acf952", "from": "Expand", "name": "extractParam", "type": "Object", "value": [{"id": "0fc3e0ac-307a-4c9c-8446-da801ca2a86e", "from": "Reference", "name": "text", "type": "String", "value": ["output", "llmOutput"], "referenceId": "ec24f7c3-3c2e-4f9c-b5e1-3ef129e9ddf2", "referenceKey": "llmOutput", "referenceNode": "jade39q3lc"}, {"id": "bb3f946b-a504-44c9-a9e6-7271052ca40d", "from": "Input", "name": "desc", "type": "String", "value": ""}, {"id": "e99d0bd6-62f8-4f1b-80e9-72f7a2a19687", "from": "Input", "name": "outputSchema", "type": "String", "value": "{\"type\":\"object\",\"properties\":{\"questions\":{\"type\":\"array\",\"description\":\"针对简历的问题列表\"}}}"}, {"id": "c89f3da6-f54f-46d5-bb2d-63c4126aa682", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "de26c850-03f2-4e24-80c2-aedd0482a463", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "a8bde3eb-1f41-4e9c-b591-1ea8637da7c7", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,admin"}]}, {"id": "52e82f8a-d0ec-4448-a8fa-a8ecc021a80d", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}]}, {"id": "4fb27b26-d072-41d3-a6ab-7ed461198348", "from": "Expand", "name": "memoryConfig", "type": "Object", "value": [{"id": "73c5d5a6-ee64-4eae-b8e0-6afef02ce1f1", "from": "Input", "name": "windowAlg", "type": "String", "value": "buffer_window"}, {"id": "301ee3a6-6e1d-4046-bb13-2ab2b29e5892", "from": "Input", "name": "serializeAlg", "type": "String", "value": "full"}, {"id": "8d0d7545-9b23-41f1-9d58-3cdf5203ea71", "from": "Input", "name": "property", "type": "Integer", "value": "0"}]}, {"id": "bc1fbeed-2b96-4bfd-9810-45fd2f0e01df", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": false}, {"id": "64c7d8a7-daae-44d9-9d42-f7d7ead0f5f8", "from": "Reference", "name": "histories", "type": "Array", "value": ["memories"], "referenceId": "memories", "referenceKey": "memories", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "225af02f-2c58-4e8d-bcb9-d56c6eb4b426", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "13ee6c77-3f84-4758-9ea1-6d1a17923ae4", "from": "Expand", "name": "extractedParams", "type": "Object", "value": [{"id": "b56c96ec-0b9f-44d3-8e8b-b952d171c580", "from": "Input", "name": "questions", "type": "Array", "value": "", "description": "针对简历的问题列表"}]}, {"id": "e545a304-53b9-40de-a559-f7346aa69a01", "from": "Input", "name": "success", "type": "Boolean", "value": "Boolean"}]}], "enableStageDesc": true, "jadeNodeConfigChangeIgnored": false}}}, "stageDesc": "正在生成推荐面试问题...", "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "enableStageDesc": true}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "textExtractionComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 3772.570003291639, "y": -1334.5119047619048, "id": "jade9m2sga", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 35, "textX": 0, "textY": 0, "width": 306.5000285277106, "hAlign": "center", "height": 161.89162213282748, "italic": false, "margin": 20, "toShape": "jadelwn1gx", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade39q3lc", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 4615.403365152686, "y": -1370.786949295743, "id": "jade22p95w", "pad": 6, "bold": false, "text": "智能表单_2", "type": "manualCheckNodeState", "dirty": true, "index": 36, "width": 360, "height": 314, "italic": false, "flowMeta": {"task": {"type": "AIPP_SMART_FORM", "imgUrl": "http://localhost:8001/api/jober/static/smart_form/7958d851-8062-49bd-b21e-d7372991c905/form.png", "taskId": "d496c444a3174beabbcec5441aed40e2", "formName": "面试评价表单", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "questions_f1544f8f-d6ec-4dc2-97d8-dbc05a5fd33b", "from": "Reference", "name": "questions", "type": "Array", "value": ["output", "extractedParams", "questions"], "isRequired": true, "referenceId": "b56c96ec-0b9f-44d3-8e8b-b952d171c580", "referenceKey": "questions", "referenceNode": "jadelwn1gx"}], "outputParams": [{"id": "output_4daf0f63-1cc3-46f9-b42a-e36e953141f7", "name": "output", "type": "Object", "value": [{"id": "6c87c01e-4cd3-483e-a646-6b1f63597e91", "name": "qeMap", "type": "Array", "value": "Array"}]}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "manual"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "manualCheckComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 4439.070031819349, "y": -1172.6202826290773, "id": "jade5q1tkm", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 37, "textX": 0, "textY": 0, "width": 176.33333333333667, "hAlign": "center", "height": -41.166666666665606, "italic": false, "margin": 20, "toShape": "jade22p95w", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadelwn1gx", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 5333.0700318193485, "y": -1757.7869492957443, "id": "jadeuhtp3b", "pad": 6, "bold": false, "text": "大模型_4", "type": "llmNodeState", "dirty": false, "index": 38, "width": 360, "height": 411, "italic": false, "flowMeta": {"jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "a3bd214d-556f-4f1e-beac-726aec372264", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "a2a846ac-8371-42f5-9617-aab697031aad", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "f313cfeb-6029-4d0d-b938-026ffa7cca1e", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "48dd4324-a11f-4d7e-bae8-f4874f526ab7", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "e05bdaeb-3cda-40a5-9144-e564f494b002", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}, {"id": "ee5b87db-2bb7-40a9-8836-658a2047ad98", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "41de7c20-0de4-4a75-b1a1-898c2ac9c2fd", "from": "Input", "name": "template", "type": "String", "value": "你是一名经验丰富的专业面试官,当前你已经完成了面试提问,并对面试者的回答进行的评价。请根据以下信息,帮我总结面试者的整体表现情况:\n\n请用中文输出所有信息,严格按照我给你的信息进行总结,不要杜撰不存在的事情。\n\n以下为面试者回答的问题以及你的评价, 其中问题内容在“question:”后,评价内容在“evaluate”后。\n{{qeMap}}"}, {"id": "af7e6d67-5162-4c90-884f-9299e76ffd5a", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "2e069130-be89-4292-8a00-9827309710dc", "from": "Reference", "name": "qeMap", "type": "Array", "value": ["output", "qeMap"], "referenceId": "6c87c01e-4cd3-483e-a646-6b1f63597e91", "referenceKey": "qeMap", "referenceNode": "jade22p95w"}]}]}, {"id": "52e1fdbe-6598-4a0e-8a5c-1bb8de01534e", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "9098e23e-62e6-4272-a746-7063e45710aa", "from": "Expand", "name": "tools", "type": "Array", "value": []}, {"id": "f3dd4d91-9e84-45c4-bca2-5c27c4ae479a", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "d443924b-69a7-4519-a186-85b6bcd14edd", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "6ab5352d-1753-4f90-9c6b-2991d69dddc4", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "bf5d2b76-30ca-4cd6-bdfd-a61d70b1cf85", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "8bb45d25-fc74-45d5-8777-21670075be2e", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "2f382582-cd0c-4a4d-a994-58ba4b07dd97", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "llmComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 4975.403365152686, "y": -1213.786949295743, "id": "jade5xr7fy", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 39, "textX": 0, "textY": 0, "width": 357.6666666666624, "hAlign": "center", "height": -338.50000000000136, "italic": false, "margin": 20, "toShape": "jadeuhtp3b", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade22p95w", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 6125.736698486013, "y": -1567.4536159624104, "id": "jadehvxxbs", "pad": 6, "bold": false, "text": "结束_1", "type": "endNodeEnd", "dirty": false, "index": 40, "width": 360, "height": 181, "italic": false, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "6d59e150-b944-42bc-a131-9e3d240f3d06", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "a1c67227-e131-4f88-93aa-e1840f3621ea", "from": "Reference", "name": "output", "type": "String", "value": ["output", "llmOutput"], "editable": true, "isRequired": true, "description": "", "referenceId": "8bb45d25-fc74-45d5-8777-21670075be2e", "referenceKey": "llmOutput", "referenceNode": "jadeuhtp3b"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "b8e2ec79-b8a6-46b0-9e20-14662fabd988", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 5693.0700318193485, "y": -1552.2869492957443, "id": "jade3xtwme", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 41, "textX": 0, "textY": 0, "width": 432.66666666666424, "hAlign": "center", "height": 75.33333333333394, "italic": false, "margin": 20, "toShape": "jadehvxxbs", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadeuhtp3b", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 1246.034289005924, "y": 62.84523809523802, "id": "jade7dr3c3", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 42, "textX": 0, "textY": 0, "width": 256.1785714285727, "hAlign": "center", "height": -34.928571428571274, "italic": false, "margin": 20, "toShape": "jade4h5wks", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadelk78r1", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}], "vAlign": "top", "itemPad": [0, 0, 0, 0], "division": -1, "dockMode": "none", "fontFace": "arial", "fontSize": 18, "hideText": true, "moveable": true, "shapesAs": {}, "backColor": "#fbfbfc", "container": "elsa-page:tvp1s6", "dockAlign": "top", "fontColor": "#ECD0A7", "fontStyle": "normal", "itemSpace": 5, "namespace": "jadeFlow", "fontWeight": "bold", "itemScroll": {"x": 0, "y": 0}, "borderColor": "white", "focusBackColor": "#fbfbfc"}], "title": "24f72de428124eb19fd12db36ebcfd34", "source": "elsa", "tenant": "31f20efc7e0848deab6a6bc10fc3021e", "setting": {"pad": 10, "tag": {}, "code": "", "pDock": "none", "hAlign": "center", "margin": 25, "shadow": "", "shared": false, "vAlign": "top", "itemPad": [5, 5, 5, 5], "visible": true, "autoText": false, "dockMode": "none", "dragable": true, "editable": true, "fontFace": "arial", "fontSize": 12, "infoType": {"name": "none", "next": "INFORMATION"}, "moveable": true, "priority": 0, "allowLink": true, "autoWidth": false, "backAlpha": 0.15, "backColor": "whitesmoke", "dashWidth": 0, "deletable": true, "fontColor": "steelblue", "fontStyle": "normal", "headColor": "steelblue", "lineWidth": 2, "underline": false, "autoHeight": false, "emphasized": false, "fontWeight": "lighter", "itemScroll": {"x": 0, "y": 0}, "lineHeight": 1.5, "resizeable": true, "rotateAble": true, "scrollLock": {"x": false, "y": false}, "selectable": true, "shadowData": "2px 2px 4px", "borderColor": "#047bfc", "borderWidth": 1, "bulletSpeed": 1, "focusMargin": 0, "focusShadow": "", "globalAlpha": 1, "outstanding": false, "bulletedList": false, "cornerRadius": 4, "enableSocial": true, "mouseInColor": "orange", "numberedList": false, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "rotateDegree": 0, "captionhAlign": "center", "strikethrough": false, "focusBackColor": "whitesmoke", "focusFontColor": "darkorange", "progressStatus": {"name": "NONE", "next": "UNKNOWN", "color": "gray"}, "showedProgress": false, "allNodeNumLimit": 99, "captionfontFace": "arial black", "captionfontSize": 14, "enableAnimation": false, "progressPercent": 0.65, "captionfontColor": "whitesmoke", "captionfontStyle": "normal", "focusBorderColor": "#047bfc", "focusBorderWidth": 1, "mouseInBackColor": "whitesmoke", "mouseInFontColor": "orange", "captionfontWeight": "lighter", "captionlineHeight": 1, "mouseInBorderColor": "#047bfc", "sameTypeNodeNumLimit": 19}, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.fitable.FlowInfoCallback"]}, "enableOutputScope": true, "exceptionFitables": ["modelengine.fit.jober.aipp.fitable.AippFlowExceptionHandler", "modelengine.fit.jober.fitable.FlowInfoException"]}, "enableText": false}', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('47619270aade4e828931abeccd2ee812', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'ability', 'String', 'null', 'none', 'workflow', '能力配置', 1, 0, 'fd8166b5005e4d66a77d318f3b1dd5e5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('758521d79cf744398245162ef476708b', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'chat', 'String', 'null', 'none', 'workflow', '聊天设置', 3, 0, 'fd8166b5005e4d66a77d318f3b1dd5e5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('fde8766a85d44686810fe39d0be3e1b4', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'memory', 'List', '["jade6qm5eg","memory"]', 'graph', 'chat', '多轮对话', 5, 0, 'fd8166b5005e4d66a77d318f3b1dd5e5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('14d07bac14ee4621bbc49906cb9fc51a', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'opening', 'String', '"Hi~你好!"', 'input', 'chat', '开场白', 4, 0, 'fd8166b5005e4d66a77d318f3b1dd5e5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('705c9988eaf54f9aa9abb932c14a4232', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'enterWorkflow', 'String', 'null', 'none', 'ability', '进入工作流编排', 2, 0, 'fd8166b5005e4d66a77d318f3b1dd5e5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('082cfb50221749e2b968b3e291e97223', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'inspiration', 'object', '{"category":[{"id":"root","title":"root","children":[{"id":"a8bj40","title":"面试官灵感大全","parent":"root:a8bj40","children":[{"id":"0t579o","title":"综合能力问题","parent":"a8bj40:0t579o","children":[]},{"id":"lcp0bt","title":"总结面试意见","parent":"a8bj40:lcp0bt","children":[]},{"id":"tnzbnl","title":"C语言","parent":"a8bj40:tnzbnl","children":[]},{"id":"25qf59","title":"C++语言","parent":"a8bj40:25qf59","children":[]},{"id":"1189ke","title":"Java语言","parent":"a8bj40:1189ke","children":[]},{"id":"4w1hn2","title":"JavaScript语言","parent":"a8bj40:4w1hn2","children":[]},{"id":"h58abh","title":"Python语言","parent":"a8bj40:h58abh","children":[]},{"id":"68y8eo","title":"Go语言","parent":"a8bj40:68y8eo","children":[]},{"id":"c5zmf1","title":"通用软件知识","parent":"a8bj40:c5zmf1","children":[]},{"id":"gpk5lc","title":"计算机网络","parent":"a8bj40:gpk5lc","children":[]},{"id":"03wuou","title":"操作系统","parent":"a8bj40:03wuou","children":[]},{"id":"1mctx4","title":"数据库","parent":"a8bj40:1mctx4","children":[]},{"id":"zxm7kk","title":"缓存","parent":"a8bj40:zxm7kk","children":[]},{"id":"n4nrbs","title":"消息队列","parent":"a8bj40:n4nrbs","children":[]}]}]}],"dimension":false,"inspirations":[{"id":"kw0dn0","auto":false,"name":"编译时多态与运行时多态","prompt":"<步骤:生成编译时多态与运行时多态相关面试问题>","category":"a8bj40:c5zmf1","description":"编译时多态与运行时多态","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对编译时多态与运行时多态的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"pt4u70","auto":false,"name":"多线程环境避免数据竞争","prompt":"<步骤:生成多线程环境数据竞争相关面试问题>","category":"a8bj40:c5zmf1","description":"多线程环境避免数据竞争","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对多线程环境数据竞争的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"mzombx","auto":false,"name":"内存管理中的栈与堆","prompt":"<步骤:生成内存管理中的堆与栈相关面试问题>","category":"a8bj40:c5zmf1","description":"内存管理中的栈与堆","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对内存管理中的堆与栈的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"tx31bf","auto":false,"name":"C语言的指针和数组","prompt":"<步骤:生成C语言的指针和数组相关面试问题>","category":"a8bj40:tnzbnl","description":"C语言的指针和数组","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对C语言的指针和数组的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"xhvq4g","auto":false,"name":"C语言的缓冲区溢出","prompt":"<步骤:生成C语言的缓冲区溢出相关面试问题>","category":"a8bj40:tnzbnl","description":"C语言的缓冲区溢出","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对C语言的缓冲区溢出的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"mqbt1m","auto":false,"name":"C语言的内存对齐","prompt":"<步骤:生成C语言的内存对齐相关面试问题>","category":"a8bj40:tnzbnl","description":"C语言的内存对齐","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对C语言的内存对齐的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"bpaqda","auto":false,"name":"C语言的volatile关键字","prompt":"<步骤:生成C语言的volatile关键字相关面试问题>","category":"a8bj40:tnzbnl","description":"C语言的volatile关键字","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对C语言的volatile关键字的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"srl93z","auto":false,"name":"C++语言的RAII","prompt":"<步骤:生成C++语言的RAII相关面试问题>","category":"a8bj40:tnzbnl","description":"Resource Acquisition Is Initialization","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对RAII(Resource Acquisition Is Initialization)的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"7n0k0t","auto":false,"name":"C++语言的虚函数表","prompt":"<步骤:生成C++语言的虚函数表相关面试问题>","category":"a8bj40:25qf59","description":"C++语言的虚函数表","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对C++语言的虚函数表的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"i0u7ja","auto":false,"name":"C++语言的移动和转发","prompt":"<步骤:生成C++语言的移动和转发相关面试问题>","category":"a8bj40:25qf59","description":"移动(std::move)和转发(std::forward)","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对C++语言的移动(std::move)和转发(std::forward)的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"plk389","auto":false,"name":"C++语言的类定义五法则","prompt":"<步骤:生成C++语言的类定义五法则相关面试问题>","category":"a8bj40:25qf59","description":"C++语言的类定义五法则","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对C++语言的类定义五法则的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"v1diuh","auto":false,"name":"Java语言的垃圾回收","prompt":"<步骤:生成Java语言的垃圾回收机制相关面试问题>","category":"a8bj40:1189ke","description":"Java语言的垃圾回收","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对Java语言的垃圾回收机制的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"ubqahw","auto":false,"name":"Java语言的线程同步机制","prompt":"<步骤:生成Java语言的线程同步机制相关面试问题>","category":"a8bj40:1189ke","description":"Java语言的线程同步机制","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对Java语言的线程同步机制的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"ewa086","auto":false,"name":"Java语言的接口和抽象类","prompt":"<步骤:生成Java语言的接口和抽象类相关面试问题>","category":"a8bj40:1189ke","description":"Java语言的接口和抽象类","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对Java语言的接口和抽象类的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"xrhicq","auto":false,"name":"Java语言的堆栈内存管理","prompt":"<步骤:生成Java语言的堆栈内存管理相关面试问题>","category":"a8bj40:1189ke","description":"Java语言的堆栈内存管理","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对Java语言的堆栈内存管理的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"pqyb2c","auto":false,"name":"JavaScript语言的闭包","prompt":"<步骤:生成JavaScript语言的闭包相关面试问题>","category":"a8bj40:4w1hn2","description":"JavaScript语言的闭包","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对JavaScript语言的闭包的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"6onib9","auto":false,"name":"JavaScript语言的事件循环","prompt":"<步骤:生成JavaScript语言的事件循环相关面试问题>","category":"a8bj40:4w1hn2","description":"JavaScript语言的事件循环","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对JavaScript语言的事件循环的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"q5bcdi","auto":false,"name":"JavaScript语言的原型链","prompt":"<步骤:生成JavaScript语言的原型链相关面试问题>","category":"a8bj40:4w1hn2","description":"JavaScript语言的原型链","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对JavaScript语言的原型链的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"a76ukp","auto":false,"name":"JavaScript语言的this关键字","prompt":"<步骤:生成JavaScript语言的this关键字相关面试问题>","category":"a8bj40:4w1hn2","description":"JavaScript语言的this关键字","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对JavaScript语言的this关键字的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"xljl9w","auto":false,"name":"Python语言的生成器和迭代器","prompt":"<步骤:生成Python语言的生成器和迭代器相关面试问题>","category":"a8bj40:h58abh","description":"Python语言的生成器和迭代器","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对Python语言的生成器和迭代器的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"75d89u","auto":false,"name":"Python语言的全局解释器锁","prompt":"<步骤:生成Python语言的全局解释器锁相关面试问题>","category":"a8bj40:h58abh","description":"Python语言的全局解释器锁","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对Python语言的全局解释器锁的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"hhk1gi","auto":false,"name":"Python语言的元类","prompt":"<步骤:生成Python语言的元类相关面试问题>","category":"a8bj40:h58abh","description":"Python语言的元类","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对Python语言的元类的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"ai5b8k","auto":false,"name":"Python语言的装饰器","prompt":"<步骤:生成Python语言的装饰器相关面试问题>","category":"a8bj40:h58abh","description":"Python语言的装饰器","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对Python语言的装饰器的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"tx9cn5","auto":false,"name":"Go语言的Goroutine","prompt":"<步骤:生成Go语言的Goroutine相关面试问题>","category":"a8bj40:68y8eo","description":"Go语言的Goroutine","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对Go语言的Goroutine的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"fnrcdr","auto":false,"name":"Go语言的通道","prompt":"<步骤:生成Go语言的通道相关面试问题>","category":"a8bj40:68y8eo","description":"Go语言的通道","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对Go语言的通道的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"95z27f","auto":false,"name":"Go语言的select语句工作机制","prompt":"<步骤:生成Go语言的select语句工作机制相关面试问题>","category":"a8bj40:68y8eo","description":"Go语言的select语句工作机制","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对Go语言的select语句工作机制的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"xv3jv9","auto":false,"name":"Go语言避免数据竞争","prompt":"<步骤:生成Go语言避免数据竞争相关面试问题>","category":"a8bj40:68y8eo","description":"Go语言避免数据竞争","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对Go语言避免数据竞争的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"myfpax","auto":false,"name":"操作系统的基本概念","prompt":"<步骤:生成操作系统的基本概念相关面试问题>","category":"a8bj40:03wuou","description":"操作系统的基本概念","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对操作系统的基本概念的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"yed3j3","auto":false,"name":"操作系统的虚拟内存","prompt":"<步骤:生成操作系统的虚拟内存相关面试问题>","category":"a8bj40:03wuou","description":"操作系统的虚拟内存","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对操作系统的虚拟内存的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"ixwt9n","auto":false,"name":"操作系统的CPU调度算法","prompt":"<步骤:生成操作系统的CPU调度算法相关面试问题>","category":"a8bj40:03wuou","description":"操作系统的CPU调度算法","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对操作系统的CPU调度算法的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"rclxix","auto":false,"name":"操作系统的内存分页与段式管理","prompt":"<步骤:生成操作系统的内存分页与段式管理相关面试问题>","category":"a8bj40:03wuou","description":"操作系统的内存分页与段式管理","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对操作系统的内存分页与段式管理的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"ior55n","auto":false,"name":"SQL与NoSQL数据库","prompt":"<步骤:生成SQL与NoSQL数据库相关面试问题>","category":"a8bj40:1mctx4","description":"SQL与NoSQL数据库","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对SQL与NoSQL数据库的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"8nqr3h","auto":false,"name":"数据库事务的ACID特性","prompt":"<步骤:生成数据库事务的ACID特性相关面试问题>","category":"a8bj40:1mctx4","description":"原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对数据库事务的ACID特性的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"4eab7n","auto":false,"name":"数据库的索引","prompt":"<步骤:生成数据库的索引相关面试问题>","category":"a8bj40:1mctx4","description":"数据库的索引","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对数据库的索引的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"ebbn3s","auto":false,"name":"数据库的锁机制","prompt":"<步骤:生成数据库的锁机制相关面试问题>","category":"a8bj40:1mctx4","description":"数据库的锁机制","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对数据库的锁机制的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"9011sl","auto":false,"name":"缓存的基本概念","prompt":"<步骤:生成缓存的基本概念相关面试问题>","category":"a8bj40:zxm7kk","description":"缓存的基本概念","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对缓存的基本概念的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"as6tzg","auto":false,"name":"缓存击穿、缓存雪崩","prompt":"<步骤:生成缓存击穿、缓存雪崩相关面试问题>","category":"a8bj40:zxm7kk","description":"缓存击穿、缓存雪崩","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对缓存击穿、缓存雪崩的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"x9aqds","auto":false,"name":"缓存的常见淘汰策略","prompt":"<步骤:生成缓存的常见淘汰策略相关面试问题>","category":"a8bj40:zxm7kk","description":"缓存的常见淘汰策略","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对缓存的常见淘汰策略的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"mf7vb7","auto":false,"name":"消息队列的基本概念","prompt":"<步骤:生成消息队列的基本概念相关面试问题>","category":"a8bj40:n4nrbs","description":"消息队列的基本概念","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对消息队列的基本概念的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"wedsad","auto":false,"name":"消息队列的幂等性","prompt":"<步骤:生成消息队列的幂等性相关面试问题>","category":"a8bj40:n4nrbs","description":"消息队列的幂等性","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对消息队列的幂等性的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"7lk29w","auto":false,"name":"洞察力","prompt":"<步骤:生成考察洞察力的面试问题>","category":"a8bj40:0t579o","description":"洞察力","promptVarData":[],"promptTemplate":"我想让你担任软件开发岗位的综合面试官,专门考察候选人的洞察力(系统思维与战略思维),请设计3个深入考察洞察力的面试问题,参考以下几个示例问题:\n1、请谈一下你在专业领域是如何做研究的?你是如何收集信息和数据的?这些信息和数据你是如何处理和分析的?你最终想要达成的目标是什么?你是如何规划实现这个目标的?在你的研究过程中,哪些因素发生了变化?你是如何处理的?\n2、请分享一次你在做研究或做项目过程中,发现了一些与你预想的目标相悖的情况,你是如何处理的?\n3、你的毕业研究课题是怎么选择和设计的?你收集和分析了哪些信息?你觉得你的研究结果对于未来的技术发展最大的贡献是什么?\n请结合我在之前几轮对话中给你提供的候选人项目经历,在每个问题的开头指明所针对的项目。\n4、你是如何准备这次应聘的?你觉得华为的优势和劣势分别是什么?在准备过程中,你的关键发现是什么?有没有注意到什么风险和机遇?\n请结合我在之前几轮对话中给你提供的候选人简历信息。"},{"id":"n49s1v","auto":false,"name":"影响力","prompt":"<步骤:生成考察影响力的面试问题>","category":"a8bj40:0t579o","description":"影响力","promptVarData":[],"promptTemplate":"我想让你担任软件开发岗位的综合面试官,专门考察候选人的影响力(领导他人、影响他人决策、与人连接的能力),请设计3个深入考察影响力的面试问题,参考以下几个示例问题:\n1、请分享一个你在项目中,成功说服他人的例子,你和对方的分歧在哪里?对方是如何坚持自己的观点的?你是如何说服TA的?你感觉TA接受了你的哪些观点或意见?中间对方有没有不高兴?你是如何解决的?\n2、你有没有说服别人跟你一起做一件事或者一个项目的经历?你当时的想法是什么?你去找了哪些人跟你一起去做?分别怎么去说服他们的?在争取支持或配合的过程中,遇到了哪些困难?你是如何克服的?\n3、你有没有碰到过需要比较高级别的人(例如学校领导、合作单位领导、德高望重的教授)支持的情况?你是怎么争取到他们的支持的?\n请结合我在之前几轮对话中给你提供的候选人简历信息。"},{"id":"cb0zu4","auto":false,"name":"合作性","prompt":"<步骤:生成考察合作性的面试问题>","category":"a8bj40:0t579o","description":"合作性","promptVarData":[],"promptTemplate":"我想让你担任软件开发岗位的综合面试官,专门考察候选人的团队合作能力,请设计3个深入考察团队合作能力的面试问题,参考以下几个示例问题:\n1、你在项目中和团队其他人是如何配合的?你们是如何一起制定项目计划和分工的?和不熟悉的团队成员是如何沟通的?你为团队成员提供了哪些帮助?你从团队成员那里得到了哪些帮助?\n2、请分享团队其他成员强烈反对你的观点和行为的经历,当时是怎样的情况?你是如何处理的?\n3、请分享一次你放弃自己观点的经历,你是出于什么样的考虑放弃自己的观点的?最后达成了什么目的?\n请结合我在之前几轮对话中给你提供的候选人简历信息。"},{"id":"p44axb","auto":false,"name":"学习能力","prompt":"<步骤:生成考察学习能力的面试问题>","category":"a8bj40:0t579o","description":"学习能力","promptVarData":[],"promptTemplate":"我想让你担任软件开发岗位的综合面试官,专门考察候选人的学习能力(适应新环境新业务的快速学习能力),请设计3个深入考察学习能力的面试问题,参考以下几个示例问题:\n1、你碰到过的最难理解和掌握的技术点是什么?是哪方面让你觉得很难理解和掌握?你是怎么克服困难的?最后的学习效果如何?运用的效果如何?\n2、请举一个例子说明,你是如何在项目中收集资料的?在大量的资料里,你是如何撷取关键要素的?对矛盾信息或碎片信息你通常会怎样甄别和处理?最后的结论是否得到验证和使用的?\n3、过往的经历中,你有没有发现过其他人没有察觉到的问题?你是如何发现这个问题的?发现问题后你查阅了哪些资料或者做了哪些事情去研究这个问题?最后是怎么解决这个问题的?用到了哪些新的知识和技术?解决的效果如何?\n请结合我在之前几轮对话中给你提供的候选人简历信息。"},{"id":"lnlu51","auto":false,"name":"开放性","prompt":"<步骤:生成考察开放性的面试问题>","category":"a8bj40:0t579o","description":"开放性","promptVarData":[],"promptTemplate":"我想让你担任软件开发岗位的综合面试官,专门考察候选人的开放性(拥抱新观点、新概念),请设计3个深入考察开放性的面试问题,参考以下几个示例问题:\n1、谈谈你在项目中是如何做决定的?请举一个例子,你在做决定时吸纳了哪些新的技术、理念和观点?其他人的意见你是否有征询?你是如何解决其他人的意见纳入到你的决定中去的?其他人强烈反对或不理解你的决定时,你是如何处理的?\n2、谈谈你在项目中接触到的一个新技术、新观点或新概念,你是怎么注意到的?你为什么会感兴趣?这对你原有的想法和行为带来了什么冲击和改变?\n3、在项目或生活中,遇到事情的发展与你的计划不符的情况下,你会怎么做?\n请结合我在之前几轮对话中给你提供的候选人简历信息。"},{"id":"eee9xg","auto":false,"name":"成就导向","prompt":"<步骤:生成考察成就导向的面试问题>","category":"a8bj40:0t579o","description":"成就导向","promptVarData":[],"promptTemplate":"我想让你担任软件开发岗位的综合面试官,专门考察候选人的成就导向(有强烈的上进心和抱负,追求卓越,挑战自我),请设计3个深入考察成就导向的面试问题,参考以下几个示例问题:\n1、请描述一下你觉得做得最失败的一个项目?你在其中做了哪些努力去推动项目的成功?发现了哪些问题?如何解决这些问题的?有哪些问题是你觉得再努力都无法解决的?最终项目为什么失败?你有什么反思?下一步计划是什么?\n2、在达成项目目标的过程中,你经历的最大一次干扰是什么?你是如何取舍的?是在什么样的情况下,你选择放弃既定的目标?\n3、你在学校参加了哪些社团?你希望从参与这些社团的过程中获得什么?每一个社团你的参与程度如何?有没有哪个社团你报名了但因为种种原因又中途退出了?退出的原因是什么?\n请结合我在之前几轮对话中给你提供的候选人简历信息。"},{"id":"7nupin","auto":false,"name":"坚韧性","prompt":"<步骤:生成考察坚韧性的面试问题>","category":"a8bj40:0t579o","description":"坚韧性","promptVarData":[],"promptTemplate":"我想让你担任软件开发岗位的综合面试官,专门考察候选人的坚韧性(在持续的压力和挫折下能够始终坚韧不拔),请设计3个深入考察坚韧性的面试问题,参考以下几个示例问题:\n1、你做过的最艰难的、感觉做不下去的项目或实验是什么?难点是什么?那段时间你压力大吗?你是如何排解压力的?后来是怎么解决问题的?\n2、请举一个失败的项目或过往实习经历中遭遇的失败任务?你做了哪些努力?最后还是失败的原因是什么?\n3、有没有一件当时你觉得希望不大,但你坚信通过努力能完成的事情,并且最终取得了成功的例子?为什么当时希望不大,你还坚持?你回顾这段经历的收获是什么?你觉得最终成功的关键是什么?\n请结合我在之前几轮对话中给你提供的候选人简历信息。"},{"id":"uihj2i","auto":false,"name":"价值观与文化适应性","prompt":"<步骤:生成考察价值观与文化适应性的面试问题>","category":"a8bj40:0t579o","description":"价值观与文化适应性","promptVarData":[],"promptTemplate":"我想让你担任软件开发岗位的综合面试官,专门考察候选人对华为核心价值观(以客户为中心,以奋斗者为本,长期艰苦奋斗)的认同感和对华为文化的适应性,请设计3个深入考察价值观与文化适应性的面试问题,参考以下几个示例问题:\n1、你有没有处理过超出你的职责范围的事情的经历?你觉得这件事应该是你去处理的吗?你当时为什么会去处理这件事情?你是怎么处理的?结果如何?\n2、请分享一次你觉得最委屈的经历,当时是什么情况?你为何觉得委屈?后来误会消除了吗?是怎么消除的?你觉得如何防止以后再出现这样的误会?\n3、请你谈一下你在过去遇到过的最愤怒的一件事?你觉得这件事是什么触碰到了你的底线?你做了哪些调整去克服它或者解决它?\n4、 你对华为“奋斗者”、“长期艰苦奋斗”、“坚持自我批判”的价值观是如何理解的?\n请结合我在之前几轮对话中给你提供的候选人简历信息。"},{"id":"u25dgh","auto":false,"name":"OSI网络模型","prompt":"<步骤:生成OSI网络模型相关面试问题>","category":"a8bj40:gpk5lc","description":"Open Systems Interconnection","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对OSI(Open Systems Interconnection)网络模型的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"hi86t0","auto":false,"name":"TCP网络协议","prompt":"<步骤:生成TCP网络协议相关面试问题>","category":"a8bj40:gpk5lc","description":"Transmission Control Protocol","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对TCP(Transmission Control Protocol)网络协议的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"n2wcy4","auto":false,"name":"UDP网络协议","prompt":"<步骤:生成UDP网络协议相关面试问题>","category":"a8bj40:gpk5lc","description":"User Datagram Protocol","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对UDP(User Datagram Protocol)网络协议的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"id":"wo4dg5","auto":false,"name":"DNS域名系统","prompt":"<步骤:生成DNS域名系统相关面试问题>","category":"a8bj40:gpk5lc","description":"Domain Name System","promptVarData":[],"promptTemplate":"我想让你担任通用软件开发工程师面试官,请帮我设计2个常见的技术面试问题,考察候选人对DNS(Domain Name System)域名系统的理解,并且提供简单的参考答案(每个问题的答案不超过150个token),不需要提供代码示例"},{"name":"总结综合面试意见","description":"一键总结成长基础、成长潜力、成长渴望、价值观与文化适应性评价以及综合评价意见","prompt":"<步骤:总结综合面试意见>\n<面试意见>:","promptTemplate":"你是一个专业的善于归纳总结的面试官,你的任务是对用户的面试笔记进行优化总结,整理成专业的面试意见,具体任务说明如下:\n总结面试笔记的过程如下:\n1. 分析用户的面试笔记\n2. 将分析结果与成长基础、成长潜力、成长渴望、价值观与文化适应性4个维度进行关联总结,4个维度的定义如下\n * 成长基础主要从洞察力、合作性、影响力方面评价候选人能不能胜任岗位职责,比如候选人在过往经历中体现出来的系统和战略思考能力,对周边和社会上的影响力,团队协作能力等特征是这个维度的重点总结内容\n * 成长潜力主要从学习能力、开放性方面评价候选人能不能持续胜任岗位职责,比如候选人在过往经历中体现出来的在新环境或者学校中快速学习的能力,主动积极拥抱新技术新概念等特征是这个维度的重点总结内容\n * 成长渴望主要从责任心、上进心、自我挑战、坚韧性方面评价候选人愿不愿承担更多责任,比如候选人在过往经历中体现出来的勇于承担工作和学习任务,勇于挑战完成不可能完成的任务等特征是这个维度的重点总结内容\n * 价值观与文化适应性主要从华为核心价值观方面评价候选人对华为文化的适应性,比如候选人是否了解奋斗者文化和成就客户的导向,渴望成为华为一份子等特征是这个维度的重点总结内容\n3. 将关联总结的内容以每个维度为标题进行输出\n4. 根据4个维度的总结,输出汇总的综合评价意见\n\n你必须遵守如下规则:\n1. 以每个维度作为标题进行总结,字数最多不超过200个字\n2. 综合评价意见必须充分评价候选人在各个维度的能力,字数最多不超过500个字\n3. 从某个维度进行总结时,不必机械地点明每个维度的定义,而是将候选人的特点自然地融入到整体评价中,保持总结内容精练、简洁\n4. 不要编造信息或者照抄下面的例子\n\n如下是一个总结过程的例子,请参考该例子进行思考:\n\n面试笔记:\n候选人为电子科技大学计算机科学硕士,在校期间成绩优异,2次获得奥林匹克数学竞赛金牌,发表3篇高质量论文;本科为通信工程专业,通过自学和选修计算机相关课程,考取计算机专业研究生;后于微软从事后端服务开发;在面试过程中,候选人表现出了很强的上进心和吃苦耐劳的精神,目标是成为全栈技术专家;候选人有了解过华为文化,理解以客户为中心的导向,认可华为以奋斗者为本的利益分享机制。建议录用。\n\n输出的面试总结:\n经过对面试笔记进行分析,关于候选人的成长基础、成长潜力、成长渴望、价值观与文化适应性和综合评价意见总结如下:\n**成长基础**:\n候选人学习能力表现得非常突出,掌握了扎实的计算机基础知识;候选人对新兴技术保持高度敏感,在阿里巴巴工作期间,引入了Docker容器化技术以简化开发和部署流程;在微软项目中,候选人发现了在高并发情况下部分API接口存在响应迟缓的问题,提出了基于微服务架构的重构方案,有效提高了系统的扩展性和处理能力。\n**成长潜力**:\n候选人在本科阶段从通信工程专业转向计算机领域,证明候选人具备灵活的知识迁移能力;在微软任职后,候选人快速掌握了C#、Azure云平台等多种技术栈,并成功推动了Windows 365 Web终端项目的多个新特性的交付,展示了快速适应新技术和工具的能力。候选人在工作中不仅注重技术深度的积累,还主动承担了跨部门的技术合作工作。\n**成长渴望**:\n在硕士阶段,候选人多次主动参与课外科研项目,展示了自我驱动的学习能力。在阿里巴巴期间,候选人主动识别并解决了系统性能瓶颈,优化了后端服务的响应速度和资源利用率,展现了在面对复杂问题时勇于突破的品质。在微软的项目推进过程中,候选人遇到过多次技术障碍和进度延误,但他凭借顽强的毅力克服了困难,最终高质量地交付了项目。\n**价值观与文化适应性**:\n候选人了解华为的企业文化,特别是以客户为中心和以奋斗者为本的核心价值观。在面试中表达了对华为文化的高度认同,展示出愿意成为华为一分子的积极态度。\n**综合评价意见**:\n候选人在电子科技大学完成了计算机科学硕士学业,期间成绩优异,发表了3篇高质量论文,两次获得奥林匹克数学竞赛金牌,展现了扎实的学术基础和卓越的逻辑思维能力。从通信工程专业跨入计算机领域并成功考取研究生的过程,充分体现了候选人的跨学科背景和灵活的知识迁移能力。在阿里巴巴工作期间,候选人引入Docker容器化技术,简化了开发和部署流程,显著提高了团队效率。在微软担任MSFT Intune后端服务开发时,候选人迅速掌握了C#、JavaScript、Python和Azure等技术,成功推动了多个Windows 365 Web终端新特性的交付,并通过微服务架构重构解决了高并发下的性能问题。候选人在团队协作方面表现出色,在微软的工作中主动承担跨部门合作任务,推动技术与产品的融合。他具备强烈的上进心和吃苦耐劳的精神,面对复杂问题时勇于突破,不断追求卓越。在面试过程中,候选人表达了对华为企业文化的高度认同,特别是以客户为中心和以奋斗者为本的核心价值观,展现出愿意成为华为一分子的积极态度。基于以上综合表现,建议录用。\n\n\n用户输入的面试笔记:\n{{面试意见}}\n\n输出的面试总结:","promptVarData":[],"category":"a8bj40:lcp0bt","auto":false,"id":"ns2o09"},{"name":"总结成长基础面试意见","description":"总结成长基础面试意见","prompt":"<步骤:总结成长基础面试意见>\n<面试意见>:","promptTemplate":"你是一个专业的面试官,非常善于总结面试意见,请帮助其他面试官总结他们的面试意见,将意见提炼和润色成丰富的面试结论总结\n请从下面几个维度进行提炼总结:\n1. 洞察力\n问题分析能力:面试者是否能迅速理解复杂问题,识别关键因素,制定解决问题的策略。\n趋势预测能力:面试者能否基于现有信息预测行业或项目可能的发展趋势,为决策提供前瞻性视角。\n细节敏锐度:面试者在处理任务或项目时,是否能注意到关键细节,避免潜在的错误或遗漏。\n2. 影响力\n沟通表达能力:面试者是否能够清晰、有说服力地表达自己的观点,使他人理解并接受。\n领导力:在团队中,面试者能否通过自己的行动和决策带动团队成员,推动项目进展。\n激励他人:面试者是否能够激发团队成员的积极性,提升团队整体的工作热情和效率。\n3. 合作性\n团队协作能力:面试者是否愿意与团队成员分享信息,共同解决问题。\n适应性:在团队中,面试者能否快速适应不同的工作风格和环境,与各种性格的成员有效合作。\n冲突解决能力:面对团队内部的分歧或冲突,面试者是否能采取积极有效的措施进行调解,维持团队和谐。\n如下是用户的面试意见:\n{{面试意见}}","promptVarData":[],"category":"a8bj40:lcp0bt","auto":false,"id":"hkrwmp"},{"name":"总结成长潜力面试意见","description":"总结成长潜力面试意见","prompt":"<步骤:总结成长潜力面试意见>\n<面试意见>:","promptTemplate":"你是一个专业的面试官,非常善于总结面试意见,请帮助其他面试官总结他们的面试意见,将意见提炼和润色成丰富的面试结论总结\n请从下面几个维度进行提炼总结:\n1. 学习能力\n主动学习态度:面试者是否展现出对新知识和技能的主动寻求和掌握态度,是否能够意识到自我提升的需求,并采取积极措施进行自我教育。\n快速适应能力:面试者是否能够描述他们如何在有限的时间内掌握新技能、适应新项目或工作流程,以及在适应过程中遇到挑战时的应对策略。\n2. 开放性\n接受新观念:面试者是否愿意接受和考虑不同的观点、方法或文化,以及在面对新事物时的态度。\n适应变化:面试者能否描述他们如何处理工作中的突发变化,如项目方向调整、团队重组等,以及在变化中保持积极态度和工作效率。\n如下是用户的面试意见:\n{{面试意见}}","promptVarData":[],"category":"a8bj40:lcp0bt","auto":false,"id":"bxb161"},{"name":"总结成长渴望面试意见","description":"总结成长渴望面试意见","prompt":"<步骤:总结成长渴望面试意见>\n<面试意见>:","promptTemplate":"你是一个专业的面试官,非常善于总结面试意见,请帮助其他面试官总结他们的面试意见,将意见提炼和润色成丰富的面试结论总结\n请从下面几个维度进行提炼总结:\n1. 成就导向性\n目标设定能力:面试者是否能够设定清晰、具体、有挑战性的目标,并为之制定计划。\n结果导向:面试者是否专注于结果,能够有效地解决问题,克服障碍,以达成目标。\n自我激励:面试者是否能自我驱动,即使在缺乏外部激励或监督的情况下仍能保持高效和积极。\n持续改进:面试者是否具有持续学习和改进的意愿,不断自我提升以达到更高标准。\n2. 坚韧性\n逆境适应性:面试者面对逆境时是否能够保持冷静,寻找解决方案,而不是轻易放弃。\n情绪稳定性:面试者在压力下是否能够保持情绪稳定和专业性的能力。\n外部支持利用:面试者是否能够有效地寻求和利用外部资源,如团队成员、导师或工具,以克服挑战。\n如下是用户的面试意见:\n{{面试意见}}","promptVarData":[],"category":"a8bj40:lcp0bt","auto":false,"id":"siu3av"},{"name":"总结价值观与文化适应性面试意见","description":"总结价值观与文化适应性面试意见","prompt":"<步骤:总结价值观与文化适应性面试意见>\n<面试意见>:","promptTemplate":"你是一个专业的面试官,非常善于总结面试意见,请帮助其他面试官总结他们的面试意见,将意见提炼和润色成丰富的面试结论总结\n请从下面几个维度进行提炼总结:\n1. 对华为核心价值观的认同\n以客户为中心:面试者是否把客户的需求放在首位,是否愿意为了满足客户需求而努力工作,以及是否具备与客户建立良好关系的能力。\n以奋斗者为本:面试者是否展现出强烈的自我驱动力和对工作的投入度。\n坚持长期艰苦奋斗:面试者是否具备吃苦耐劳的精神,是否能够在困难面前不放弃,以及是否愿意为了目标付出额外努力。\n自我批判:面试者是否能够坦诚地反思自己的不足,并愿意主动寻求改进。\n2. 对华为文化的适应\n适应变化:面试者是否能够快速适应工作环境的变化,是否积极准备华为看重的技术技能。\n个人意愿:面试者是否了解和认可华为的文化,是否有强烈的加入华为公司的意愿。\n如下是用户的面试意见:\n{{面试意见}}","promptVarData":[],"category":"a8bj40:lcp0bt","auto":false,"id":"vfz3z6"},{"name":"总结专业知识面试意见","description":"总结专业知识面试意见","prompt":"<步骤:总结专业知识面试意见>\n<面试意见>:","promptTemplate":"你是一个专业的面试官,非常善于总结面试意见,请帮助其他面试官总结他们的面试意见,将意见提炼和润色成丰富的面试结论总结\n请从下面几个维度进行提炼总结:\n1. 基础知识掌握情况:考察候选人对该领域核心概念、理论基础和常见工具的理解。\n2. 深度理解与领域前沿:考察候选人是否对该领域有深入理解,是否掌握了领域内的最新技术、趋势或前沿研究。\n3. 应用与实践能力:考察候选人在该领域中的实际项目经验,以及如何将理论应用于实践。\n4. 领域工具和框架的使用:考察候选人是否熟练掌握该领域常用的工具和框架,以及在不同场景下如何选择合适的工具。\n如下是用户的面试意见:\n{{面试意见}}","promptVarData":[],"category":"a8bj40:lcp0bt","auto":false,"id":"6ioy0f"},{"name":"总结关键能力面试意见","description":"总结关键能力面试意见","prompt":"<步骤:总结关键能力面试意见>\n<面试意见>:","promptTemplate":"你是一个专业的面试官,非常善于总结面试意见,请帮助其他面试官总结他们的面试意见,将意见提炼和润色成丰富的面试结论总结\n请从下面几个维度进行提炼总结:\n1. 逻辑思维能力:考察候选人在解决问题时的思路是否清晰、条理性如何,是否能够有效地分析和分解复杂问题。\n2. 编码能力:考察候选人编写代码的能力,包括代码的质量、效率、可读性以及解决实际问题的能力。\n如下是用户的面试意见:\n{{面试意见}}","promptVarData":[],"category":"a8bj40:lcp0bt","auto":false,"id":"dtwrcs"}],"showInspiration":true}', 'input', 'chat', '创意灵感', 7, 0, 'fd8166b5005e4d66a77d318f3b1dd5e5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('ddf6e55b8bf44eb1a10001838906b06c', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'recommend', 'object', '{"showRecommend":false,"list":[]}', 'input', 'chat', '猜你想问', 6, 0, 'fd8166b5005e4d66a77d318f3b1dd5e5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('1aa4a8c3178c473c8fdabd37af5f0002', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'multimodal', 'object', '{"useMultimodal":true,"maxUploadFilesNum":1,"autoChatOnUpload":true}', 'input', 'chat', '多模态', 8, 0, 'fd8166b5005e4d66a77d318f3b1dd5e5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('64a7ca8b22414bf28abb49a75e0f1f1c', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'workflow', 'String', 'null', 'none', 'null', '工作流编排', 0, 0, 'fd8166b5005e4d66a77d318f3b1dd5e5') ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."flow_definition" ("definition_id", "meta_id", "name", "tenant", "version", "status", "graph", "created_by", "created_at") VALUES ('0e58b12cdafd476a81d4da70dce8175a', '24f72de428124eb19fd12db36ebcfd34', '24f72de428124eb19fd12db36ebcfd34', '31f20efc7e0848deab6a6bc10fc3021e', '1.0.0', 'active', '{"name": "24f72de428124eb19fd12db36ebcfd34", "nodes": [{"name": "开始", "type": "startNodeStart", "metaId": "jade6qm5eg", "runnable": true, "inputParams": [{"id": "91138f09-b635-43df-95c6-1fe3d1745829", "from": "Expand", "name": "input", "type": "Object", "value": [{"id": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "from": "Input", "name": "Question", "type": "String", "value": "", "isVisible": true, "isRequired": true, "description": "这是用户输入的问题。", "displayName": "用户问题", "disableModifiable": true}], "config": [{"allowAdd": true}]}, {"id": "4a770dc6-e3c9-475d-84c7-48dacc74a5b6", "from": "Expand", "name": "memory", "type": "Object", "value": [{"id": "a7675623-7fc7-468c-8910-e73c70e5e468", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": false}, {"id": "cee9a31b-781c-4835-a616-ceed73be22f2", "from": "Input", "name": "type", "type": "String", "value": "ByConversationTurn"}, {"id": "69592622-4291-409d-9d65-9faea83db657", "from": "Input", "name": "value", "type": "Integer", "value": "3"}]}], "triggerMode": "auto"}, {"name": "结束", "type": "endNodeEnd", "metaId": "jadesoux5i", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "54dab89c-5693-4082-baa7-12c648d812f7", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "ffad80c2-3f60-4d57-93b2-c2362a5dab9c", "from": "Reference", "name": "finalOutput", "type": "String", "value": ["output", "errorMessage"], "editable": true, "isRequired": true, "description": "", "referenceId": "50617d76-27e1-49aa-a653-1947168d8937", "referenceKey": "errorMessage", "referenceNode": "jadelk78r1"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "c4469c16-88a7-4575-b339-9a06e3305f3b", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"name": "AI简历解析插件", "type": "toolInvokeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "fileUrl"}, {"name": "instanceId"}], "return": {"type": "object"}, "uniqueName": "8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "fileUrl_edfec05d-9812-429f-ae55-24df5d2e1216", "from": "Reference", "name": "fileUrl", "type": "String", "value": ["output", "fileUrl"], "isRequired": true, "description": "简历文件URL", "referenceId": "45fafbfd-5966-47ba-91af-baebe09bdab1", "referenceKey": "fileUrl", "referenceNode": "jadeemu770"}, {"id": "instanceId_24e98795-b3aa-4a0f-b78f-d4b059a59768", "from": "Reference", "name": "instanceId", "type": "String", "value": ["instanceId"], "isRequired": true, "description": "实例ID", "referenceId": "instanceId", "referenceKey": "instanceId", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "output_5315b59e-1d27-4278-a06e-f89c7627782a", "name": "output", "type": "Object", "value": [{"id": "bf6d9282-2bf5-4826-9be1-10756ed6d728", "name": "isFileHandled", "type": "Boolean", "value": "Boolean"}, {"id": "9e3844fd-864d-4504-8f2b-dba7e919135b", "name": "cvAnalyzerPrompt", "type": "String", "value": "String"}, {"id": "50617d76-27e1-49aa-a653-1947168d8937", "name": "errorMessage", "type": "String", "value": "String"}]}]}}}, "metaId": "jadelk78r1", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"name": "代码", "type": "codeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "args"}, {"name": "code"}, {"name": "language"}, {"name": "output"}], "return": {"type": "object"}, "uniqueName": "e147f301-957a-4335-a155-1e86d1a45ae5"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "98a0c373-6b03-4fd0-bc1d-101c9f1b1fd2", "from": "Expand", "name": "args", "type": "Object", "value": [{"id": "a15b25db-133c-41b4-a329-4b9bd257ad3e", "from": "Reference", "name": "fileUrls", "type": "Array", "value": ["fileUrls"], "referenceId": "fileUrls", "referenceKey": "fileUrls", "referenceNode": "_systemEnv"}]}, {"id": "6a95280d-156a-45b2-b235-9ca2b9015d2f", "from": "Input", "name": "code", "type": "String", "value": "async def main(args: Args) -> Output:\n ret: Output = {\n \"fileUrl\": args[''fileUrls''][0] if args[''fileUrls''] else \"\"\n }\n return ret", "language": "python"}, {"id": "b770fd0c-d5ae-4f2a-8129-52839becb775", "from": "Input", "name": "language", "type": "String", "value": "python"}, {"id": "1e2ee2b3-0106-44ac-89db-1684220c5ad4", "from": "Input", "name": "output", "type": "Object", "value": {"properties": {"output": {"type": "object", "properties": {"fileUrl": {"type": "string", "description": ""}}, "description": ""}}}}], "outputParams": [{"id": "ebdfcbcb-4dbd-47dc-8bd6-a5752edb2487", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "45fafbfd-5966-47ba-91af-baebe09bdab1", "from": "Input", "name": "fileUrl", "type": "String", "value": "", "description": ""}]}]}}}, "metaId": "jadeemu770", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadeemu770", "from": "jade6qm5eg", "type": "jadeEvent", "metaId": "jadexi4d2i", "runnable": true, "fromConnector": "E"}, {"to": "jadelk78r1", "from": "jadeemu770", "type": "jadeEvent", "metaId": "jade3ccnk1", "runnable": true, "fromConnector": "E"}, {"name": "条件", "type": "conditionNodeCondition", "metaId": "jade4h5wks", "runnable": true, "triggerMode": "auto", "conditionParams": {"branches": [{"id": "70695434-91fb-4493-87a4-e681e99d985e", "type": "if", "runnable": true, "conditions": [{"id": "a5aef4c1-af83-475e-9805-2dbff919de10", "value": [{"id": "d9df8a7c-4cc6-4147-b73e-a9db324b1bde", "from": "Reference", "name": "left", "type": "Boolean", "value": ["output", "isFileHandled"], "referenceId": "bf6d9282-2bf5-4826-9be1-10756ed6d728", "referenceKey": "isFileHandled", "referenceNode": "jadelk78r1"}, {"id": "4a915ffb-6082-4fca-a622-71d875b34412", "from": "Input", "name": "right", "type": "Boolean", "value": true, "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}, {"id": "8e60cd88-0799-4f12-9fcb-e20ccbc7ecd0", "value": [{"id": "f2552657-58f6-4def-a3c7-cab73575e5b0", "from": "Reference", "name": "left", "type": "String", "value": ["output", "errorMessage"], "referenceId": "50617d76-27e1-49aa-a653-1947168d8937", "referenceKey": "errorMessage", "referenceNode": "jadelk78r1"}, {"id": "9c8f2868-6722-4ed6-b388-3215bfbcacca", "from": "Input", "name": "right", "type": "String", "value": "请确认 上传的文件是一份简历", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "contains"}], "conditionRelation": "or"}, {"id": "32f55d87-ebf2-464f-9f78-ecd62e36f2dc", "type": "if", "runnable": true, "conditions": [{"id": "5e19d158-03a3-4315-b45c-ff2a0b384db0", "value": [{"id": "847d2cf6-5201-4628-a183-ca9ba62745f2", "from": "Reference", "name": "left", "type": "String", "value": ["output", "errorMessage"], "referenceId": "50617d76-27e1-49aa-a653-1947168d8937", "referenceKey": "errorMessage", "referenceNode": "jadelk78r1"}, {"id": "9bab7914-26b4-487e-b609-d9776b13e608", "from": "Reference", "name": "right", "type": "", "value": [], "referenceNode": ""}], "condition": "is not empty string"}], "conditionRelation": "and"}, {"id": "8650733f-4401-4155-8633-048a5726e6fe", "type": "else", "runnable": true, "conditions": [{"id": "4e7f3b9e-f609-4178-bd27-459d0683cac9", "value": [], "condition": "true"}], "conditionRelation": "and"}], "jadeNodeConfigChangeIgnored": true}}, {"name": "条件_1", "type": "conditionNodeCondition", "metaId": "jade2es9ti", "runnable": true, "triggerMode": "auto", "conditionParams": {"branches": [{"id": "e2cefcda-b6e2-4713-ac74-f2266a10bb19", "type": "if", "runnable": true, "conditions": [{"id": "2f466536-4151-4013-b008-bf5af8a37edb", "value": [{"id": "c8601563-bbeb-497b-91f4-a1f81e08ad32", "from": "Reference", "name": "left", "type": "String", "value": ["output", "errorMessage"], "referenceId": "50617d76-27e1-49aa-a653-1947168d8937", "referenceKey": "errorMessage", "referenceNode": "jadelk78r1"}, {"id": "3543673f-ee62-4e18-82ef-c9e0ecc2e9a2", "from": "Reference", "name": "right", "type": "", "value": "", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "is empty string"}], "conditionRelation": "and"}, {"id": "99f4f4da-c3fd-4296-9b83-b0ff5a3ef595", "type": "else", "runnable": true, "conditions": [{"id": "d9733cad-0646-41f9-be5b-f39c9ac4d220", "value": [], "condition": "true"}], "conditionRelation": "and"}], "jadeNodeConfigChangeIgnored": true}}, {"to": "jade2es9ti", "from": "jade4h5wks", "type": "jadeEvent", "metaId": "jade9gqfjk", "runnable": true, "fromConnector": "dynamic-1|70695434-91fb-4493-87a4-e681e99d985e"}, {"name": "智能表单", "task": {"type": "AIPP_SMART_FORM", "imgUrl": "http://localhost:8001/api/jober/static/smart_form/e85bd769-0212-4305-b56b-01e77faa14ff/form.png", "taskId": "115b557320ac41e1b449b8107aaa1781", "formName": "面试助手3", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "isCvFile_337878e3-7720-4ece-bf92-40d4a402625c", "from": "Input", "name": "isCvFile", "type": "String", "value": "null", "isRequired": true}, {"id": "instanceId_59f311b0-98b3-4292-8887-aba60c48e3e4", "from": "Reference", "name": "instanceId", "type": "String", "value": ["instanceId"], "isRequired": true, "referenceId": "instanceId", "referenceKey": "instanceId", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "output_e5ae0061-8304-4327-958a-a6cd0f80100d", "name": "output", "type": "Object", "value": [{"id": "ab8bf709-7374-4f33-90d6-72a64254f07e", "name": "isCvFile", "type": "String", "value": "String"}]}]}}}, "type": "manualCheckNodeState", "metaId": "jade758stt", "runnable": true, "triggerMode": "manual"}, {"to": "jade758stt", "from": "jade2es9ti", "type": "jadeEvent", "metaId": "jadepke1tr", "runnable": true, "fromConnector": "dynamic-999"}, {"name": "AI提示词拼接工具", "type": "toolInvokeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "appId"}, {"name": "instanceId"}, {"name": "input"}], "return": {"type": "string"}, "uniqueName": "bdc009dc-969e-4839-b5d7-e9599009d50d"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "appId_0293cca7-c1ea-45b0-8ca8-b37a55f99303", "from": "Reference", "name": "appId", "type": "String", "value": ["appId"], "isRequired": true, "description": "应用ID", "referenceId": "appId", "referenceKey": "appId", "referenceNode": "_systemEnv"}, {"id": "instanceId_93f70f4f-e2b6-4518-a53e-af0ccdc99d2c", "from": "Reference", "name": "instanceId", "type": "String", "value": ["instanceId"], "isRequired": true, "description": "实例ID", "referenceId": "instanceId", "referenceKey": "instanceId", "referenceNode": "_systemEnv"}, {"id": "input_4ac2267a-fa7a-462c-ad8d-7b2936e0fac3", "from": "Reference", "name": "input", "type": "String", "value": ["Question"], "isRequired": true, "description": "用户输入", "referenceId": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "referenceKey": "Question", "referenceNode": "jade6qm5eg"}], "outputParams": [{"id": "output_65d89d72-205f-4bf6-bb6e-a11bebaa8497", "name": "output", "type": "String", "value": []}]}}}, "metaId": "jadey32p7b", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"name": "大模型", "type": "llmNodeState", "jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "009c2461-9c7e-4f85-bf43-ad887acd6a8a", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "f78bde02-c766-4be5-bab6-70d2f6e6de6c", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "af11f474-c1ae-4e07-ad7e-92f378a9d19d", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "5fe88d69-b7bb-4ff3-abb1-a2fbeb4ec240", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "b23e18ed-c36f-4692-9917-4971f9c1659b", "from": "Input", "name": "temperature", "type": "Number", "value": 0.7}, {"id": "cd4194cd-db96-4164-8a45-9ca4ea30cd81", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "184c22f2-c6f5-4bb6-81ca-d214eb266b35", "from": "Input", "name": "template", "type": "String", "value": "你是一名经验丰富的专业面试官,请根据下文提供的简历信息,帮我梳理和回答以下问题:\n一、以“项目经历与专业技能总结”为题,总结候选人的项目经历、专业技能,格式如下:\n项目经历:(选择前3项经历,如果候选人项目经历不足3个,选择既有项目即可,不要做额外补充,从技术亮点、核心贡献两个维度进行总结)\n专业技能:(总结3类候选人掌握的专业技能,不总结人际沟通、团队协作、项目管理等非技术类技能)\n二、以“项目技术考察重点方向”为标题,请根据项目经历项,为每个项目建议2个技术方面的重点考察方向\n三、以“项目综合能力问题”为标题,请根据项目经历项,为每个项目准备2个考察综合能力(系统思维、影响他人的能力、学些能力、团队合作能力、抗压能力)的问题,不考察项目的具体技术实现\n四、以“专业技能重点考察方向”为标题,请根据专业技能项,为每个技能建议2个重点考察方向,考察候选人对编程语言和软件理论的掌握程度\n请用中文输出所有信息。\n以下为简历信息:\n{{cvAnalyzerprompt}}"}, {"id": "30eacd51-29f6-4a90-8e17-4e4ffe1ddcc6", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "155a2932-e37e-4c18-b14b-6d44b2a43ae4", "from": "Reference", "name": "isFileHandled", "type": "Boolean", "value": ["output", "isFileHandled"], "referenceId": "bf6d9282-2bf5-4826-9be1-10756ed6d728", "referenceKey": "isFileHandled", "referenceNode": "jadelk78r1"}, {"id": "950c301c-81ba-41a6-bda5-aa37360e92a5", "from": "Reference", "name": "cvAnalyzerprompt", "type": "String", "value": ["output", "cvAnalyzerPrompt"], "referenceId": "9e3844fd-864d-4504-8f2b-dba7e919135b", "referenceKey": "cvAnalyzerPrompt", "referenceNode": "jadelk78r1"}]}]}, {"id": "dded6123-d168-44b8-8779-738d61af4859", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "a7b687f8-e993-4e5a-9a10-bb6df8df25d9", "from": "Expand", "name": "tools", "type": "Array", "value": []}, {"id": "6ec07829-b51c-4397-8670-59659e43036f", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "3733d6f2-0ea2-4dab-9f5b-423352d4af0b", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "091115ca-4fd9-4265-8280-5d70cfcdcfca", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "b0a3bdd3-7a3c-4657-8288-4cf8a98d33a0", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "ec24f7c3-3c2e-4f9c-b5e1-3ef129e9ddf2", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "51b4e7bb-19f5-4477-a2df-b974f8c97ba7", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "metaId": "jade39q3lc", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jade39q3lc", "from": "jade2es9ti", "type": "jadeEvent", "metaId": "jadeqraasb", "runnable": true, "fromConnector": "dynamic-0|e2cefcda-b6e2-4713-ac74-f2266a10bb19"}, {"name": "条件_2", "type": "conditionNodeCondition", "metaId": "jadegqixt5", "runnable": true, "triggerMode": "auto", "conditionParams": {"branches": [{"id": "bb4f8032-19cc-445b-a2ff-5cda77ae59e3", "type": "if", "runnable": true, "conditions": [{"id": "8085598f-b128-4749-940c-b4bda2619cba", "value": [{"id": "9a656755-91fe-47b6-a54c-4b2be274978a", "from": "Reference", "name": "left", "type": "String", "value": ["output", "errorMessage"], "referenceId": "50617d76-27e1-49aa-a653-1947168d8937", "referenceKey": "errorMessage", "referenceNode": "jadelk78r1"}, {"id": "37c01598-663a-476c-9a99-202b73131d4b", "from": "Input", "name": "right", "type": "String", "value": "", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "is not empty string"}], "conditionRelation": "and"}, {"id": "319689dd-4250-4f0d-9c1b-d071013ac712", "type": "else", "runnable": true, "conditions": [{"id": "737ba1f5-dbb5-401c-9bf5-e18597f02123", "value": [], "condition": "true"}], "conditionRelation": "and"}], "jadeNodeConfigChangeIgnored": true}}, {"name": "大模型_1", "type": "llmNodeState", "jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "b8519f34-6d5f-42cd-b949-438f44d3210e", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "8c18f95c-1585-4e11-be07-de595ad13a92", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "8fd16d6c-b043-46dd-8b55-f0b8dee2615c", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "bd6f983c-f8e8-4538-ac66-60024d09c0a1", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "0263e85d-6125-4e27-ab7a-d2bc351cf414", "from": "Input", "name": "temperature", "type": "Number", "value": 0.6}, {"id": "1cf0a04f-2ca7-41fd-bec4-f9a1dd016c7f", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "a1335ac5-b02b-47c5-91d4-ecb945833ef3", "from": "Input", "name": "template", "type": "String", "value": "你是一名经验丰富的专业面试官,请根据下文提供的简历信息,帮我梳理和回答以下问题:\n一、以“项目经历与专业技能总结”为题,总结候选人的项目经历、专业技能,格式如下:\n项目经历:(选择前3项经历,如果候选人项目经历不足3个,选择既有项目即可,不要做额外补充,从技术亮点、核心贡献两个维度进行总结)\n专业技能:(总结3类候选人掌握的专业技能,不总结人际沟通、团队协作、项目管理等非技术类技能)\n二、以“项目技术考察重点方向”为标题,请根据项目经历项,为每个项目建议2个技术方面的重点考察方向\n三、以“项目综合能力问题”为标题,请根据项目经历项,为每个项目准备2个考察综合能力(系统思维、影响他人的能力、学些能力、团队合作能力、抗压能力)的问题,不考察项目的具体技术实现\n四、以“专业技能重点考察方向”为标题,请根据专业技能项,为每个技能建议2个重点考察方向,考察候选人对编程语言和软件理论的掌握程度\n请用中文输出所有信息。\n以下为简历信息:\n{{cvAnalyzerprompt}}"}, {"id": "d6309a8b-d15b-4380-b6c6-ef000a9e5201", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "25e56c39-1668-4428-8174-116b1a906bbd", "from": "Reference", "name": "isFileHandled", "type": "Boolean", "value": ["output", "isFileHandled"], "referenceId": "bf6d9282-2bf5-4826-9be1-10756ed6d728", "referenceKey": "isFileHandled", "referenceNode": "jadelk78r1"}, {"id": "498b5c92-92ef-4ebf-9346-f2847fb88a3a", "from": "Reference", "name": "cvAnalyzerprompt", "type": "String", "value": ["output", "cvAnalyzerPrompt"], "referenceId": "9e3844fd-864d-4504-8f2b-dba7e919135b", "referenceKey": "cvAnalyzerPrompt", "referenceNode": "jadelk78r1"}]}]}, {"id": "dded6123-d168-44b8-8779-738d61af4859", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "e1ad1e33-6a7c-451d-ba5a-158595cb2af8", "from": "Expand", "name": "tools", "type": "Array", "value": []}, {"id": "3c3f111b-85ec-42c0-af8e-f3352518a29b", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "1cd6884e-c3e3-483b-baeb-d592c4f58ebf", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "7d01bbd3-df9c-4884-8d02-54b195096857", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "9e2fb06e-0276-48c8-8606-c36a31cf93b0", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "3eab6484-fa97-4e06-a0cc-263d3ed5274a", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "d438bc29-a627-44c2-bd57-4bf64eceba5a", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "metaId": "jadem1n9u5", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadem1n9u5", "from": "jadegqixt5", "type": "jadeEvent", "metaId": "jadee79arc", "runnable": true, "fromConnector": "dynamic-0|bb4f8032-19cc-445b-a2ff-5cda77ae59e3"}, {"name": "大模型_2", "type": "llmNodeState", "jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "1d11a986-7dc9-4ba3-84d8-3f15810ae587", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "4ebabb28-8981-46d6-a458-953082c01f9a", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "5af05d34-4b6e-435f-872c-96fa990a1476", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "ea9b2985-96e6-480c-b065-c7cce122b57a", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "32801848-b75f-4ac0-b050-f3dfbd57e3ad", "from": "Input", "name": "temperature", "type": "Number", "value": 0.7}, {"id": "1891af57-83ff-458d-ac70-d35a7af89705", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "e9e29b94-85e2-47c8-84d2-055a77660b88", "from": "Input", "name": "template", "type": "String", "value": "{{query}}"}, {"id": "29e702cd-b721-442a-9893-81298cfa2953", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "c34fda11-8f17-4c85-96aa-35c5bb311e2a", "from": "Reference", "name": "query", "type": "String", "value": ["output"], "referenceId": "output_65d89d72-205f-4bf6-bb6e-a11bebaa8497", "referenceKey": "output", "referenceNode": "jadey32p7b"}]}]}, {"id": "dded6123-d168-44b8-8779-738d61af4859", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "2b06515f-c9d5-41bd-bfbe-e1b1382d6ec1", "from": "Expand", "name": "tools", "type": "Array", "value": []}, {"id": "0b5e2451-ed5f-46b2-8600-8893963296e4", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "acb67126-1a1b-4430-946e-30e768712333", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "f7d670ab-1cad-4028-a9c8-c84a5a170ac1", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "29ed2025-1eaa-462a-a37a-e05677eef8c4", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "451cf45e-6250-4f08-9d73-51d94433d749", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "dab1caf6-f171-4f6d-beb7-97c913fa1637", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "metaId": "jadedzi58q", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadedzi58q", "from": "jadey32p7b", "type": "jadeEvent", "metaId": "jadeqdcs4x", "runnable": true, "fromConnector": "E"}, {"name": "结束_2", "type": "endNodeEnd", "metaId": "jadefw1zfk", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "b6d32b12-26db-4a72-974b-7e197326e653", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "5c0e817c-8851-4350-9c5b-0ac5792a4e71", "from": "Reference", "name": "output", "type": "String", "value": ["output", "llmOutput"], "editable": true, "isRequired": true, "description": "", "referenceId": "451cf45e-6250-4f08-9d73-51d94433d749", "referenceKey": "llmOutput", "referenceNode": "jadedzi58q"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "5e7a8388-8193-4f2d-a44a-094ab6fc576b", "from": "Input", "name": "enableLog", "type": "Boolean", "value": false}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"to": "jadefw1zfk", "from": "jadedzi58q", "type": "jadeEvent", "metaId": "jadecvs6at", "runnable": true, "fromConnector": "E"}, {"name": "结束_4", "type": "endNodeEnd", "metaId": "jadexn70e2", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "5268f248-07c8-4871-8732-e007316214fc", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "1434e18b-bd1b-4286-bc2f-cfb2cb1e9c1e", "from": "Reference", "name": "output", "type": "String", "value": ["output", "errorMessage"], "editable": true, "isRequired": true, "description": "", "referenceId": "50617d76-27e1-49aa-a653-1947168d8937", "referenceKey": "errorMessage", "referenceNode": "jadelk78r1"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "e0c88e2d-1373-4606-8aaf-2d8ff330a27f", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"to": "jadexn70e2", "from": "jadegqixt5", "type": "jadeEvent", "metaId": "jade2u3je1", "runnable": true, "fromConnector": "dynamic-999"}, {"to": "jadegqixt5", "from": "jade758stt", "type": "jadeEvent", "metaId": "jadet1dvap", "runnable": true, "fromConnector": "E"}, {"name": "文本提取", "type": "textExtractionNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "extractParam"}, {"name": "memoryConfig"}, {"name": "memorySwitch"}, {"name": "histories"}], "return": {"type": "object"}, "uniqueName": "3bca6a3f-9623-4228-b120-1a5e0d41dc14"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"stageDesc": "正在生成推荐面试问题...", "inputParams": [{"id": "extractParam_e7356380-7e19-4def-a1b5-3f7fb62c06af", "from": "Expand", "name": "extractParam", "type": "Object", "value": [{"id": "text_da536c71-b299-40f0-8bca-720364fe20a0", "from": "Reference", "name": "text", "type": "String", "value": ["output", "llmOutput"], "referenceId": "3eab6484-fa97-4e06-a0cc-263d3ed5274a", "referenceKey": "llmOutput", "referenceNode": "jadem1n9u5"}, {"id": "desc_ddf67a20-776a-4c29-b741-9b5ed31a5104", "from": "Input", "name": "desc", "type": "String", "value": ""}, {"id": "outputSchema_1d2b703c-237b-40c9-9286-0d427c2b7312", "from": "Input", "name": "outputSchema", "type": "String", "value": "{\"type\":\"object\",\"properties\":{\"questions\":{\"type\":\"array\",\"description\":\"针对简历的问题列表\"}}}"}, {"id": "0d0a1d90-49b7-4bc6-af15-4c1c2905dadd", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "928af3d3-8671-4d93-a091-fd1662b74474", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "2ee47e96-94a7-4ee4-b616-36201338a7e4", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "temperature_236f8466-2e34-4b41-a199-a8d2843261ac", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}]}, {"id": "memoryConfig_88d92098-2b56-4757-9fb6-08f3628e19ce", "from": "Expand", "name": "memoryConfig", "type": "Object", "value": [{"id": "windowAlg_91b53de6-83c0-44eb-bf92-2585268d7526", "from": "Input", "name": "windowAlg", "type": "String", "value": "buffer_window"}, {"id": "serializeAlg_f77ab974-f9c6-4ad3-9bcd-818fad8d96e2", "from": "Input", "name": "serializeAlg", "type": "String", "value": "full"}, {"id": "property_7894b9b6-55e0-4b6e-acf8-d430e396d00c", "from": "Input", "name": "property", "type": "Integer", "value": "0"}]}, {"id": "memorySwitch_a59975ed-71a1-4647-83b1-20c3aefe44f1", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": false}, {"id": "histories_643f02b9-d709-4fc9-a04b-f9e590d96786", "from": "Reference", "name": "histories", "type": "Array", "value": ["memories"], "referenceId": "memories", "referenceKey": "memories", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "28eac6e6-2877-426a-a22c-5e425bfd2b1e", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "fa30b424-be71-443d-b18d-fbd32144e049", "from": "Expand", "name": "extractedParams", "type": "Object", "value": [{"id": "c19b4740-ce95-4483-b789-47286a19096b", "from": "Input", "name": "questions", "type": "Array", "value": "", "description": "针对简历的问题列表"}]}, {"id": "success_67bf7577-82ac-47b8-b8fa-7d7ebc53513a", "from": "Input", "name": "success", "type": "Boolean", "value": "Boolean"}]}], "enableStageDesc": true, "jadeNodeConfigChangeIgnored": false}}}, "metaId": "jade9puqh3", "runnable": true, "stageDesc": "正在生成推荐面试问题...", "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "enableStageDesc": true}, {"to": "jade9puqh3", "from": "jadem1n9u5", "type": "jadeEvent", "metaId": "jade79wnvk", "runnable": true, "fromConnector": "E"}, {"to": "jadesoux5i", "from": "jade4h5wks", "type": "jadeEvent", "metaId": "jadekuuju4", "runnable": true, "fromConnector": "dynamic-1|32f55d87-ebf2-464f-9f78-ecd62e36f2dc"}, {"to": "jadey32p7b", "from": "jade4h5wks", "type": "jadeEvent", "metaId": "jade1o7wna", "runnable": true, "fromConnector": "dynamic-999"}, {"name": "智能表单_1", "task": {"type": "AIPP_SMART_FORM", "imgUrl": "http://localhost:8001/api/jober/static/smart_form/7958d851-8062-49bd-b21e-d7372991c905/form.png", "taskId": "d496c444a3174beabbcec5441aed40e2", "formName": "面试评价表单", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "questions_7e08f8cb-47ae-47df-b1a7-aaf62d7be03f", "from": "Reference", "name": "questions", "type": "Array", "value": ["output", "extractedParams", "questions"], "isRequired": true, "referenceId": "c19b4740-ce95-4483-b789-47286a19096b", "referenceKey": "questions", "referenceNode": "jade9puqh3"}], "outputParams": [{"id": "output_f00ac42b-c893-479b-b0ee-5cbe996c885a", "name": "output", "type": "Object", "value": [{"id": "27aa7c57-e31e-482a-98f0-bdbcc21a6138", "name": "qeMap", "type": "Array", "value": "Array"}]}]}}}, "type": "manualCheckNodeState", "metaId": "jademrtwtm", "runnable": true, "triggerMode": "manual"}, {"to": "jademrtwtm", "from": "jade9puqh3", "type": "jadeEvent", "metaId": "jadem1n5oj", "runnable": true, "fromConnector": "E"}, {"name": "大模型_3", "type": "llmNodeState", "jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "fcd5702a-23f8-482e-a193-945676ca99ef", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "3a0ce6b3-8e98-4045-9323-957415084fba", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "35594014-3ca3-46b7-ac71-acd76b443952", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "f3d8a723-81d0-48e2-b671-224caf7f0f17", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "1bf48ee9-ac82-4df5-be74-df96958f3f05", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}, {"id": "eb7a528c-c012-4374-bbf0-4a88e4727334", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "aeb114f8-9032-4be6-b9f2-a0301fd5cf05", "from": "Input", "name": "template", "type": "String", "value": "你是一名经验丰富的专业面试官,当前你已经完成了面试提问,并对面试者的回答进行的评价。请根据以下信息,帮我总结面试者的整体表现情况:\n\n请用中文输出所有信息,严格按照我给你的信息进行总结,不要杜撰不存在的事情。\n\n以下为面试者回答的问题以及你的评价, 其中问题内容在“question:”后,评价内容在“evaluate”后。\n{{qeMap}}"}, {"id": "c4b818ba-1f8a-4f18-b196-c31bba136185", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "c709baca-8d63-4dd4-bced-e2762386a86a", "from": "Reference", "name": "qeMap", "type": "Array", "value": ["output", "qeMap"], "referenceId": "27aa7c57-e31e-482a-98f0-bdbcc21a6138", "referenceKey": "qeMap", "referenceNode": "jademrtwtm"}]}]}, {"id": "59d76a4e-1fd8-4950-9f84-6ebc17b7553c", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "a5b51a1c-68d7-4d8b-8791-9f788cd52f22", "from": "Expand", "name": "tools", "type": "Array", "value": []}, {"id": "e1322719-1397-4dc8-a21e-674e1fb0eec0", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "892cf7e4-85c2-428d-b45b-0112a5978bd3", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "417ec551-d27e-49bc-b8ee-002a4bbd5b48", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "58e76471-8fb4-456d-9415-88192b008bd0", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "23891b11-11a1-4915-80d1-53c515335dd5", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "c6b85478-009a-4ade-8bc2-a288e226e6db", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "metaId": "jadezaa7cy", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadezaa7cy", "from": "jademrtwtm", "type": "jadeEvent", "metaId": "jadeeeqmda", "runnable": true, "fromConnector": "E"}, {"name": "结束_3", "type": "endNodeEnd", "metaId": "jadeohika6", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "73bad02b-26cb-417a-b1e0-85de07f398fa", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "aa9bc2e9-6dbf-4a6e-8d05-772f148da36e", "from": "Input", "name": "output", "type": "String", "value": "面试完成", "editable": true, "isRequired": true, "description": ""}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "519710b6-f147-4cdb-98e7-b60aa0600be5", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"to": "jadeohika6", "from": "jadezaa7cy", "type": "jadeEvent", "metaId": "jadey8ppgc", "runnable": true, "fromConnector": "E"}, {"name": "文本提取_1", "type": "textExtractionNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "extractParam"}, {"name": "memoryConfig"}, {"name": "memorySwitch"}, {"name": "histories"}], "return": {"type": "object"}, "uniqueName": "3bca6a3f-9623-4228-b120-1a5e0d41dc14"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"stageDesc": "正在生成推荐面试问题...", "inputParams": [{"id": "c5fcdff0-2822-49c1-805d-242d38acf952", "from": "Expand", "name": "extractParam", "type": "Object", "value": [{"id": "0fc3e0ac-307a-4c9c-8446-da801ca2a86e", "from": "Reference", "name": "text", "type": "String", "value": ["output", "llmOutput"], "referenceId": "ec24f7c3-3c2e-4f9c-b5e1-3ef129e9ddf2", "referenceKey": "llmOutput", "referenceNode": "jade39q3lc"}, {"id": "bb3f946b-a504-44c9-a9e6-7271052ca40d", "from": "Input", "name": "desc", "type": "String", "value": ""}, {"id": "e99d0bd6-62f8-4f1b-80e9-72f7a2a19687", "from": "Input", "name": "outputSchema", "type": "String", "value": "{\"type\":\"object\",\"properties\":{\"questions\":{\"type\":\"array\",\"description\":\"针对简历的问题列表\"}}}"}, {"id": "c89f3da6-f54f-46d5-bb2d-63c4126aa682", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "de26c850-03f2-4e24-80c2-aedd0482a463", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "a8bde3eb-1f41-4e9c-b591-1ea8637da7c7", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,admin"}]}, {"id": "52e82f8a-d0ec-4448-a8fa-a8ecc021a80d", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}]}, {"id": "4fb27b26-d072-41d3-a6ab-7ed461198348", "from": "Expand", "name": "memoryConfig", "type": "Object", "value": [{"id": "73c5d5a6-ee64-4eae-b8e0-6afef02ce1f1", "from": "Input", "name": "windowAlg", "type": "String", "value": "buffer_window"}, {"id": "301ee3a6-6e1d-4046-bb13-2ab2b29e5892", "from": "Input", "name": "serializeAlg", "type": "String", "value": "full"}, {"id": "8d0d7545-9b23-41f1-9d58-3cdf5203ea71", "from": "Input", "name": "property", "type": "Integer", "value": "0"}]}, {"id": "bc1fbeed-2b96-4bfd-9810-45fd2f0e01df", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": false}, {"id": "64c7d8a7-daae-44d9-9d42-f7d7ead0f5f8", "from": "Reference", "name": "histories", "type": "Array", "value": ["memories"], "referenceId": "memories", "referenceKey": "memories", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "225af02f-2c58-4e8d-bcb9-d56c6eb4b426", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "13ee6c77-3f84-4758-9ea1-6d1a17923ae4", "from": "Expand", "name": "extractedParams", "type": "Object", "value": [{"id": "b56c96ec-0b9f-44d3-8e8b-b952d171c580", "from": "Input", "name": "questions", "type": "Array", "value": "", "description": "针对简历的问题列表"}]}, {"id": "e545a304-53b9-40de-a559-f7346aa69a01", "from": "Input", "name": "success", "type": "Boolean", "value": "Boolean"}]}], "enableStageDesc": true, "jadeNodeConfigChangeIgnored": false}}}, "metaId": "jadelwn1gx", "runnable": true, "stageDesc": "正在生成推荐面试问题...", "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "enableStageDesc": true}, {"to": "jadelwn1gx", "from": "jade39q3lc", "type": "jadeEvent", "metaId": "jade9m2sga", "runnable": true, "fromConnector": "E"}, {"name": "智能表单_2", "task": {"type": "AIPP_SMART_FORM", "imgUrl": "http://localhost:8001/api/jober/static/smart_form/7958d851-8062-49bd-b21e-d7372991c905/form.png", "taskId": "d496c444a3174beabbcec5441aed40e2", "formName": "面试评价表单", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "questions_f1544f8f-d6ec-4dc2-97d8-dbc05a5fd33b", "from": "Reference", "name": "questions", "type": "Array", "value": ["output", "extractedParams", "questions"], "isRequired": true, "referenceId": "b56c96ec-0b9f-44d3-8e8b-b952d171c580", "referenceKey": "questions", "referenceNode": "jadelwn1gx"}], "outputParams": [{"id": "output_4daf0f63-1cc3-46f9-b42a-e36e953141f7", "name": "output", "type": "Object", "value": [{"id": "6c87c01e-4cd3-483e-a646-6b1f63597e91", "name": "qeMap", "type": "Array", "value": "Array"}]}]}}}, "type": "manualCheckNodeState", "metaId": "jade22p95w", "runnable": true, "triggerMode": "manual"}, {"to": "jade22p95w", "from": "jadelwn1gx", "type": "jadeEvent", "metaId": "jade5q1tkm", "runnable": true, "fromConnector": "E"}, {"name": "大模型_4", "type": "llmNodeState", "jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "a3bd214d-556f-4f1e-beac-726aec372264", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "a2a846ac-8371-42f5-9617-aab697031aad", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "f313cfeb-6029-4d0d-b938-026ffa7cca1e", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "48dd4324-a11f-4d7e-bae8-f4874f526ab7", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "e05bdaeb-3cda-40a5-9144-e564f494b002", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}, {"id": "ee5b87db-2bb7-40a9-8836-658a2047ad98", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "41de7c20-0de4-4a75-b1a1-898c2ac9c2fd", "from": "Input", "name": "template", "type": "String", "value": "你是一名经验丰富的专业面试官,当前你已经完成了面试提问,并对面试者的回答进行的评价。请根据以下信息,帮我总结面试者的整体表现情况:\n\n请用中文输出所有信息,严格按照我给你的信息进行总结,不要杜撰不存在的事情。\n\n以下为面试者回答的问题以及你的评价, 其中问题内容在“question:”后,评价内容在“evaluate”后。\n{{qeMap}}"}, {"id": "af7e6d67-5162-4c90-884f-9299e76ffd5a", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "2e069130-be89-4292-8a00-9827309710dc", "from": "Reference", "name": "qeMap", "type": "Array", "value": ["output", "qeMap"], "referenceId": "6c87c01e-4cd3-483e-a646-6b1f63597e91", "referenceKey": "qeMap", "referenceNode": "jade22p95w"}]}]}, {"id": "52e1fdbe-6598-4a0e-8a5c-1bb8de01534e", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "9098e23e-62e6-4272-a746-7063e45710aa", "from": "Expand", "name": "tools", "type": "Array", "value": []}, {"id": "f3dd4d91-9e84-45c4-bca2-5c27c4ae479a", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "d443924b-69a7-4519-a186-85b6bcd14edd", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "6ab5352d-1753-4f90-9c6b-2991d69dddc4", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "bf5d2b76-30ca-4cd6-bdfd-a61d70b1cf85", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "8bb45d25-fc74-45d5-8777-21670075be2e", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "2f382582-cd0c-4a4d-a994-58ba4b07dd97", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "metaId": "jadeuhtp3b", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadeuhtp3b", "from": "jade22p95w", "type": "jadeEvent", "metaId": "jade5xr7fy", "runnable": true, "fromConnector": "E"}, {"name": "结束_1", "type": "endNodeEnd", "metaId": "jadehvxxbs", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "6d59e150-b944-42bc-a131-9e3d240f3d06", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "a1c67227-e131-4f88-93aa-e1840f3621ea", "from": "Reference", "name": "output", "type": "String", "value": ["output", "llmOutput"], "editable": true, "isRequired": true, "description": "", "referenceId": "8bb45d25-fc74-45d5-8777-21670075be2e", "referenceKey": "llmOutput", "referenceNode": "jadeuhtp3b"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "b8e2ec79-b8a6-46b0-9e20-14662fabd988", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"to": "jadehvxxbs", "from": "jadeuhtp3b", "type": "jadeEvent", "metaId": "jade3xtwme", "runnable": true, "fromConnector": "E"}, {"to": "jade4h5wks", "from": "jadelk78r1", "type": "jadeEvent", "metaId": "jade7dr3c3", "runnable": true, "fromConnector": "E"}], "metaId": "24f72de428124eb19fd12db36ebcfd34", "status": "active", "version": "1.0.0", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.fitable.FlowInfoCallback"]}, "enableOutputScope": true, "exceptionFitables": ["modelengine.fit.jober.aipp.fitable.AippFlowExceptionHandler", "modelengine.fit.jober.fitable.FlowInfoException"]}', 'Jade', '2025-04-28 08:39:01.900125') ON CONFLICT (definition_id) DO NOTHING; + +INSERT INTO "public"."flow_graph" ("id", "version", "tenant", "status", "name", "data", "created_by", "created_at", "updated_by", "updated_at", "previous", "is_deleted") VALUES ('24f72de428124eb19fd12db36ebcfd34', '1.0.0', '31f20efc7e0848deab6a6bc10fc3021e', 'active', '24f72de428124eb19fd12db36ebcfd34', '{"id":"24f72de428124eb19fd12db36ebcfd34","title":"24f72de428124eb19fd12db36ebcfd34","source":"elsa","type":"jadeFlowGraph","tenant":"31f20efc7e0848deab6a6bc10fc3021e","setting":{"borderColor":"#047bfc","backColor":"whitesmoke","headColor":"steelblue","fontColor":"steelblue","captionfontColor":"whitesmoke","fontFace":"arial","captionfontFace":"arial black","fontSize":12,"captionfontSize":14,"fontStyle":"normal","captionfontStyle":"normal","fontWeight":"lighter","captionfontWeight":"lighter","hAlign":"center","vAlign":"top","captionhAlign":"center","lineHeight":1.5,"lineWidth":2,"captionlineHeight":1,"focusMargin":0,"focusBorderColor":"#047bfc","focusFontColor":"darkorange","focusBackColor":"whitesmoke","mouseInColor":"orange","mouseInBorderColor":"#047bfc","mouseInFontColor":"orange","mouseInBackColor":"whitesmoke","borderWidth":1,"focusBorderWidth":1,"globalAlpha":1,"backAlpha":0.15,"cornerRadius":4,"dashWidth":0,"autoText":false,"autoHeight":false,"autoWidth":false,"margin":25,"pad":10,"code":"","rotateDegree":0,"shadow":"","focusShadow":"","shadowData":"2px 2px 4px","outstanding":false,"pDock":"none","dockMode":"none","priority":0,"infoType":{"name":"none","next":"INFORMATION"},"progressStatus":{"name":"NONE","next":"UNKNOWN","color":"gray"},"progressPercent":0.65,"showedProgress":false,"itemPad":[5,5,5,5],"itemScroll":{"x":0,"y":0},"scrollLock":{"x":false,"y":false},"resizeable":true,"selectable":true,"rotateAble":true,"editable":true,"moveable":true,"dragable":true,"visible":true,"deletable":true,"allowLink":true,"shared":false,"strikethrough":false,"underline":false,"numberedList":false,"bulletedList":false,"enableAnimation":false,"enableSocial":true,"emphasized":false,"bulletSpeed":1,"tag":{},"allNodeNumLimit":99,"sameTypeNodeNumLimit":19,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10},"pages":[{"x":-3265.2857142857183,"y":2282.8690476190486,"id":"elsa-page:tvp1s6","bold":false,"mode":"configuration","text":"newFlowPage","type":"jadeFlowPage","dirty":true,"index":0,"width":1600,"hAlign":"left","height":800,"isPage":true,"italic":false,"scaleX":0.40000000000000013,"scaleY":0.40000000000000013,"vAlign":"top","itemPad":[0,0,0,0],"division":-1,"dockMode":"none","fontFace":"arial","fontSize":18,"hideText":true,"moveable":true,"shapesAs":{},"backColor":"#fbfbfc","container":"elsa-page:tvp1s6","dockAlign":"top","fontColor":"#ECD0A7","fontStyle":"normal","itemSpace":5,"namespace":"jadeFlow","fontWeight":"bold","itemScroll":{"x":0,"y":0},"borderColor":"white","focusBackColor":"#fbfbfc","shapes":[{"x":-170.8928571428571,"y":32.5,"id":"jade6qm5eg","pad":6,"bold":false,"text":"开始","type":"startNodeStart","dirty":false,"index":0,"width":360,"height":225,"italic":false,"shadow":"0 2px 4px 0 rgba(0,0,0,.1)","flowMeta":{"inputParams":[{"id":"91138f09-b635-43df-95c6-1fe3d1745829","from":"Expand","name":"input","type":"Object","value":[{"id":"input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb","from":"Input","name":"Question","type":"String","value":"","isVisible":true,"isRequired":true,"description":"这是用户输入的问题。","displayName":"用户问题","disableModifiable":true}],"config":[{"allowAdd":true}]},{"id":"4a770dc6-e3c9-475d-84c7-48dacc74a5b6","from":"Expand","name":"memory","type":"Object","value":[{"id":"a7675623-7fc7-468c-8910-e73c70e5e468","from":"Input","name":"memorySwitch","type":"Boolean","value":false},{"id":"cee9a31b-781c-4835-a616-ceed73be22f2","from":"Input","name":"type","type":"String","value":"ByConversationTurn"},{"id":"69592622-4291-409d-9d65-9faea83db657","from":"Input","name":"value","type":"Integer","value":"3"}]}],"triggerMode":"auto"},"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":false,"namespace":"flowable","autoHeight":true,"emphasized":false,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"focusShadow":"0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)","runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10,"completedTask":0,"componentName":"startComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"mouseInBorderColor":"rgba(28,31,35,.08)"},{"x":2726.964285714285,"y":97.26190476190459,"id":"jadesoux5i","pad":6,"bold":false,"text":"结束","type":"endNodeEnd","dirty":false,"index":1,"width":360,"height":181,"italic":false,"shadow":"0 2px 4px 0 rgba(0,0,0,.1)","flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"54dab89c-5693-4082-baa7-12c648d812f7","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"ffad80c2-3f60-4d57-93b2-c2362a5dab9c","from":"Reference","name":"finalOutput","type":"String","value":["output","errorMessage"],"editable":true,"isRequired":true,"description":"","referenceId":"50617d76-27e1-49aa-a653-1947168d8937","referenceKey":"errorMessage","referenceNode":"jadelk78r1"}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"c4469c16-88a7-4575-b339-9a06e3305f3b","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"flowable","autoHeight":true,"emphasized":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"focusShadow":"0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)","runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","mouseInBorderColor":"rgb(4, 123, 252)"},{"x":886.0342890059239,"y":-29.654761904761983,"id":"jadelk78r1","pad":6,"bold":false,"text":"AI简历解析插件","type":"toolInvokeNodeState","dirty":false,"index":2,"width":360,"height":185,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"fileUrl"},{"name":"instanceId"}],"return":{"type":"object"},"uniqueName":"8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"fileUrl_edfec05d-9812-429f-ae55-24df5d2e1216","from":"Reference","name":"fileUrl","type":"String","value":["output","fileUrl"],"isRequired":true,"description":"简历文件URL","referenceId":"45fafbfd-5966-47ba-91af-baebe09bdab1","referenceKey":"fileUrl","referenceNode":"jadeemu770"},{"id":"instanceId_24e98795-b3aa-4a0f-b78f-d4b059a59768","from":"Reference","name":"instanceId","type":"String","value":["instanceId"],"isRequired":true,"description":"实例ID","referenceId":"instanceId","referenceKey":"instanceId","referenceNode":"_systemEnv"}],"outputParams":[{"id":"output_5315b59e-1d27-4278-a06e-f89c7627782a","name":"output","type":"Object","value":[{"id":"bf6d9282-2bf5-4826-9be1-10756ed6d728","name":"isFileHandled","type":"Boolean","value":"Boolean"},{"id":"9e3844fd-864d-4504-8f2b-dba7e919135b","name":"cvAnalyzerPrompt","type":"String","value":"String"},{"id":"50617d76-27e1-49aa-a653-1947168d8937","name":"errorMessage","type":"String","value":"String"}]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"toolInvokeComponent","focusBackColor":"white","sourcePlatform":"","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":337.57000329163884,"y":-111.01190476190482,"id":"jadeemu770","pad":6,"bold":false,"text":"代码","type":"codeNodeState","dirty":false,"index":3,"width":368,"height":251,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"args"},{"name":"code"},{"name":"language"},{"name":"output"}],"return":{"type":"object"},"uniqueName":"e147f301-957a-4335-a155-1e86d1a45ae5"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"98a0c373-6b03-4fd0-bc1d-101c9f1b1fd2","from":"Expand","name":"args","type":"Object","value":[{"id":"a15b25db-133c-41b4-a329-4b9bd257ad3e","from":"Reference","name":"fileUrls","type":"Array","value":["fileUrls"],"referenceId":"fileUrls","referenceKey":"fileUrls","referenceNode":"_systemEnv"}]},{"id":"6a95280d-156a-45b2-b235-9ca2b9015d2f","from":"Input","name":"code","type":"String","value":"async def main(args: Args) -> Output:\n ret: Output = {\n \"fileUrl\": args[''fileUrls''][0] if args[''fileUrls''] else \"\"\n }\n return ret","language":"python"},{"id":"b770fd0c-d5ae-4f2a-8129-52839becb775","from":"Input","name":"language","type":"String","value":"python"},{"id":"1e2ee2b3-0106-44ac-89db-1684220c5ad4","from":"Input","name":"output","type":"Object","value":{"properties":{"output":{"type":"object","description":"","properties":{"fileUrl":{"type":"string","description":""}}}}}}],"outputParams":[{"id":"ebdfcbcb-4dbd-47dc-8bd6-a5752edb2487","from":"Expand","name":"output","type":"Object","value":[{"id":"45fafbfd-5966-47ba-91af-baebe09bdab1","from":"Input","name":"fileUrl","type":"String","value":"","description":""}]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10,"completedTask":0,"componentName":"codeComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderWidth":1,"mouseInBorderColor":"#B1B1B7"},{"x":189.1071428571429,"y":145,"id":"jadexi4d2i","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":4,"textX":0,"textY":0,"width":148.46286043449595,"hAlign":"center","height":-130.51190476190482,"italic":false,"margin":20,"toShape":"jadeemu770","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade6qm5eg","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":705.5700032916388,"y":14.488095238095184,"id":"jade3ccnk1","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":5,"textX":0,"textY":0,"width":180.4642857142851,"hAlign":"center","height":48.35714285714283,"italic":false,"margin":20,"toShape":"jadelk78r1","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadeemu770","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":1502.2128604344966,"y":-113.58333333333326,"id":"jade4h5wks","pad":6,"bold":false,"text":"条件","type":"conditionNodeCondition","dirty":false,"index":6,"width":600,"height":283,"italic":false,"flowMeta":{"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto","conditionParams":{"branches":[{"id":"70695434-91fb-4493-87a4-e681e99d985e","type":"if","runnable":true,"conditions":[{"id":"a5aef4c1-af83-475e-9805-2dbff919de10","value":[{"id":"d9df8a7c-4cc6-4147-b73e-a9db324b1bde","from":"Reference","name":"left","type":"Boolean","value":["output","isFileHandled"],"referenceId":"bf6d9282-2bf5-4826-9be1-10756ed6d728","referenceKey":"isFileHandled","referenceNode":"jadelk78r1"},{"id":"4a915ffb-6082-4fca-a622-71d875b34412","from":"Input","name":"right","type":"Boolean","value":true,"referenceId":"","referenceKey":"","referenceNode":""}],"condition":"equal"},{"id":"8e60cd88-0799-4f12-9fcb-e20ccbc7ecd0","value":[{"id":"f2552657-58f6-4def-a3c7-cab73575e5b0","from":"Reference","name":"left","type":"String","value":["output","errorMessage"],"referenceId":"50617d76-27e1-49aa-a653-1947168d8937","referenceKey":"errorMessage","referenceNode":"jadelk78r1"},{"id":"9c8f2868-6722-4ed6-b388-3215bfbcacca","from":"Input","name":"right","type":"String","value":"请确认 上传的文件是一份简历","referenceId":"","referenceKey":"","referenceNode":""}],"condition":"contains"}],"conditionRelation":"or"},{"id":"32f55d87-ebf2-464f-9f78-ecd62e36f2dc","type":"if","runnable":true,"conditions":[{"id":"5e19d158-03a3-4315-b45c-ff2a0b384db0","value":[{"id":"847d2cf6-5201-4628-a183-ca9ba62745f2","from":"Reference","name":"left","type":"String","value":["output","errorMessage"],"referenceId":"50617d76-27e1-49aa-a653-1947168d8937","referenceKey":"errorMessage","referenceNode":"jadelk78r1"},{"id":"9bab7914-26b4-487e-b609-d9776b13e608","from":"Reference","name":"right","type":"","value":[],"referenceNode":""}],"condition":"is not empty string"}],"conditionRelation":"and"},{"id":"8650733f-4401-4155-8633-048a5726e6fe","type":"else","runnable":true,"conditions":[{"id":"4e7f3b9e-f609-4178-bd27-459d0683cac9","value":[],"condition":"true"}],"conditionRelation":"and"}],"jadeNodeConfigChangeIgnored":true}},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"conditionComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":2593.820003291639,"y":-446.0119047619048,"id":"jade2es9ti","pad":6,"bold":false,"text":"条件_1","type":"conditionNodeCondition","dirty":false,"index":7,"width":600,"height":227,"italic":false,"flowMeta":{"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto","conditionParams":{"branches":[{"id":"e2cefcda-b6e2-4713-ac74-f2266a10bb19","type":"if","runnable":true,"conditions":[{"id":"2f466536-4151-4013-b008-bf5af8a37edb","value":[{"id":"c8601563-bbeb-497b-91f4-a1f81e08ad32","from":"Reference","name":"left","type":"String","value":["output","errorMessage"],"referenceId":"50617d76-27e1-49aa-a653-1947168d8937","referenceKey":"errorMessage","referenceNode":"jadelk78r1"},{"id":"3543673f-ee62-4e18-82ef-c9e0ecc2e9a2","from":"Reference","name":"right","type":"","value":"","referenceId":"","referenceKey":"","referenceNode":""}],"condition":"is empty string"}],"conditionRelation":"and"},{"id":"99f4f4da-c3fd-4296-9b83-b0ff5a3ef595","type":"else","runnable":true,"conditions":[{"id":"d9733cad-0646-41f9-be5b-f39c9ac4d220","value":[],"condition":"true"}],"conditionRelation":"and"}],"jadeNodeConfigChangeIgnored":true}},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"conditionComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":2095.5463717870352,"y":7.0834256807963385,"id":"jade9gqfjk","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":8,"textX":0,"textY":0,"width":498.2736315046036,"hAlign":"center","height":-339.59533044270114,"italic":false,"margin":20,"toShape":"jade2es9ti","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade4h5wks","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-1|70695434-91fb-4493-87a4-e681e99d985e"},{"x":3641.320003291639,"y":-385.0119047619048,"id":"jade758stt","pad":6,"bold":false,"text":"智能表单","type":"manualCheckNodeState","dirty":true,"index":9,"width":360,"height":352,"italic":false,"flowMeta":{"task":{"type":"AIPP_SMART_FORM","imgUrl":"http://localhost:8001/api/jober/static/smart_form/e85bd769-0212-4305-b56b-01e77faa14ff/form.png","taskId":"115b557320ac41e1b449b8107aaa1781","formName":"面试助手3","converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"isCvFile_337878e3-7720-4ece-bf92-40d4a402625c","name":"isCvFile","type":"String","from":"Input","isRequired":true,"referenceNode":null,"referenceId":null,"referenceKey":null,"value":"null"},{"id":"instanceId_59f311b0-98b3-4292-8887-aba60c48e3e4","name":"instanceId","type":"String","from":"Reference","isRequired":true,"referenceNode":"_systemEnv","referenceId":"instanceId","referenceKey":"instanceId","value":["instanceId"]}],"outputParams":[{"id":"output_e5ae0061-8304-4327-958a-a6cd0f80100d","name":"output","type":"Object","value":[{"id":"ab8bf709-7374-4f33-90d6-72a64254f07e","name":"isCvFile","type":"String","value":"String"}]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"manual"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"manualCheckComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":3187.1533525195437,"y":-278.34520249139706,"id":"jadepke1tr","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":10,"textX":0,"textY":0,"width":454.1666507720952,"hAlign":"center","height":69.33329772949224,"italic":false,"margin":20,"toShape":"jade758stt","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade2es9ti","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-999"},{"x":2777.570003291639,"y":571.4880952380952,"id":"jadey32p7b","pad":6,"bold":false,"text":"AI提示词拼接工具","type":"toolInvokeNodeState","dirty":false,"index":11,"width":360,"height":185,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"appId"},{"name":"instanceId"},{"name":"input"}],"return":{"type":"string"},"uniqueName":"bdc009dc-969e-4839-b5d7-e9599009d50d"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"appId_0293cca7-c1ea-45b0-8ca8-b37a55f99303","from":"Reference","name":"appId","type":"String","value":["appId"],"isRequired":true,"description":"应用ID","referenceId":"appId","referenceKey":"appId","referenceNode":"_systemEnv"},{"id":"instanceId_93f70f4f-e2b6-4518-a53e-af0ccdc99d2c","from":"Reference","name":"instanceId","type":"String","value":["instanceId"],"isRequired":true,"description":"实例ID","referenceId":"instanceId","referenceKey":"instanceId","referenceNode":"_systemEnv"},{"id":"input_4ac2267a-fa7a-462c-ad8d-7b2936e0fac3","from":"Reference","name":"input","type":"String","value":["Question"],"isRequired":true,"description":"用户输入","referenceId":"input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb","referenceKey":"Question","referenceNode":"jade6qm5eg"}],"outputParams":[{"id":"output_65d89d72-205f-4bf6-bb6e-a11bebaa8497","name":"output","type":"String","value":[]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"toolInvokeComponent","focusBackColor":"white","sourcePlatform":"","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":3412.570003291639,"y":-1506.0119047619048,"id":"jade39q3lc","pad":6,"bold":false,"text":"大模型","type":"llmNodeState","dirty":false,"index":12,"width":360,"height":343,"italic":false,"flowMeta":{"jober":{"name":"","type":"general_jober","isAsync":"true","fitables":["modelengine.fit.jober.aipp.fitable.LLMComponent"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"009c2461-9c7e-4f85-bf43-ad887acd6a8a","from":"Input","name":"model","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"f78bde02-c766-4be5-bab6-70d2f6e6de6c","from":"Expand","name":"accessInfo","type":"Object","value":[{"id":"af11f474-c1ae-4e07-ad7e-92f378a9d19d","from":"Input","name":"serviceName","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"5fe88d69-b7bb-4ff3-abb1-a2fbeb4ec240","from":"Input","name":"tag","type":"String","value":"SiliconFlow,Jade"}]},{"id":"b23e18ed-c36f-4692-9917-4971f9c1659b","from":"Input","name":"temperature","type":"Number","value":0.7},{"id":"cd4194cd-db96-4164-8a45-9ca4ea30cd81","from":"Expand","name":"prompt","type":"Object","value":[{"id":"184c22f2-c6f5-4bb6-81ca-d214eb266b35","from":"Input","name":"template","type":"String","value":"你是一名经验丰富的专业面试官,请根据下文提供的简历信息,帮我梳理和回答以下问题:\n一、以“项目经历与专业技能总结”为题,总结候选人的项目经历、专业技能,格式如下:\n项目经历:(选择前3项经历,如果候选人项目经历不足3个,选择既有项目即可,不要做额外补充,从技术亮点、核心贡献两个维度进行总结)\n专业技能:(总结3类候选人掌握的专业技能,不总结人际沟通、团队协作、项目管理等非技术类技能)\n二、以“项目技术考察重点方向”为标题,请根据项目经历项,为每个项目建议2个技术方面的重点考察方向\n三、以“项目综合能力问题”为标题,请根据项目经历项,为每个项目准备2个考察综合能力(系统思维、影响他人的能力、学些能力、团队合作能力、抗压能力)的问题,不考察项目的具体技术实现\n四、以“专业技能重点考察方向”为标题,请根据专业技能项,为每个技能建议2个重点考察方向,考察候选人对编程语言和软件理论的掌握程度\n请用中文输出所有信息。\n以下为简历信息:\n{{cvAnalyzerprompt}}"},{"id":"30eacd51-29f6-4a90-8e17-4e4ffe1ddcc6","from":"Expand","name":"variables","type":"Object","value":[{"id":"155a2932-e37e-4c18-b14b-6d44b2a43ae4","from":"Reference","name":"isFileHandled","type":"Boolean","value":["output","isFileHandled"],"referenceId":"bf6d9282-2bf5-4826-9be1-10756ed6d728","referenceKey":"isFileHandled","referenceNode":"jadelk78r1"},{"id":"950c301c-81ba-41a6-bda5-aa37360e92a5","from":"Reference","name":"cvAnalyzerprompt","type":"String","value":["output","cvAnalyzerPrompt"],"referenceId":"9e3844fd-864d-4504-8f2b-dba7e919135b","referenceKey":"cvAnalyzerPrompt","referenceNode":"jadelk78r1"}]}]},{"id":"dded6123-d168-44b8-8779-738d61af4859","from":"Input","name":"maxMemoryRounds","type":"Integer","value":"3"},{"id":"a7b687f8-e993-4e5a-9a10-bb6df8df25d9","from":"Expand","name":"tools","type":"Array","value":[]},{"id":"6ec07829-b51c-4397-8670-59659e43036f","from":"Input","name":"systemPrompt","type":"String","value":""},{"id":"3733d6f2-0ea2-4dab-9f5b-423352d4af0b","from":"Input","name":"enableLog","type":"Boolean","value":true},{"id":"091115ca-4fd9-4265-8280-5d70cfcdcfca","from":"Expand","name":"knowledgeBases","type":"Array","value":[]}],"outputParams":[{"id":"b0a3bdd3-7a3c-4657-8288-4cf8a98d33a0","from":"Expand","name":"output","type":"Object","value":[{"id":"ec24f7c3-3c2e-4f9c-b5e1-3ef129e9ddf2","from":"Input","name":"llmOutput","type":"String","value":"","description":""},{"id":"51b4e7bb-19f5-4477-a2df-b974f8c97ba7","from":"Input","name":"reference","type":"Array","value":[],"description":""}]}],"tempReference":{}}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"llmComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":3187.1533525195437,"y":-325.3452101207916,"id":"jadeqraasb","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":13,"textX":0,"textY":0,"width":225.41665077209518,"hAlign":"center","height":-1009.1666946411133,"italic":false,"margin":20,"toShape":"jade39q3lc","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade2es9ti","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-0|e2cefcda-b6e2-4713-ac74-f2266a10bb19"},{"x":4292.748574720212,"y":-233.29761904761904,"id":"jadegqixt5","pad":6,"bold":false,"text":"条件_2","type":"conditionNodeCondition","dirty":false,"index":14,"width":600,"height":227,"italic":false,"flowMeta":{"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto","conditionParams":{"branches":[{"id":"bb4f8032-19cc-445b-a2ff-5cda77ae59e3","type":"if","runnable":true,"conditions":[{"id":"8085598f-b128-4749-940c-b4bda2619cba","value":[{"id":"9a656755-91fe-47b6-a54c-4b2be274978a","from":"Reference","name":"left","type":"String","value":["output","errorMessage"],"referenceId":"50617d76-27e1-49aa-a653-1947168d8937","referenceKey":"errorMessage","referenceNode":"jadelk78r1"},{"id":"37c01598-663a-476c-9a99-202b73131d4b","from":"Input","name":"right","type":"String","value":"","referenceId":"","referenceKey":"","referenceNode":""}],"condition":"is not empty string"}],"conditionRelation":"and"},{"id":"319689dd-4250-4f0d-9c1b-d071013ac712","type":"else","runnable":true,"conditions":[{"id":"737ba1f5-dbb5-401c-9bf5-e18597f02123","value":[],"condition":"true"}],"conditionRelation":"and"}],"jadeNodeConfigChangeIgnored":true}},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"conditionComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":5110.605717577355,"y":-790.4761904761904,"id":"jadem1n9u5","pad":6,"bold":false,"text":"大模型_1","type":"llmNodeState","dirty":false,"index":15,"width":360,"height":343,"italic":false,"flowMeta":{"jober":{"name":"","type":"general_jober","isAsync":"true","fitables":["modelengine.fit.jober.aipp.fitable.LLMComponent"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"b8519f34-6d5f-42cd-b949-438f44d3210e","from":"Input","name":"model","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"8c18f95c-1585-4e11-be07-de595ad13a92","from":"Expand","name":"accessInfo","type":"Object","value":[{"id":"8fd16d6c-b043-46dd-8b55-f0b8dee2615c","from":"Input","name":"serviceName","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"bd6f983c-f8e8-4538-ac66-60024d09c0a1","from":"Input","name":"tag","type":"String","value":"SiliconFlow,Jade"}]},{"id":"0263e85d-6125-4e27-ab7a-d2bc351cf414","from":"Input","name":"temperature","type":"Number","value":0.6},{"id":"1cf0a04f-2ca7-41fd-bec4-f9a1dd016c7f","from":"Expand","name":"prompt","type":"Object","value":[{"id":"a1335ac5-b02b-47c5-91d4-ecb945833ef3","from":"Input","name":"template","type":"String","value":"你是一名经验丰富的专业面试官,请根据下文提供的简历信息,帮我梳理和回答以下问题:\n一、以“项目经历与专业技能总结”为题,总结候选人的项目经历、专业技能,格式如下:\n项目经历:(选择前3项经历,如果候选人项目经历不足3个,选择既有项目即可,不要做额外补充,从技术亮点、核心贡献两个维度进行总结)\n专业技能:(总结3类候选人掌握的专业技能,不总结人际沟通、团队协作、项目管理等非技术类技能)\n二、以“项目技术考察重点方向”为标题,请根据项目经历项,为每个项目建议2个技术方面的重点考察方向\n三、以“项目综合能力问题”为标题,请根据项目经历项,为每个项目准备2个考察综合能力(系统思维、影响他人的能力、学些能力、团队合作能力、抗压能力)的问题,不考察项目的具体技术实现\n四、以“专业技能重点考察方向”为标题,请根据专业技能项,为每个技能建议2个重点考察方向,考察候选人对编程语言和软件理论的掌握程度\n请用中文输出所有信息。\n以下为简历信息:\n{{cvAnalyzerprompt}}"},{"id":"d6309a8b-d15b-4380-b6c6-ef000a9e5201","from":"Expand","name":"variables","type":"Object","value":[{"id":"25e56c39-1668-4428-8174-116b1a906bbd","from":"Reference","name":"isFileHandled","type":"Boolean","value":["output","isFileHandled"],"referenceId":"bf6d9282-2bf5-4826-9be1-10756ed6d728","referenceKey":"isFileHandled","referenceNode":"jadelk78r1"},{"id":"498b5c92-92ef-4ebf-9346-f2847fb88a3a","from":"Reference","name":"cvAnalyzerprompt","type":"String","value":["output","cvAnalyzerPrompt"],"referenceId":"9e3844fd-864d-4504-8f2b-dba7e919135b","referenceKey":"cvAnalyzerPrompt","referenceNode":"jadelk78r1"}]}]},{"id":"dded6123-d168-44b8-8779-738d61af4859","from":"Input","name":"maxMemoryRounds","type":"Integer","value":"3"},{"id":"e1ad1e33-6a7c-451d-ba5a-158595cb2af8","from":"Expand","name":"tools","type":"Array","value":[]},{"id":"3c3f111b-85ec-42c0-af8e-f3352518a29b","from":"Input","name":"systemPrompt","type":"String","value":""},{"id":"1cd6884e-c3e3-483b-baeb-d592c4f58ebf","from":"Input","name":"enableLog","type":"Boolean","value":true},{"id":"7d01bbd3-df9c-4884-8d02-54b195096857","from":"Expand","name":"knowledgeBases","type":"Array","value":[]}],"outputParams":[{"id":"9e2fb06e-0276-48c8-8606-c36a31cf93b0","from":"Expand","name":"output","type":"Object","value":[{"id":"3eab6484-fa97-4e06-a0cc-263d3ed5274a","from":"Input","name":"llmOutput","type":"String","value":"","description":""},{"id":"d438bc29-a627-44c2-bd57-4bf64eceba5a","from":"Input","name":"reference","type":"Array","value":[],"description":""}]}],"tempReference":{}}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"llmComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":4886.081819043942,"y":-112.63091010139105,"id":"jadee79arc","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":16,"textX":0,"textY":0,"width":224.52389853341265,"hAlign":"center","height":-506.3452803747993,"italic":false,"margin":20,"toShape":"jadem1n9u5","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadegqixt5","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-0|bb4f8032-19cc-445b-a2ff-5cda77ae59e3"},{"x":3451.3200032916393,"y":321.4880952380952,"id":"jadedzi58q","pad":6,"bold":false,"text":"大模型_2","type":"llmNodeState","dirty":false,"index":17,"width":360,"height":343,"italic":false,"flowMeta":{"jober":{"name":"","type":"general_jober","isAsync":"true","fitables":["modelengine.fit.jober.aipp.fitable.LLMComponent"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"1d11a986-7dc9-4ba3-84d8-3f15810ae587","from":"Input","name":"model","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"4ebabb28-8981-46d6-a458-953082c01f9a","from":"Expand","name":"accessInfo","type":"Object","value":[{"id":"5af05d34-4b6e-435f-872c-96fa990a1476","from":"Input","name":"serviceName","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"ea9b2985-96e6-480c-b065-c7cce122b57a","from":"Input","name":"tag","type":"String","value":"SiliconFlow,Jade"}]},{"id":"32801848-b75f-4ac0-b050-f3dfbd57e3ad","from":"Input","name":"temperature","type":"Number","value":0.7},{"id":"1891af57-83ff-458d-ac70-d35a7af89705","from":"Expand","name":"prompt","type":"Object","value":[{"id":"e9e29b94-85e2-47c8-84d2-055a77660b88","from":"Input","name":"template","type":"String","value":"{{query}}"},{"id":"29e702cd-b721-442a-9893-81298cfa2953","from":"Expand","name":"variables","type":"Object","value":[{"id":"c34fda11-8f17-4c85-96aa-35c5bb311e2a","from":"Reference","name":"query","type":"String","value":["output"],"referenceId":"output_65d89d72-205f-4bf6-bb6e-a11bebaa8497","referenceKey":"output","referenceNode":"jadey32p7b"}]}]},{"id":"dded6123-d168-44b8-8779-738d61af4859","from":"Input","name":"maxMemoryRounds","type":"Integer","value":"3"},{"id":"2b06515f-c9d5-41bd-bfbe-e1b1382d6ec1","from":"Expand","name":"tools","type":"Array","value":[]},{"id":"0b5e2451-ed5f-46b2-8600-8893963296e4","from":"Input","name":"systemPrompt","type":"String","value":""},{"id":"acb67126-1a1b-4430-946e-30e768712333","from":"Input","name":"enableLog","type":"Boolean","value":true},{"id":"f7d670ab-1cad-4028-a9c8-c84a5a170ac1","from":"Expand","name":"knowledgeBases","type":"Array","value":[]}],"outputParams":[{"id":"29ed2025-1eaa-462a-a37a-e05677eef8c4","from":"Expand","name":"output","type":"Object","value":[{"id":"451cf45e-6250-4f08-9d73-51d94433d749","from":"Input","name":"llmOutput","type":"String","value":"","description":""},{"id":"dab1caf6-f171-4f6d-beb7-97c913fa1637","from":"Input","name":"reference","type":"Array","value":[],"description":""}]}],"tempReference":{}}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"llmComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":3137.570003291639,"y":663.9880952380952,"id":"jadeqdcs4x","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":18,"textX":0,"textY":0,"width":313.75000000000045,"hAlign":"center","height":-171,"italic":false,"margin":20,"toShape":"jadedzi58q","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadey32p7b","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":4101.320003291639,"y":470.2380952380952,"id":"jadefw1zfk","pad":6,"bold":false,"text":"结束_2","type":"endNodeEnd","dirty":false,"index":19,"width":360,"height":181,"italic":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"b6d32b12-26db-4a72-974b-7e197326e653","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"5c0e817c-8851-4350-9c5b-0ac5792a4e71","from":"Reference","name":"output","type":"String","value":["output","llmOutput"],"editable":true,"isRequired":true,"description":"","referenceId":"451cf45e-6250-4f08-9d73-51d94433d749","referenceKey":"llmOutput","referenceNode":"jadedzi58q"}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"5e7a8388-8193-4f2d-a44a-094ab6fc576b","from":"Input","name":"enableLog","type":"Boolean","value":false}],"outputParams":[{}]}}},"triggerMode":"auto"},"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderWidth":1,"mouseInBorderColor":"#B1B1B7"},{"x":3811.3200032916393,"y":492.9880952380952,"id":"jadecvs6at","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":20,"textX":0,"textY":0,"width":290,"hAlign":"center","height":67.75,"italic":false,"margin":20,"toShape":"jadefw1zfk","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadedzi58q","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":5366.320003291639,"y":447.7380952380952,"id":"jadexn70e2","pad":6,"bold":false,"text":"结束_4","type":"endNodeEnd","dirty":false,"index":21,"width":360,"height":181,"italic":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"5268f248-07c8-4871-8732-e007316214fc","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"1434e18b-bd1b-4286-bc2f-cfb2cb1e9c1e","from":"Reference","name":"output","type":"String","value":["output","errorMessage"],"editable":true,"isRequired":true,"description":"","referenceId":"50617d76-27e1-49aa-a653-1947168d8937","referenceKey":"errorMessage","referenceNode":"jadelk78r1"}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"e0c88e2d-1373-4606-8aaf-2d8ff330a27f","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderWidth":1,"mouseInBorderColor":"#B1B1B7"},{"x":4886.081819043942,"y":-65.6309930710566,"id":"jade2u3je1","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":22,"textX":0,"textY":0,"width":480.23818424769706,"hAlign":"center","height":603.8690883091517,"italic":false,"margin":20,"toShape":"jadexn70e2","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadegqixt5","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-999"},{"x":4001.320003291639,"y":-209.01190476190482,"id":"jadet1dvap","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":23,"textX":0,"textY":0,"width":291.4285714285729,"hAlign":"center","height":89.21428571428578,"italic":false,"margin":20,"toShape":"jadegqixt5","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade758stt","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":5660.4628604345,"y":-664.6309523809527,"id":"jade9puqh3","pad":6,"bold":false,"text":"文本提取","type":"textExtractionNodeState","dirty":false,"index":24,"width":360,"height":333,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"extractParam"},{"name":"memoryConfig"},{"name":"memorySwitch"},{"name":"histories"}],"return":{"type":"object"},"uniqueName":"3bca6a3f-9623-4228-b120-1a5e0d41dc14"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"stageDesc":"正在生成推荐面试问题...","inputParams":[{"id":"extractParam_e7356380-7e19-4def-a1b5-3f7fb62c06af","from":"Expand","name":"extractParam","type":"Object","value":[{"id":"text_da536c71-b299-40f0-8bca-720364fe20a0","from":"Reference","name":"text","type":"String","value":["output","llmOutput"],"referenceId":"3eab6484-fa97-4e06-a0cc-263d3ed5274a","referenceKey":"llmOutput","referenceNode":"jadem1n9u5"},{"id":"desc_ddf67a20-776a-4c29-b741-9b5ed31a5104","from":"Input","name":"desc","type":"String","value":""},{"id":"outputSchema_1d2b703c-237b-40c9-9286-0d427c2b7312","from":"Input","name":"outputSchema","type":"String","value":"{\"type\":\"object\",\"properties\":{\"questions\":{\"type\":\"array\",\"description\":\"针对简历的问题列表\"}}}"},{"id":"0d0a1d90-49b7-4bc6-af15-4c1c2905dadd","from":"Expand","name":"accessInfo","type":"Object","value":[{"id":"928af3d3-8671-4d93-a091-fd1662b74474","from":"Input","name":"serviceName","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"2ee47e96-94a7-4ee4-b616-36201338a7e4","from":"Input","name":"tag","type":"String","value":"SiliconFlow,Jade"}]},{"id":"temperature_236f8466-2e34-4b41-a199-a8d2843261ac","from":"Input","name":"temperature","type":"Number","value":"0.3"}]},{"id":"memoryConfig_88d92098-2b56-4757-9fb6-08f3628e19ce","from":"Expand","name":"memoryConfig","type":"Object","value":[{"id":"windowAlg_91b53de6-83c0-44eb-bf92-2585268d7526","from":"Input","name":"windowAlg","type":"String","value":"buffer_window"},{"id":"serializeAlg_f77ab974-f9c6-4ad3-9bcd-818fad8d96e2","from":"Input","name":"serializeAlg","type":"String","value":"full"},{"id":"property_7894b9b6-55e0-4b6e-acf8-d430e396d00c","from":"Input","name":"property","type":"Integer","value":"0"}]},{"id":"memorySwitch_a59975ed-71a1-4647-83b1-20c3aefe44f1","from":"Input","name":"memorySwitch","type":"Boolean","value":false},{"id":"histories_643f02b9-d709-4fc9-a04b-f9e590d96786","from":"Reference","name":"histories","type":"Array","value":["memories"],"referenceId":"memories","referenceKey":"memories","referenceNode":"_systemEnv"}],"outputParams":[{"id":"28eac6e6-2877-426a-a22c-5e425bfd2b1e","from":"Expand","name":"output","type":"Object","value":[{"id":"fa30b424-be71-443d-b18d-fbd32144e049","from":"Expand","name":"extractedParams","type":"Object","value":[{"id":"c19b4740-ce95-4483-b789-47286a19096b","from":"Input","name":"questions","type":"Array","value":"","description":"针对简历的问题列表"}]},{"id":"success_67bf7577-82ac-47b8-b8fa-7d7ebc53513a","from":"Input","name":"success","type":"Boolean","value":"Boolean"}]}],"enableStageDesc":true,"jadeNodeConfigChangeIgnored":false}}},"stageDesc":"正在生成推荐面试问题...","joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto","enableStageDesc":true},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"textExtractionComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":5470.605717577355,"y":-618.9761904761904,"id":"jade79wnvk","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":25,"textX":0,"textY":0,"width":189.85714285714494,"hAlign":"center","height":120.84523809523762,"italic":false,"margin":20,"toShape":"jade9puqh3","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadem1n9u5","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":2095.5463717870352,"y":63.08343664805096,"id":"jadekuuju4","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":26,"textX":0,"textY":0,"width":631.4179139272496,"hAlign":"center","height":124.67846811385363,"italic":false,"margin":20,"toShape":"jadesoux5i","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade4h5wks","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-1|32f55d87-ebf2-464f-9f78-ecd62e36f2dc"},{"x":2095.5463717870352,"y":110.08335367838541,"id":"jade1o7wna","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":27,"textX":0,"textY":0,"width":682.0236315046036,"hAlign":"center","height":553.9047415597098,"italic":false,"margin":20,"toShape":"jadey32p7b","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade4h5wks","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-999"},{"x":6189.070031819352,"y":-567.4536159624079,"id":"jademrtwtm","pad":6,"bold":false,"text":"智能表单_1","type":"manualCheckNodeState","dirty":true,"index":28,"width":360,"height":473,"italic":false,"flowMeta":{"task":{"type":"AIPP_SMART_FORM","imgUrl":"http://localhost:8001/api/jober/static/smart_form/7958d851-8062-49bd-b21e-d7372991c905/form.png","taskId":"d496c444a3174beabbcec5441aed40e2","formName":"面试评价表单","converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"questions_7e08f8cb-47ae-47df-b1a7-aaf62d7be03f","name":"questions","type":"Array","from":"Reference","isRequired":true,"referenceNode":"jade9puqh3","referenceId":"c19b4740-ce95-4483-b789-47286a19096b","referenceKey":"questions","value":["output","extractedParams","questions"]}],"outputParams":[{"id":"output_f00ac42b-c893-479b-b0ee-5cbe996c885a","name":"output","type":"Object","value":[{"id":"27aa7c57-e31e-482a-98f0-bdbcc21a6138","name":"qeMap","type":"Array","value":"Array"}]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"manual"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"manualCheckComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":6020.4628604345,"y":-498.13095238095275,"id":"jadem1n5oj","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":29,"textX":0,"textY":0,"width":168.60717138485234,"hAlign":"center","height":167.17733641854488,"italic":false,"margin":20,"toShape":"jademrtwtm","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade9puqh3","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":6915.736698486009,"y":-872.4536159624076,"id":"jadezaa7cy","pad":6,"bold":false,"text":"大模型_3","type":"llmNodeState","dirty":true,"index":30,"width":360,"height":411,"italic":false,"flowMeta":{"jober":{"name":"","type":"general_jober","isAsync":"true","fitables":["modelengine.fit.jober.aipp.fitable.LLMComponent"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"fcd5702a-23f8-482e-a193-945676ca99ef","from":"Input","name":"model","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"3a0ce6b3-8e98-4045-9323-957415084fba","from":"Expand","name":"accessInfo","type":"Object","value":[{"id":"35594014-3ca3-46b7-ac71-acd76b443952","from":"Input","name":"serviceName","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"f3d8a723-81d0-48e2-b671-224caf7f0f17","from":"Input","name":"tag","type":"String","value":"SiliconFlow,Jade"}]},{"id":"1bf48ee9-ac82-4df5-be74-df96958f3f05","from":"Input","name":"temperature","type":"Number","value":"0.3"},{"id":"eb7a528c-c012-4374-bbf0-4a88e4727334","from":"Expand","name":"prompt","type":"Object","value":[{"id":"aeb114f8-9032-4be6-b9f2-a0301fd5cf05","from":"Input","name":"template","type":"String","value":"你是一名经验丰富的专业面试官,当前你已经完成了面试提问,并对面试者的回答进行的评价。请根据以下信息,帮我总结面试者的整体表现情况:\n\n请用中文输出所有信息,严格按照我给你的信息进行总结,不要杜撰不存在的事情。\n\n以下为面试者回答的问题以及你的评价, 其中问题内容在“question:”后,评价内容在“evaluate”后。\n{{qeMap}}"},{"id":"c4b818ba-1f8a-4f18-b196-c31bba136185","from":"Expand","name":"variables","type":"Object","value":[{"id":"c709baca-8d63-4dd4-bced-e2762386a86a","from":"Reference","name":"qeMap","type":"Array","value":["output","qeMap"],"referenceId":"27aa7c57-e31e-482a-98f0-bdbcc21a6138","referenceKey":"qeMap","referenceNode":"jademrtwtm"}]}]},{"id":"59d76a4e-1fd8-4950-9f84-6ebc17b7553c","from":"Input","name":"maxMemoryRounds","type":"Integer","value":"3"},{"id":"a5b51a1c-68d7-4d8b-8791-9f788cd52f22","from":"Expand","name":"tools","type":"Array","value":[]},{"id":"e1322719-1397-4dc8-a21e-674e1fb0eec0","from":"Input","name":"systemPrompt","type":"String","value":""},{"id":"892cf7e4-85c2-428d-b45b-0112a5978bd3","from":"Input","name":"enableLog","type":"Boolean","value":true},{"id":"417ec551-d27e-49bc-b8ee-002a4bbd5b48","from":"Expand","name":"knowledgeBases","type":"Array","value":[]}],"outputParams":[{"id":"58e76471-8fb4-456d-9415-88192b008bd0","from":"Expand","name":"output","type":"Object","value":[{"id":"23891b11-11a1-4915-80d1-53c515335dd5","from":"Input","name":"llmOutput","type":"String","value":"","description":""},{"id":"c6b85478-009a-4ade-8bc2-a288e226e6db","from":"Input","name":"reference","type":"Array","value":[],"description":""}]}],"tempReference":{}}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"llmComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":6549.070031819352,"y":-330.95361596240787,"id":"jadeeeqmda","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":31,"textX":0,"textY":0,"width":366.66666666665697,"hAlign":"center","height":-335.9999999999998,"italic":false,"margin":20,"toShape":"jadezaa7cy","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jademrtwtm","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":7634.070031819344,"y":-579.1202826290745,"id":"jadeohika6","pad":6,"bold":false,"text":"结束_3","type":"endNodeEnd","dirty":false,"index":32,"width":360,"height":181,"italic":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"73bad02b-26cb-417a-b1e0-85de07f398fa","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"aa9bc2e9-6dbf-4a6e-8d05-772f148da36e","from":"Input","name":"output","type":"String","value":"面试完成","editable":true,"isRequired":true,"description":""}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"519710b6-f147-4cdb-98e7-b60aa0600be5","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderWidth":1,"mouseInBorderColor":"#B1B1B7"},{"x":7275.736698486009,"y":-666.9536159624076,"id":"jadey8ppgc","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":33,"textX":0,"textY":0,"width":358.33333333333485,"hAlign":"center","height":178.33333333333314,"italic":false,"margin":20,"toShape":"jadeohika6","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadezaa7cy","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":4079.0700318193494,"y":-1339.1202826290773,"id":"jadelwn1gx","pad":6,"bold":false,"text":"文本提取_1","type":"textExtractionNodeState","dirty":false,"index":34,"width":360,"height":333,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"extractParam"},{"name":"memoryConfig"},{"name":"memorySwitch"},{"name":"histories"}],"return":{"type":"object"},"uniqueName":"3bca6a3f-9623-4228-b120-1a5e0d41dc14"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"stageDesc":"正在生成推荐面试问题...","inputParams":[{"id":"c5fcdff0-2822-49c1-805d-242d38acf952","from":"Expand","name":"extractParam","type":"Object","value":[{"id":"0fc3e0ac-307a-4c9c-8446-da801ca2a86e","from":"Reference","name":"text","type":"String","value":["output","llmOutput"],"referenceId":"ec24f7c3-3c2e-4f9c-b5e1-3ef129e9ddf2","referenceKey":"llmOutput","referenceNode":"jade39q3lc"},{"id":"bb3f946b-a504-44c9-a9e6-7271052ca40d","from":"Input","name":"desc","type":"String","value":""},{"id":"e99d0bd6-62f8-4f1b-80e9-72f7a2a19687","from":"Input","name":"outputSchema","type":"String","value":"{\"type\":\"object\",\"properties\":{\"questions\":{\"type\":\"array\",\"description\":\"针对简历的问题列表\"}}}"},{"id":"c89f3da6-f54f-46d5-bb2d-63c4126aa682","from":"Expand","name":"accessInfo","type":"Object","value":[{"id":"de26c850-03f2-4e24-80c2-aedd0482a463","from":"Input","name":"serviceName","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"a8bde3eb-1f41-4e9c-b591-1ea8637da7c7","from":"Input","name":"tag","type":"String","value":"SiliconFlow,admin"}]},{"id":"52e82f8a-d0ec-4448-a8fa-a8ecc021a80d","from":"Input","name":"temperature","type":"Number","value":"0.3"}]},{"id":"4fb27b26-d072-41d3-a6ab-7ed461198348","from":"Expand","name":"memoryConfig","type":"Object","value":[{"id":"73c5d5a6-ee64-4eae-b8e0-6afef02ce1f1","from":"Input","name":"windowAlg","type":"String","value":"buffer_window"},{"id":"301ee3a6-6e1d-4046-bb13-2ab2b29e5892","from":"Input","name":"serializeAlg","type":"String","value":"full"},{"id":"8d0d7545-9b23-41f1-9d58-3cdf5203ea71","from":"Input","name":"property","type":"Integer","value":"0"}]},{"id":"bc1fbeed-2b96-4bfd-9810-45fd2f0e01df","from":"Input","name":"memorySwitch","type":"Boolean","value":false},{"id":"64c7d8a7-daae-44d9-9d42-f7d7ead0f5f8","from":"Reference","name":"histories","type":"Array","value":["memories"],"referenceId":"memories","referenceKey":"memories","referenceNode":"_systemEnv"}],"outputParams":[{"id":"225af02f-2c58-4e8d-bcb9-d56c6eb4b426","from":"Expand","name":"output","type":"Object","value":[{"id":"13ee6c77-3f84-4758-9ea1-6d1a17923ae4","from":"Expand","name":"extractedParams","type":"Object","value":[{"id":"b56c96ec-0b9f-44d3-8e8b-b952d171c580","from":"Input","name":"questions","type":"Array","value":"","description":"针对简历的问题列表"}]},{"id":"e545a304-53b9-40de-a559-f7346aa69a01","from":"Input","name":"success","type":"Boolean","value":"Boolean"}]}],"enableStageDesc":true,"jadeNodeConfigChangeIgnored":false}}},"stageDesc":"正在生成推荐面试问题...","joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto","enableStageDesc":true},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"textExtractionComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":3772.570003291639,"y":-1334.5119047619048,"id":"jade9m2sga","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":35,"textX":0,"textY":0,"width":306.5000285277106,"hAlign":"center","height":161.89162213282748,"italic":false,"margin":20,"toShape":"jadelwn1gx","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade39q3lc","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":4615.403365152686,"y":-1370.786949295743,"id":"jade22p95w","pad":6,"bold":false,"text":"智能表单_2","type":"manualCheckNodeState","dirty":true,"index":36,"width":360,"height":314,"italic":false,"flowMeta":{"task":{"type":"AIPP_SMART_FORM","imgUrl":"http://localhost:8001/api/jober/static/smart_form/7958d851-8062-49bd-b21e-d7372991c905/form.png","taskId":"d496c444a3174beabbcec5441aed40e2","formName":"面试评价表单","converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"questions_f1544f8f-d6ec-4dc2-97d8-dbc05a5fd33b","name":"questions","type":"Array","from":"Reference","isRequired":true,"referenceNode":"jadelwn1gx","referenceId":"b56c96ec-0b9f-44d3-8e8b-b952d171c580","referenceKey":"questions","value":["output","extractedParams","questions"]}],"outputParams":[{"id":"output_4daf0f63-1cc3-46f9-b42a-e36e953141f7","name":"output","type":"Object","value":[{"id":"6c87c01e-4cd3-483e-a646-6b1f63597e91","name":"qeMap","type":"Array","value":"Array"}]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"manual"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"manualCheckComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":4439.070031819349,"y":-1172.6202826290773,"id":"jade5q1tkm","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":37,"textX":0,"textY":0,"width":176.33333333333667,"hAlign":"center","height":-41.166666666665606,"italic":false,"margin":20,"toShape":"jade22p95w","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadelwn1gx","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":5333.0700318193485,"y":-1757.7869492957443,"id":"jadeuhtp3b","pad":6,"bold":false,"text":"大模型_4","type":"llmNodeState","dirty":false,"index":38,"width":360,"height":411,"italic":false,"flowMeta":{"jober":{"name":"","type":"general_jober","isAsync":"true","fitables":["modelengine.fit.jober.aipp.fitable.LLMComponent"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"a3bd214d-556f-4f1e-beac-726aec372264","from":"Input","name":"model","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"a2a846ac-8371-42f5-9617-aab697031aad","from":"Expand","name":"accessInfo","type":"Object","value":[{"id":"f313cfeb-6029-4d0d-b938-026ffa7cca1e","from":"Input","name":"serviceName","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"48dd4324-a11f-4d7e-bae8-f4874f526ab7","from":"Input","name":"tag","type":"String","value":"SiliconFlow,Jade"}]},{"id":"e05bdaeb-3cda-40a5-9144-e564f494b002","from":"Input","name":"temperature","type":"Number","value":"0.3"},{"id":"ee5b87db-2bb7-40a9-8836-658a2047ad98","from":"Expand","name":"prompt","type":"Object","value":[{"id":"41de7c20-0de4-4a75-b1a1-898c2ac9c2fd","from":"Input","name":"template","type":"String","value":"你是一名经验丰富的专业面试官,当前你已经完成了面试提问,并对面试者的回答进行的评价。请根据以下信息,帮我总结面试者的整体表现情况:\n\n请用中文输出所有信息,严格按照我给你的信息进行总结,不要杜撰不存在的事情。\n\n以下为面试者回答的问题以及你的评价, 其中问题内容在“question:”后,评价内容在“evaluate”后。\n{{qeMap}}"},{"id":"af7e6d67-5162-4c90-884f-9299e76ffd5a","from":"Expand","name":"variables","type":"Object","value":[{"id":"2e069130-be89-4292-8a00-9827309710dc","from":"Reference","name":"qeMap","type":"Array","value":["output","qeMap"],"referenceId":"6c87c01e-4cd3-483e-a646-6b1f63597e91","referenceKey":"qeMap","referenceNode":"jade22p95w"}]}]},{"id":"52e1fdbe-6598-4a0e-8a5c-1bb8de01534e","from":"Input","name":"maxMemoryRounds","type":"Integer","value":"3"},{"id":"9098e23e-62e6-4272-a746-7063e45710aa","from":"Expand","name":"tools","type":"Array","value":[]},{"id":"f3dd4d91-9e84-45c4-bca2-5c27c4ae479a","from":"Input","name":"systemPrompt","type":"String","value":""},{"id":"d443924b-69a7-4519-a186-85b6bcd14edd","from":"Input","name":"enableLog","type":"Boolean","value":true},{"id":"6ab5352d-1753-4f90-9c6b-2991d69dddc4","from":"Expand","name":"knowledgeBases","type":"Array","value":[]}],"outputParams":[{"id":"bf5d2b76-30ca-4cd6-bdfd-a61d70b1cf85","from":"Expand","name":"output","type":"Object","value":[{"id":"8bb45d25-fc74-45d5-8777-21670075be2e","from":"Input","name":"llmOutput","type":"String","value":"","description":""},{"id":"2f382582-cd0c-4a4d-a994-58ba4b07dd97","from":"Input","name":"reference","type":"Array","value":[],"description":""}]}],"tempReference":{}}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"llmComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":4975.403365152686,"y":-1213.786949295743,"id":"jade5xr7fy","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":39,"textX":0,"textY":0,"width":357.6666666666624,"hAlign":"center","height":-338.50000000000136,"italic":false,"margin":20,"toShape":"jadeuhtp3b","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade22p95w","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":6125.736698486013,"y":-1567.4536159624104,"id":"jadehvxxbs","pad":6,"bold":false,"text":"结束_1","type":"endNodeEnd","dirty":false,"index":40,"width":360,"height":181,"italic":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"6d59e150-b944-42bc-a131-9e3d240f3d06","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"a1c67227-e131-4f88-93aa-e1840f3621ea","from":"Reference","name":"output","type":"String","value":["output","llmOutput"],"editable":true,"isRequired":true,"description":"","referenceId":"8bb45d25-fc74-45d5-8777-21670075be2e","referenceKey":"llmOutput","referenceNode":"jadeuhtp3b"}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"b8e2ec79-b8a6-46b0-9e20-14662fabd988","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":5693.0700318193485,"y":-1552.2869492957443,"id":"jade3xtwme","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":41,"textX":0,"textY":0,"width":432.66666666666424,"hAlign":"center","height":75.33333333333394,"italic":false,"margin":20,"toShape":"jadehvxxbs","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadeuhtp3b","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":1246.034289005924,"y":62.84523809523802,"id":"jade7dr3c3","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":42,"textX":0,"textY":0,"width":256.1785714285727,"hAlign":"center","height":-34.928571428571274,"italic":false,"margin":20,"toShape":"jade4h5wks","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadelk78r1","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"}]}],"enableText":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.fitable.FlowInfoCallback"]},"enableOutputScope":true,"exceptionFitables":["modelengine.fit.jober.aipp.fitable.AippFlowExceptionHandler","modelengine.fit.jober.fitable.FlowInfoException"]},"version":"1.0.0"}', 'Jade', '2025-04-28 08:39:01.380192', 'Jade', '2025-04-28 08:39:01.90698', NULL, 'f') ON CONFLICT (id, version) DO NOTHING; + +INSERT INTO "public"."task_new" ("id", "name", "version", "template_id", "tenant_id", "attributes", "created_by", "created_at", "updated_by", "updated_at", "is_deleted") VALUES ('ea29812bde61441b8f530d7a08dcd7a6', '面试助手-v3', '1.0.0', 'ec6f8e93a80541bb930fc22678ef7043', '31f20efc7e0848deab6a6bc10fc3021e', '{"app_id": "fd8166b5005e4d66a77d318f3b1dd5e5", "version": "1.0.0", "aipp_type": "NORMAL", "meta_icon": "", "publish_at": "2025-04-28T08:39:03.015862656", "description": "", "meta_status": "active", "unique_name": "e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf", "flow_config_id": "24f72de428124eb19fd12db36ebcfd34", "flow_definition_id": "0e58b12cdafd476a81d4da70dce8175a", "publish_update_log": "", "publish_description": ""}', 'Jade', '2025-04-28 08:39:01.860385', 'Jade', '2025-04-28 08:39:03.032764', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('AI简历解析插件', '{"name":"AI简历解析插件","description":"解析简历内容,填充提示词模板,输出大模型提示词","parameters":{"type":"object","properties":{"fileUrl":{"type":"string","description":"简历文件URL"},"instanceId":{"type":"string","description":"实例ID"}},"required":["fileUrl","instanceId"]},"order":["fileUrl","instanceId"],"return":{"description":"Map结构包含提示词,插件处理过文件的标志位以及错误信息","type":"object","properties":{"isFileHandled":{"type":"boolean"},"cvAnalyzerPrompt":{"type":"string"},"errorMessage":{"type":"string"}},"converter":""}}', '{"FIT":{"fitableId":"cv.analyzer","genericableId":"modelengine.fit.jober.aipp.tool.cv.analyzer"}}', '{}', '8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8', '1.0.0', 't', '8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8', '8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8', '8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8') ON CONFLICT("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('AI提示词拼接工具', '{"name":"AI提示词拼接工具","description":"这是一个对用户输入提示词进行拼接的工具。","parameters":{"type":"object","properties":{"appId":{"type":"string","description":"应用ID"},"instanceId":{"type":"string","description":"实例ID"},"input":{"type":"string","description":"用户输入"}},"required":["appId","instanceId","input"],"order":["appId","instanceId","input"]},"return":{"type":"string"}}', '{"FIT":{"genericableId":"modelengine.fit.jober.aipp.tool.prompt.word.splice","fitableId":"prompt.word.splice","alias":"prompt.word.splice"}}', '{}', 'bdc009dc-969e-4839-b5d7-e9599009d50d', '1.0.0', 't', 'bdc009dc-969e-4839-b5d7-e9599009d50d', 'bdc009dc-969e-4839-b5d7-e9599009d50d', 'bdc009dc-969e-4839-b5d7-e9599009d50d') ON CONFLICT("unique_name", "version") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('面试助手-v3', '{"name":"面试助手-v3","description":"","manualIntervention":false,"parameters":{"type":"object","properties":{"aippId":{"description":"the aipp id of the waterFlow tool","default":"ec6f8e93a80541bb930fc22678ef7043","type":"string"},"tenantId":{"description":"the tenant id of the waterFlow tool","default":"31f20efc7e0848deab6a6bc10fc3021e","type":"string"},"inputParams":{"type":"object","properties":{"Question":{"type":"String","description":"这是用户输入的问题。"}},"required":["Question"],"order":["Question"]},"version":{"description":"the aipp version of the waterFlow tool","default":"1.0.0","type":"string"}},"required":["tenantId","aippId","version","inputParams"]},"return":{"type":"object","properties":{}},"order":["tenantId","aippId","version","inputParams"]}', '{"FIT":{"fitableId":"water.flow.invoke","genericableId":"07b51bd246594c159d403164369ce1db"},"APP":{"aippId":"ec6f8e93a80541bb930fc22678ef7043","appCategory":"chatbot","version":"1.0.0","appId":"fd8166b5005e4d66a77d318f3b1dd5e5"}}', 'null', 'e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf', '1.0.0', 't', 'e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf', 'e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf', 'e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf') ON CONFLICT("unique_name", "version") DO NOTHING; + +INSERT INTO "public"."store_app" ("source", "icon", "app_category", "tool_name", "tool_unique_name") VALUES ('system', '', 'chatbot', '面试助手-v3', 'e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf') ON CONFLICT("tool_unique_name") DO NOTHING;; + +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8', '{"name":"AI简历解析插件","description":"解析简历内容,填充提示词模板,输出大模型提示词","parameters":{"type":"object","properties":{"fileUrl":{"type":"string","description":"简历文件URL"},"instanceId":{"type":"string","description":"实例ID"}},"required":["fileUrl","instanceId"]},"order":["fileUrl","instanceId"],"return":{"description":"Map结构包含提示词,插件处理过文件的标志位以及错误信息","type":"object","properties":{"isFileHandled":{"type":"boolean"},"cvAnalyzerPrompt":{"type":"string"},"errorMessage":{"type":"string"}},"converter":""}}', '8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8') ON CONFLICT("name", "definition_group_name") DO NOTHING; +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('bdc009dc-969e-4839-b5d7-e9599009d50d', '{"name":"AI提示词拼接工具","description":"这是一个对用户输入提示词进行拼接的工具。","parameters":{"type":"object","properties":{"appId":{"type":"string","description":"应用ID"},"instanceId":{"type":"string","description":"实例ID"},"input":{"type":"string","description":"用户输入"}},"required":["appId","instanceId","input"],"order":["appId","instanceId","input"]},"return":{"type":"string"}}', 'bdc009dc-969e-4839-b5d7-e9599009d50d') ON CONFLICT("name", "definition_group_name") DO NOTHING; +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf', '{"name":"e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf","description":"","manualIntervention":false,"parameters":{"type":"object","properties":{"aippId":{"description":"the aipp id of the waterFlow tool","default":"ec6f8e93a80541bb930fc22678ef7043","type":"string"},"tenantId":{"description":"the tenant id of the waterFlow tool","default":"31f20efc7e0848deab6a6bc10fc3021e","type":"string"},"inputParams":{"type":"object","properties":{"Question":{"type":"String","description":"这是用户输入的问题。"}},"required":["Question"],"order":["Question"]},"version":{"description":"the aipp version of the waterFlow tool","default":"1.0.0","type":"string"}},"required":["tenantId","aippId","version","inputParams"]},"return":{"type":"object","properties":{}},"order":["tenantId","aippId","version","inputParams"]}', 'e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf') ON CONFLICT("name", "definition_group_name") DO NOTHING; + +INSERT INTO "public"."store_definition_group" ("name", "summary", "description", "extensions") VALUES ('e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf', 'no summary', 'no desc', 'null') ON CONFLICT("name") DO NOTHING; + +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('bdc009dc-969e-4839-b5d7-e9599009d50d', 'FIT') ON CONFLICT("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('bdc009dc-969e-4839-b5d7-e9599009d50d', 'BUILTIN') ON CONFLICT("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8', 'FIT') ON CONFLICT("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8', 'BUILTIN') ON CONFLICT("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf', 'APP') ON CONFLICT("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf', 'APP_TYPE_4DB152B24F94473AB683B1ACBFE3C865') ON CONFLICT("tool_unique_name", "name") DO NOTHING; + +INSERT INTO "public"."store_tool_group" ("name", "definition_group_name", "summary", "description", "extensions") VALUES ('e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf', 'e8bbd29c-e529-4c8e-abdb-b355b2d8dcdf', 'no summary', 'no desc', 'null') ON CONFLICT("name") DO NOTHING; + +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin", "source", "icon") VALUES ('eb5adfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce8', 'AI提示词拼接工具', '{}', 'DEPLOYED', 't', '', NULL) ON CONFLICT ("plugin_id") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin", "source", "icon") VALUES ('f13a2bd6bdb5afdb2ce166fb2da6c445057b7e092791c743f9b8238dd78a62dd', 'AI简历解析插件', '{"artifactId":"aipp-plugin","groupId":"modelengine.fit.jober","checksum":"aba5bd4a9ad359ede54794a189d36a2e77c6d611af6a4aef6c63bbd588c61b24","type":"java","description":"AI简历解析插件","pluginFullName":"aipp-plugin-0.1.0-SNAPSHOT_1726059364182.jar","pluginName":"AI简历解析插件"}', 'DEPLOYED', 't', '', NULL) ON CONFLICT ("plugin_id") DO NOTHING; + +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name", "source", "icon") VALUES ('AI简历解析插件', 'f13a2bd6bdb5afdb2ce166fb2da6c445057b7e092791c743f9b8238dd78a62dd', '8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8', '', NULL) ON CONFLICT("plugin_id", "tool_unique_name") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name", "source", "icon") VALUES ('AI提示词拼接工具', 'eb5adfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce8', 'bdc009dc-969e-4839-b5d7-e9599009d50d', '', NULL) ON CONFLICT("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."app_builder_form" ("id", "name", "tenant_id", "appearance", "type", "create_by", "create_at", "update_by", "update_at", "is_deleted", "form_suite_id", "version") VALUES ('d496c444a3174beabbcec5441aed40e2', '面试评价表单', '31f20efc7e0848deab6a6bc10fc3021e', '{"imgUrl": "smart_form/7958d851-8062-49bd-b21e-d7372991c905/form.png", "schema": {"return": {"type": "object", "properties": {"qeMap": {"type": "array", "items": {"type": "object", "properties": {"evaluate": {"type": "string"}, "question": {"type": "string"}}}}}}, "parameters": {"type": "object", "required": ["questions"], "properties": {"questions": {"type": "array", "items": {"type": "string"}}}}}, "fileName": "面试评价表单.zip", "fileSize": 262789, "fileUuid": "3efef5019030460f8865c6f4e6ba419f", "iframeUrl": "smart_form/7958d851-8062-49bd-b21e-d7372991c905/build/index.html", "description": ""}', 'runtime', 'Jade', '2025-04-19 09:49:29.027086', 'Jade', '2025-04-19 09:49:29.027109', 0, '2a9a4ec42ea348a2882461139dd6639d', '1.0.0') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form" ("id", "name", "tenant_id", "appearance", "type", "create_by", "create_at", "update_by", "update_at", "is_deleted", "form_suite_id", "version") VALUES ('115b557320ac41e1b449b8107aaa1781', '面试助手3', '31f20efc7e0848deab6a6bc10fc3021e', '{"imgUrl": "smart_form/e85bd769-0212-4305-b56b-01e77faa14ff/form.png", "schema": {"return": {"type": "object", "properties": {"isCvFile": {"type": "string"}}}, "parameters": {"type": "object", "required": ["instanceId", "isCvFile"], "properties": {"isCvFile": {"type": "string"}, "instanceId": {"type": "string"}}}}, "fileName": "面试助手3.zip", "fileSize": 163980, "fileUuid": "4f77cacd52d2466abf7b983ff1d8628e", "iframeUrl": "smart_form/e85bd769-0212-4305-b56b-01e77faa14ff/build/index.html", "description": ""}', 'runtime', 'Jade', '2025-04-19 09:49:42.73549', 'Jade', '2025-04-19 09:49:42.735504', 0, 'f4e58718ca3a409abea5d34b11776bfc', '1.0.0') ON CONFLICT (id) DO NOTHING; + +SELECT MAX(id) FROM store_tag; +SELECT setval('store_tag_id_seq', (SELECT MAX(id) FROM store_tag)); +SELECT MAX(id) FROM store_tool; +SELECT setval('store_tool_id_seq', (SELECT MAX(id) FROM store_tool)); + + + diff --git a/app-builder/jane/jober/sql/jade/02_appbuilder_create.sql b/app-builder/jane/plugins/aipp-plugin/src/main/resources/sql/schema/create_tables/appbuilder_create.sql similarity index 100% rename from app-builder/jane/jober/sql/jade/02_appbuilder_create.sql rename to app-builder/jane/plugins/aipp-plugin/src/main/resources/sql/schema/create_tables/appbuilder_create.sql diff --git a/app-builder/jane/jober/sql/create/flowsengine/flowsengine.postgres.create.sql b/app-builder/jane/plugins/aipp-plugin/src/main/resources/sql/schema/create_tables/general_create.sql similarity index 66% rename from app-builder/jane/jober/sql/create/flowsengine/flowsengine.postgres.create.sql rename to app-builder/jane/plugins/aipp-plugin/src/main/resources/sql/schema/create_tables/general_create.sql index 1e1ab274f9..c17ee920dd 100644 --- a/app-builder/jane/jober/sql/create/flowsengine/flowsengine.postgres.create.sql +++ b/app-builder/jane/plugins/aipp-plugin/src/main/resources/sql/schema/create_tables/general_create.sql @@ -1,3 +1,4 @@ +-- 流程相关 CREATE TABLE IF NOT EXISTS flow_definition ( definition_id VARCHAR(32) PRIMARY KEY, @@ -7,7 +8,7 @@ CREATE TABLE IF NOT EXISTS flow_definition version VARCHAR(16) NOT NULL, status VARCHAR(32) NOT NULL, graph JSONB NOT NULL, - created_by VARCHAR(127) NOT NULL, + created_by VARCHAR(32) NOT NULL, created_at timestamp without time zone NOT NULL ); @@ -24,12 +25,11 @@ comment on column flow_definition.created_at is '表示创建时间。'; CREATE UNIQUE INDEX IF NOT EXISTS UK_FLOW_NAME_VERSION ON flow_definition (name, version); CREATE UNIQUE INDEX IF NOT EXISTS UK_FLOW_META_ID_VERSION ON flow_definition (meta_id, version); -CREATE INDEX IF NOT EXISTS INDEX_FLOW_DEFINITION_ID ON flow_definition (definition_id); CREATE TABLE IF NOT EXISTS flow_context ( context_id VARCHAR(32) NOT NULL PRIMARY KEY, - trace_id TEXT NOT NULL, + trace_id VARCHAR(32) NOT NULL, trans_id VARCHAR(32) NOT NULL, root_id VARCHAR(32) NOT NULL, stream_id VARCHAR(64) NOT NULL, @@ -41,6 +41,7 @@ CREATE TABLE IF NOT EXISTS flow_context parallel_mode VARCHAR(10), previous VARCHAR(32), batch_id VARCHAR(32), + from_batch VARCHAR(32), to_batch VARCHAR(32), sent BOOLEAN DEFAULT FALSE, create_at timestamp without time zone NOT NULL, @@ -62,29 +63,29 @@ comment on column flow_context.parallel is '表示流程实例上下文处于哪 comment on column flow_context.parallel_mode is '表示流程实例上下文所处平行节点状态。'; comment on column flow_context.previous is '表示流程实例上下文来源哪个上下文。'; comment on column flow_context.batch_id is '表示流程实例上下文所处批次标识。'; +comment on column flow_context.from_batch is '表示流程实例上下文来源批次标识。'; comment on column flow_context.to_batch is '表示流程实例上下文指向批次标识。'; comment on column flow_context.sent is '表示流程实例上下文是否已被事件发送。'; comment on column flow_context.create_at is '表示流程实例上下文创建时间。'; comment on column flow_context.update_at is '表示流程实例上下文更新时间。'; comment on column flow_context.archived_at is '表示流程实例上下文完成时间。'; -CREATE INDEX IF NOT EXISTS INDEX_FLOW_BATCH_ID ON flow_context (batch_id, to_batch); -CREATE INDEX IF NOT EXISTS INDEX_FLOW_STREAM_ID ON flow_context (stream_id, position_id, batch_id); -CREATE INDEX IF NOT EXISTS INDEX_FLOW_CONTEXT_ID ON flow_context (context_id); -CREATE INDEX IF NOT EXISTS INDEX_FLOW_TO_BATCH ON flow_context (to_batch); +CREATE INDEX IF NOT EXISTS INDEX_FLOW_STREAM_ID ON flow_context (stream_id); +CREATE INDEX IF NOT EXISTS INDEX_FLOW_TRACE_ID ON flow_context (trace_id); +CREATE INDEX IF NOT EXISTS INDEX_FLOW_TRANS_ID_POSITION_ID ON flow_context (trans_id, position_id); +CREATE INDEX IF NOT EXISTS INDEX_FLOW_BATCH_ID ON flow_context (batch_id, from_batch, to_batch); CREATE TABLE IF NOT EXISTS flow_trace ( trace_id VARCHAR(32) NOT NULL PRIMARY KEY, stream_id VARCHAR(64) NOT NULL, - operator VARCHAR(127) NOT NULL, + operator VARCHAR(32) NOT NULL, application_name VARCHAR(32) NOT NULL, start_node VARCHAR(32) NOT NULL, - cur_nodes TEXT NOT NULL DEFAULT 'default_node', + cur_nodes TEXT NOT NULL, start_time timestamp without time zone NOT NULL, end_time timestamp without time zone, - status VARCHAR(32) NOT NULL DEFAULT 'ARCHIVED', - context_pool TEXT + merged_to VARCHAR(32) ); comment on table flow_trace is '流程轨迹'; @@ -96,34 +97,88 @@ comment on column flow_trace.start_node is '表示流程启动的开始节点'; comment on column flow_trace.cur_nodes is '表示流程实例当前所处节点'; comment on column flow_trace.start_time is '表示流程实例启动时间'; comment on column flow_trace.end_time is '表示流程实例结束时间'; +comment on column flow_trace.merged_to is '表示流程实例合并到哪个流程实例'; CREATE INDEX IF NOT EXISTS INDEX_FLOW_TRACE_STREAM_ID ON flow_trace (stream_id); -CREATE INDEX IF NOT EXISTS INDEX_FLOW_TRACE_ID ON flow_trace (trace_id); +CREATE INDEX IF NOT EXISTS INDEX_FLOW_TRACE_MERGE_ID ON flow_trace (trace_id, merged_to); -CREATE TABLE IF NOT EXISTS flow_graph -( - id VARCHAR(32) NOT NULL, - version VARCHAR(16) NOT NULL, - tenant VARCHAR(32) NOT NULL, - status VARCHAR(32) NOT NULL, - name VARCHAR(256), - data TEXT, - created_by VARCHAR(127) NOT NULL, - created_at timestamp without time zone NOT NULL, - updated_by VARCHAR(127) NOT NULL, - updated_at timestamp without time zone NOT NULL, - previous VARCHAR(50), - is_deleted BOOLEAN DEFAULT FALSE, - PRIMARY KEY (id, version) -); +DO $$ +BEGIN + IF NOT EXISTS ( + SELECT 1 + FROM information_schema.columns + WHERE table_name = 'flow_trace' AND column_name = 'status' + ) THEN + -- 如果不存在,则执行 ALTER TABLE 语句 +ALTER TABLE flow_trace ADD COLUMN status VARCHAR(32) NOT NULL DEFAULT 'ARCHIVED'; +END IF; +END $$; + +ALTER TABLE flow_context ALTER COLUMN trace_id TYPE TEXT; +ALTER TABLE flow_trace ALTER COLUMN cur_nodes SET DEFAULT 'default_node'; +ALTER TABLE flow_trace ADD COLUMN IF NOT EXISTS context_pool TEXT; -CREATE TABLE fitable_usage +-- 任务中心相关 +CREATE TABLE IF NOT EXISTS fitable_usage ( fitable_id VARCHAR(128) NOT NULL, definition_id VARCHAR(32) NOT NULL, PRIMARY KEY (fitable_id, definition_id) ); +CREATE TABLE IF NOT EXISTS tag +( + id CHAR(32) PRIMARY KEY, + name VARCHAR(64) NOT NULL, + description VARCHAR(512) NOT NULL, + created_by VARCHAR(127) NOT NULL, + created_at TIMESTAMP NOT NULL, + updated_by VARCHAR(127) NOT NULL, + updated_at TIMESTAMP NOT NULL +); +CREATE UNIQUE INDEX IF NOT EXISTS UK_TAG ON tag (name); + +CREATE TABLE IF NOT EXISTS tag_usage +( + id CHAR(32) PRIMARY KEY, + tag_id CHAR(32) NOT NULL, + object_type VARCHAR(16) NOT NULL, + object_id CHAR(32) NOT NULL, + created_by VARCHAR(127) NOT NULL, + created_at TIMESTAMP NOT NULL +); +CREATE UNIQUE INDEX IF NOT EXISTS UK_TAG_USAGE ON tag_usage (tag_id, object_id, object_type); +CREATE INDEX IF NOT EXISTS IDX_TAG_OBJECT_ID ON tag_usage (object_id); + +CREATE TABLE IF NOT EXISTS task_category_trigger +( + "id" CHAR(32) PRIMARY KEY, + "task_id" CHAR(32) NOT NULL, + "category_id" CHAR(32) NOT NULL, + "fitable_id" CHAR(32) NOT NULL +); +CREATE UNIQUE INDEX IF NOT EXISTS "UK_TASK_CATEGORY_TRIGGER" ON task_category_trigger ("task_id", "category_id", "fitable_id"); +CREATE INDEX IF NOT EXISTS "IDX_TASK_CATEGORY_TRIGGER_TASK" ON task_category_trigger ("task_id"); + + +CREATE +OR REPLACE FUNCTION generate_uuid_text() +RETURNS CHAR(32) AS $$ +BEGIN +RETURN md5(random()::text || clock_timestamp()::text); +END; +$$ +LANGUAGE plpgsql; + +CREATE +OR REPLACE FUNCTION now_utc() +RETURNS TIMESTAMP AS $$ +BEGIN +RETURN CURRENT_TIMESTAMP AT TIME ZONE 'UTC'; +END; +$$ +LANGUAGE plpgsql; + CREATE TABLE IF NOT EXISTS flow_retry ( entity_id VARCHAR(32) NOT NULL, @@ -141,4 +196,33 @@ comment on column flow_retry.entity_type is '表示任务重试的上下文实 comment on column flow_retry.next_retry_time is '表示任务重试的下次时间'; comment on column flow_retry.last_retry_time is '表示上次执行的任务重试时间'; comment on column flow_retry.retry_count is '表示到目前为止的任务重试次数'; -comment on column flow_retry.version is '表示当前重试的版本号'; \ No newline at end of file +comment on column flow_retry.version is '表示当前重试的版本号'; + +CREATE TABLE IF NOT EXISTS flow_lock +( + lock_key VARCHAR(100) NOT NULL PRIMARY KEY, + expired_at timestamp without time zone, + locked_client VARCHAR(50) + ); + +comment on table flow_lock is '流程锁'; +comment on column flow_lock.lock_key is '锁名称'; +comment on column flow_lock.expired_at is '锁过期时间'; +comment on column flow_lock.locked_client is '上锁的客户端IP'; + +CREATE TABLE IF NOT EXISTS flow_graph +( + id VARCHAR(32) NOT NULL, + version VARCHAR(16) NOT NULL, + tenant VARCHAR(32) NOT NULL, + status VARCHAR(32) NOT NULL, + name VARCHAR(256), + data TEXT, + created_by VARCHAR(32) NOT NULL, + created_at timestamp without time zone NOT NULL, + updated_by VARCHAR(32) NOT NULL, + updated_at timestamp without time zone NOT NULL, + previous VARCHAR(50), + is_deleted BOOLEAN DEFAULT FALSE, + PRIMARY KEY (id, version) + ); \ No newline at end of file diff --git a/app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/data/tr_init_models.sql b/app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/data/tr_init_models.sql new file mode 100644 index 0000000000..0c870c3e9d --- /dev/null +++ b/app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/data/tr_init_models.sql @@ -0,0 +1,3 @@ +INSERT INTO "t_app_engine_model" ("created_at", "updated_at", "created_by", "updated_by", "model_id", "name", "tag", "base_url", "type") VALUES ('2025-03-19 18:32:08.086508', '2025-03-19 18:32:08.086508', 'system', 'system', 'm6', 'Qwen/Qwen2.5-72B-Instruct', 'SiliconFlow', 'https://api.siliconflow.cn', 'chat_completions') ON CONFLICT ("model_id") DO NOTHING; + +INSERT INTO "t_app_engine_user_model" ("created_at", "updated_at", "created_by", "updated_by", "user_id", "model_id", "api_key", "is_default") VALUES ('2025-03-19 16:04:40.776244', '2025-03-19 16:04:40.776244', 'system', 'system', 'Jade', 'm6', 'TODO', 1) ON CONFLICT ("user_id", "model_id") DO NOTHING; \ No newline at end of file diff --git a/app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/data/tr_t_model_import.sql b/app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/data/tr_t_model_import.sql new file mode 100644 index 0000000000..d8b2af30be --- /dev/null +++ b/app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/data/tr_t_model_import.sql @@ -0,0 +1,66 @@ +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('添加模型', '{"name":"添加模型","description":"为用户添加可用的模型信息","parameters":{"type":"object","properties":{"modelName":{"examples":"","defaultValue":"","name":"modelName","description":"模型名称","type":"string","required":false},"baseUrl":{"examples":"","defaultValue":"","name":"baseUrl","description":"模型访问地址","type":"string","required":false},"apiKey":{"examples":"","defaultValue":"","name":"apiKey","description":"模型访问的 API Key","type":"string","required":false},"userId":{"examples":"","defaultValue":"","name":"userId","description":"用户id","type":"string","required":false}},"required":["modelName","baseUrl","apiKey","userId"]},"return":{"convertor":"","examples":"","name":"","description":"为用户添加可用的模型信息","type":"string"},"order":["modelName","baseUrl","apiKey","userId"]}', '{"FIT":{"genericableId":"modelengine.fit.jade.aipp.model.service.addUserModel","fitableId":"aipp.model.service.impl"}}', '{"tags":["FIT","MODEL"]}', '77ee3e02-5870-4338-a8be-52c8ed42f3c7', '1.0.0', 't', 'User_Model_Config_Service', 'add_user_model', 'User_Model_Config') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('删除模型', '{"name":"删除模型","description":"删除用户绑定的模型信息","parameters":{"type":"object","properties":{"modelId":{"examples":"","defaultValue":"","name":"modelId","description":"模型id","type":"string","required":false},"userId":{"examples":"","defaultValue":"","name":"userId","description":"用户id","type":"string","required":false}},"required":["modelId","userId"]},"return":{"convertor":"","examples":"","name":"","description":"删除用户绑定的模型信息","type":"string"},"order":["modelId","userId"]}', '{"FIT":{"genericableId":"modelengine.fit.jade.aipp.model.service.deleteUserModel","fitableId":"aipp.model.service.impl"}}', '{"tags":["FIT","MODEL"]}', 'ff0a4b59-0be7-436f-8931-6a599ed9f8f3', '1.0.0', 't', 'User_Model_Config_Service', 'delete_user_model', 'User_Model_Config') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('切换默认模型', '{"name":"切换默认模型","description":"将指定模型设置为用户的默认模型","parameters":{"type":"object","properties":{"modelId":{"examples":"","defaultValue":"","name":"modelId","description":"默认模型id","type":"string","required":false},"userId":{"examples":"","defaultValue":"","name":"userId","description":"用户id","type":"string","required":false}},"required":["modelId","userId"]},"return":{"convertor":"","examples":"","name":"","description":"将指定模型设置为用户的默认模型","type":"string"},"order":["modelId","userId"]}', '{"FIT":{"genericableId":"modelengine.fit.jade.aipp.model.service.switchDefaultModel","fitableId":"aipp.model.service.impl"}}', '{"tags":["FIT","MODEL"]}', 'f76205df-1814-49b9-a473-c03ee99770b7', '1.0.0', 't', 'User_Model_Config_Service', 'switch_default_model', 'User_Model_Config') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('获取用户模型列表', '{"name":"获取用户模型列表","description":"根据用户标识来查询该用户可用的模型列表","parameters":{"type":"object","properties":{"userId":{"examples":"","defaultValue":"","name":"userId","description":"用户id","type":"string","required":false}},"required":["userId"]},"return":{"convertor":"","examples":"","name":"","description":"返回该用户可用的模型列表","type":"array","items":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string"},"modelName":{"type":"string"},"baseUrl":{"type":"string"},"isDefault":{"type":"integer"},"modelId":{"type":"string"},"userId":{"type":"string"}}}},"order":["userId"]}', '{"FIT":{"genericableId":"modelengine.fit.jade.aipp.model.service.getUserModelList","fitableId":"aipp.model.service.impl"}}', '{"tags":["FIT","MODEL"]}', '16816279-411b-48e1-b754-191abd61dcd0', '1.0.0', 't', 'User_Model_Config_Service', 'get_user_model_list', 'User_Model_Config') ON CONFLICT ("unique_name", "version") DO NOTHING; + +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('switch_default_model', '{"name":"switch_default_model","description":"将指定模型设置为用户的默认模型","parameters":{"type":"object","properties":{"userId":{"defaultValue":"","description":"用户id","name":"userId","type":"string","examples":"","required":true},"modelId":{"defaultValue":"","description":"默认模型id","name":"modelId","type":"string","examples":"","required":true}},"required":["userId","modelId"]},"order":["userId","modelId"],"parameterExtensions":null,"return":{"type":"string","convertor":""}}', 'User_Model_Config') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('add_user_model', '{"name":"add_user_model","description":"为用户添加可用的模型信息","parameters":{"type":"object","properties":{"userId":{"defaultValue":"","description":"用户id","name":"userId","type":"string","examples":"","required":true},"apiKey":{"defaultValue":"","description":"模型访问的 API Key","name":"apiKey","type":"string","examples":"","required":true},"modelName":{"defaultValue":"","description":"模型名称","name":"modelName","type":"string","examples":"","required":true},"baseUrl":{"defaultValue":"","description":"模型访问地址","name":"baseUrl","type":"string","examples":"","required":true}},"required":["userId","apiKey","modelName","baseUrl"]},"order":["userId","apiKey","modelName","baseUrl"],"parameterExtensions":null,"return":{"type":"string","convertor":""}}', 'User_Model_Config') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('delete_user_model', '{"name":"delete_user_model","description":"删除用户绑定的模型信息","parameters":{"type":"object","properties":{"userId":{"defaultValue":"","description":"用户id","name":"userId","type":"string","examples":"","required":true},"modelId":{"defaultValue":"","description":"模型id","name":"modelId","type":"string","examples":"","required":true}},"required":["userId","modelId"]},"order":["userId","modelId"],"parameterExtensions":null,"return":{"type":"string","convertor":""}}', 'User_Model_Config') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('get_user_model_list', '{"name":"get_user_model_list","description":"根据用户标识来查询该用户可用的用戶模型列表","parameters":{"type":"object","properties":{"userId":{"defaultValue":"","description":"用户id","name":"userId","type":"string","examples":"","required":true}},"required":["userId"]},"order":["userId"],"parameterExtensions":null,"return":{"type":"array","items":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"modelId":{"type":"string"},"userId":{"type":"string"},"modelName":{"type":"string"},"baseUrl":{"type":"string"},"isDefault":{"type":"integer"}}},"convertor":""}}', 'User_Model_Config') ON CONFLICT ("definition_group_name", "name") DO NOTHING; + +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('16816279-411b-48e1-b754-191abd61dcd0', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('ff0a4b59-0be7-436f-8931-6a599ed9f8f3', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('77ee3e02-5870-4338-a8be-52c8ed42f3c7', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('ff0a4b59-0be7-436f-8931-6a599ed9f8f3', 'MODEL') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('f76205df-1814-49b9-a473-c03ee99770b7', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('f76205df-1814-49b9-a473-c03ee99770b7', 'MODEL') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('77ee3e02-5870-4338-a8be-52c8ed42f3c7', 'MODEL') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('16816279-411b-48e1-b754-191abd61dcd0', 'MODEL') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; + +INSERT INTO "public"."store_plugin_tool" ("like_count", "download_count", "tool_name", "plugin_id", "tool_unique_name", "source", "icon") VALUES (0, 0, '切换默认模型', 'f231f908d0f0959acbc1df7b2f4b8f76b05219e3fa82fcb715def9f8858139e5', 'f76205df-1814-49b9-a473-c03ee99770b7', '', NULL) ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("like_count", "download_count", "tool_name", "plugin_id", "tool_unique_name", "source", "icon") VALUES (0, 0, '删除模型', 'f231f908d0f0959acbc1df7b2f4b8f76b05219e3fa82fcb715def9f8858139e5', 'ff0a4b59-0be7-436f-8931-6a599ed9f8f3', '', NULL) ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("like_count", "download_count", "tool_name", "plugin_id", "tool_unique_name", "source", "icon") VALUES (0, 0, '添加模型', 'f231f908d0f0959acbc1df7b2f4b8f76b05219e3fa82fcb715def9f8858139e5', '77ee3e02-5870-4338-a8be-52c8ed42f3c7', '', NULL) ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("like_count", "download_count", "tool_name", "plugin_id", "tool_unique_name", "source", "icon") VALUES (0, 0, '获取用户模型列表', 'f231f908d0f0959acbc1df7b2f4b8f76b05219e3fa82fcb715def9f8858139e5', '16816279-411b-48e1-b754-191abd61dcd0', '', NULL) ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin", "source", "icon") VALUES ('f231f908d0f0959acbc1df7b2f4b8f76b05219e3fa82fcb715def9f8858139e5', '用戶查询模型工具', '{"uniqueness.groupId":"user-model-edit-groupId","pluginFullName":"aipp-custom-model-center-1.0.0-SNAPSHOT_1744769471992.jar","checksum":"77679d190769b46a8da7e2c08a1f2ce2680647e430514e7da1d39be3f3d17925","name":"用戶查询模型工具","description":"这是一个用戶查询模型工具","uniqueness.artifactId":"user-model-edit-artifactId","type":"java"}', 'DEPLOYED', TRUE, '', NULL) ON CONFLICT ("plugin_id") DO NOTHING; + +INSERT INTO "public"."app_builder_form" ("id", "name", "tenant_id", "appearance", "type", "create_by", "create_at", "update_by", "update_at", "is_deleted", "form_suite_id", "version") VALUES ('1568509614c245a39ce53bda9c3c2ec1', '模型管理表单', '31f20efc7e0848deab6a6bc10fc3021e', '{"imgUrl": "smart_form/6befc536-7e6d-48b5-8dcb-1c4d04ca4e92/form.png", "schema": {"name": "模型管理表单", "return": {"type": "object", "required": ["action", "info"], "properties": {"info": {"type": "object", "required": ["modelName", "modelId", "baseUrl", "isDefault", "userId", "apiKey"], "properties": {"apiKey": {"type": "string"}, "userId": {"type": "string"}, "baseUrl": {"type": "string"}, "modelId": {"type": "string"}, "isDefault": {"type": "integer"}, "modelName": {"type": "string"}}}, "action": {"enum": ["add", "delete", "switch", "quit"], "type": "string"}}}, "parameters": {"type": "object", "required": ["models"], "properties": {"models": {"type": "array", "items": {"type": "object", "required": ["modelId", "isDefault", "userId"], "properties": {"userId": {"type": "string"}, "baseUrl": {"type": "string"}, "modelId": {"type": "string"}, "createdAt": {"type": "string"}, "isDefault": {"type": "integer"}, "modelName": {"type": "string"}}}}}}}, "fileName": "模型管理表单.zip", "fileSize": 352510, "fileUuid": "7e9db4c01d8f482596fc1ddc78625496", "iframeUrl": "smart_form/6befc536-7e6d-48b5-8dcb-1c4d04ca4e92/build/index.html", "description": "这是一个模型管理表单"}', 'runtime', 'Jade', '2025-04-18 12:09:28.732006', 'Jade', '2025-04-18 12:09:28.73202', 0, '07b7ebd306944de683c2d060944da579', '1.0.0') ON CONFLICT ("id") DO NOTHING; + +INSERT INTO "public"."app_builder_app" ("id", "name", "create_by", "create_at", "update_by", "update_at", "config_id", "flow_graph_id", "tenant_id", "type", "version", "attributes", "state", "app_built_type", "app_category", "collection_usr_cnt", "is_deleted", "path", "app_type") VALUES ('cec6bfe7cb3a444f8a26a97ea513e501', '模型配置应用', 'Jade', '2025-04-18 11:54:33.515505', 'Jade', '2025-04-18 12:12:12.847078', '99bc4eda890041878bc0e4fe13114956', 'df3c7df760964d08b092f7c9d0eb9513', '31f20efc7e0848deab6a6bc10fc3021e', 'app', '1.0.0', '{"icon": "", "name": "模型配置应用", "greeting": "", "store_id": "7a76cbd2-881d-469b-b2df-76abed7d0b61", "is_update": false, "description": "当你想要配置模型的时候,请使用我!", "publishedUpdateLog": "", "publishedDescription": ""}', 'active', 'workflow', 'chatbot', 0, 0, 'P920UNZY2JkYoWhl', 'b653edb7eb5a49be91abcd2c5877c6ad') ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_config" ("id", "form_id", "app_id", "tenant_id", "create_by", "create_at", "update_by", "update_at", "is_deleted") VALUES ('99bc4eda890041878bc0e4fe13114956', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'cec6bfe7cb3a444f8a26a97ea513e501', '31f20efc7e0848deab6a6bc10fc3021e', 'Jade', '2025-04-18 11:54:33.515505', 'Jade', '2025-04-18 12:12:12.847078', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('3deb2fffd3e248fbbd0ce5cd55d1faa7', 'jadewdnjbq', 'df5c490b8c25454698b4bd7877628703', '99bc4eda890041878bc0e4fe13114956', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('65bd77ba6db54aad85be7f9301744860', 'jadewdnjbq', '52a8ebe4eec44858b41baa59e0256697', '99bc4eda890041878bc0e4fe13114956', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('e2bcf4291e214937b5717f865a9d7e8c', 'jade6qm5eg', '569f4946f1e749e0a84b2f77c603735e', '99bc4eda890041878bc0e4fe13114956', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('f0a5a5c071cf4125a235c5c8044cc923', 'jade0pg2ag', '39974065ba1146f89db4a2404e6195a0', '99bc4eda890041878bc0e4fe13114956', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('4d148e7480f04435af8fb3fcdf217053', 'jadewdnjbq', '283a6f9690d34a1eb9f23bf0a39d808a', '99bc4eda890041878bc0e4fe13114956', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('3cfcb631c4bb4cb188dd0ee9d51173cc', 'jadewdnjbq', 'e1434967e75048669144ea19067c8124', '99bc4eda890041878bc0e4fe13114956', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('b15a6d9274104eccab2a3de4014b8d2a', 'jadewdnjbq', '0442a2b2608e475bb8876749117cad43', '99bc4eda890041878bc0e4fe13114956', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('3031b678ec974973b78306ea505df91c', 'jadewdnjbq', 'db6182bf103d4989abb6fc0ef10e87af', '99bc4eda890041878bc0e4fe13114956', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('27242ad7124e4b778c45bac18b8a66f4', NULL, '0bb21aedaf134434a703c506da45791f', '99bc4eda890041878bc0e4fe13114956', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_flow_graph" ("id", "name", "create_by", "create_at", "update_by", "update_at", "appearance", "is_deleted") VALUES ('df3c7df760964d08b092f7c9d0eb9513', 'LLM模板', 'Jade', '2025-04-18 11:54:33.515505', 'Jade', '2025-04-18 12:12:12.847078', '{"id": "df3c7df760964d08b092f7c9d0eb9513", "type": "jadeFlowGraph", "pages": [{"x": -1225.7009556725914, "y": 160.9007936507931, "id": "elsa-page:tvp1s6", "bold": false, "mode": "configuration", "text": "newFlowPage", "type": "jadeFlowPage", "dirty": true, "index": 0, "width": 1600, "hAlign": "left", "height": 800, "isPage": true, "italic": false, "scaleX": 0.7000000000000001, "scaleY": 0.7000000000000001, "shapes": [{"x": -170.8928571428571, "y": 32.5, "id": "jade6qm5eg", "pad": 6, "bold": false, "text": "开始", "type": "startNodeStart", "dirty": false, "index": 0, "width": 360, "height": 728, "italic": false, "shadow": "0 2px 4px 0 rgba(0,0,0,.1)", "flowMeta": {"inputParams": [{"id": "91138f09-b635-43df-95c6-1fe3d1745829", "from": "Expand", "name": "input", "type": "Object", "value": [{"id": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "from": "Input", "name": "Question", "type": "String", "value": "", "isVisible": true, "isRequired": true, "description": "这是用户输入的问题。", "displayName": "用户问题", "disableModifiable": true}], "config": [{"allowAdd": true}]}, {"id": "4a770dc6-e3c9-475d-84c7-48dacc74a5b6", "from": "Expand", "name": "memory", "type": "Object", "value": [{"id": "a7675623-7fc7-468c-8910-e73c70e5e468", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": false}, {"id": "cee9a31b-781c-4835-a616-ceed73be22f2", "from": "Input", "name": "type", "type": "String", "value": "ByConversationTurn"}, {"id": "69592622-4291-409d-9d65-9faea83db657", "from": "Input", "name": "value", "type": "Integer", "value": "3"}]}, {"id": "91138f09-b635-43df-95c6-1fe3d1745830", "from": "Expand", "name": "appConfig", "type": "Object", "value": [{"id": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dadf", "from": "Input", "name": "appChatStyle", "type": "String", "value": "default"}]}], "triggerMode": "auto"}, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": false, "namespace": "flowable", "autoHeight": true, "emphasized": false, "rotateAble": false, "borderColor": "rgba(28,31,35,.08)", "borderWidth": 1, "focusShadow": "0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)", "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "startComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "mouseInBorderColor": "rgba(28,31,35,.08)"}, {"x": 2564.107142857142, "y": -145.1785714285714, "id": "jadesoux5i", "pad": 6, "bold": false, "text": "添加模型结束", "type": "endNodeEnd", "dirty": false, "index": 1, "width": 360, "height": 313, "italic": false, "shadow": "0 2px 4px 0 rgba(0,0,0,.1)", "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "54dab89c-5693-4082-baa7-12c648d812f7", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "ffad80c2-3f60-4d57-93b2-c2362a5dab9c", "from": "Reference", "name": "finalOutput", "type": "String", "value": ["output"], "editable": true, "isRequired": true, "description": "", "referenceId": "output_3a2ca725-4c94-4ead-bfcd-ffb8ac5ee3b1", "referenceKey": "output", "referenceNode": "jadehyxese"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "c26bf2ca-75b3-4a6f-bc47-132c2e170895", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "flowable", "autoHeight": true, "emphasized": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "focusShadow": "0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)", "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 278.02238424402026, "y": 428.19444444444423, "id": "jadevpescp", "pad": 6, "bold": false, "text": "获取用户模型列表", "type": "toolInvokeNodeState", "dirty": false, "index": 2, "width": 360, "height": 297, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "userId"}], "return": {"type": "array"}, "uniqueName": "16816279-411b-48e1-b754-191abd61dcd0"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "userId_f4725c4a-ac63-4b51-ae86-8c0baca9b71d", "from": "Reference", "name": "userId", "type": "String", "value": ["userId"], "isRequired": true, "description": "用户id", "referenceId": "userId", "referenceKey": "userId", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "output_78982629-c58c-4211-9f4b-369bdcfef31f", "name": "output", "type": "Array", "value": []}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "toolInvokeComponent", "focusBackColor": "white", "sourcePlatform": "", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 189.1071428571429, "y": 396.5, "id": "jadexixl9n", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 3, "textX": 0, "textY": 0, "width": 88.91524138687737, "hAlign": "center", "height": 180.19444444444423, "italic": false, "margin": 20, "toShape": "jadevpescp", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade6qm5eg", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 722.4668286884644, "y": 289.30555555555554, "id": "jade1osjbn", "pad": 6, "bold": false, "text": "人工表单", "type": "manualCheckNodeState", "dirty": true, "index": 4, "width": 360, "height": 489, "italic": false, "flowMeta": {"task": {"type": "AIPP_SMART_FORM", "imgUrl": "http://localhost:8001/api/jober/static/smart_form/6befc536-7e6d-48b5-8dcb-1c4d04ca4e92/form.png", "taskId": "1568509614c245a39ce53bda9c3c2ec1", "formName": "模型管理表单", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "models_6db2dcd7-94f1-4eb9-88d8-69e68e3fc990", "from": "Reference", "name": "models", "type": "Array", "value": ["output"], "isRequired": true, "referenceId": "output_78982629-c58c-4211-9f4b-369bdcfef31f", "referenceKey": "output", "referenceNode": "jadevpescp"}], "outputParams": [{"id": "output_14c32c0b-52d1-4d40-8b5d-b0470f3ddd9a", "name": "output", "type": "Object", "value": [{"id": "output_c2404fc9-56de-4cca-9706-0e63c49ad4d0", "name": "info", "type": "Object", "value": [{"id": "d270cf95-6f76-49bd-81b2-66692109034b", "name": "apiKey", "type": "String", "value": "String"}, {"id": "ae07dc15-b235-4139-ad89-9b6160988472", "name": "userId", "type": "String", "value": "String"}, {"id": "8bfa7821-ff6b-4e53-bfbc-213d68a613a2", "name": "baseUrl", "type": "String", "value": "String"}, {"id": "a29201e7-7fe3-4f3f-834d-899a6cfbd79e", "name": "modelId", "type": "String", "value": "String"}, {"id": "62d172c1-b852-4b5d-97d8-aa303956aae0", "name": "isDefault", "type": "Integer", "value": "Integer"}, {"id": "ce53a197-f57a-4bfa-9343-b6f993b61883", "name": "modelName", "type": "String", "value": "String"}]}, {"id": "bed9c7b2-83dc-4b3e-9f9c-915e20663037", "name": "action", "type": "String", "value": "String"}]}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "manual"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "manualCheckComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 638.0223842440203, "y": 576.6944444444442, "id": "jade419ps4", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 5, "textX": 0, "textY": 0, "width": 84.44444444444412, "hAlign": "center", "height": -42.88888888888869, "italic": false, "margin": 20, "toShape": "jade1osjbn", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadevpescp", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 1150.8795271011613, "y": 195.33730158730177, "id": "jade0305an", "pad": 6, "bold": false, "text": "条件", "type": "conditionNodeCondition", "dirty": false, "index": 6, "width": 600, "height": 735, "italic": false, "flowMeta": {"joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "conditionParams": {"branches": [{"id": "20e8e83b-31f2-4ba5-93b7-0920b2b7cc2e", "type": "if", "runnable": true, "conditions": [{"id": "eaa48316-b65d-49f4-a9c2-0d1261cb4efe", "value": [{"id": "3288e216-4f89-473c-b6b9-e9d80e66fe0c", "from": "Reference", "name": "left", "type": "String", "value": ["output", "action"], "referenceId": "bed9c7b2-83dc-4b3e-9f9c-915e20663037", "referenceKey": "action", "referenceNode": "jade1osjbn"}, {"id": "e63c3cba-9edc-4d94-af84-e8ad0c319aa8", "from": "Input", "name": "right", "type": "String", "value": "add", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "42754fab-4274-4e32-9811-9088eb80f691", "type": "if", "runnable": true, "conditions": [{"id": "7122796c-36ce-41ea-96be-0ce69cfe704b", "value": [{"id": "b9a64d7a-1ebc-40e1-a02b-2a793154b5fa", "from": "Reference", "name": "left", "type": "String", "value": ["output", "action"], "referenceId": "bed9c7b2-83dc-4b3e-9f9c-915e20663037", "referenceKey": "action", "referenceNode": "jade1osjbn"}, {"id": "51b80568-1f7a-4cca-8c31-c42f41d5b63d", "from": "Input", "name": "right", "type": "String", "value": "delete", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "79592b84-07fd-4212-9f50-71479aa86b22", "type": "if", "runnable": true, "conditions": [{"id": "42692336-de84-4023-864e-3ee666da5d93", "value": [{"id": "14a9b304-09dd-45ce-a421-6aa91703a1f4", "from": "Reference", "name": "left", "type": "String", "value": ["output", "action"], "referenceId": "bed9c7b2-83dc-4b3e-9f9c-915e20663037", "referenceKey": "action", "referenceNode": "jade1osjbn"}, {"id": "557856d5-18c8-4a67-91d4-0cf4faec4060", "from": "Input", "name": "right", "type": "String", "value": "switch", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "50b171e2-b8b6-46cb-89a3-a6e0883ae710", "type": "else", "runnable": true, "conditions": [{"id": "90303c25-9b1b-4e87-8af8-e3c997331c38", "value": [], "condition": "true"}], "conditionRelation": "and"}], "jadeNodeConfigChangeIgnored": true}}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "conditionComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 1082.4668286884644, "y": 533.8055555555555, "id": "jadezmsms0", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 7, "textX": 0, "textY": 0, "width": 68.41269841269695, "hAlign": "center", "height": 29.031746031746252, "italic": false, "margin": 20, "toShape": "jade0305an", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade1osjbn", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 1975.165241386877, "y": -157.51984126984166, "id": "jadehyxese", "pad": 6, "bold": false, "text": "添加模型", "type": "toolInvokeNodeState", "dirty": false, "index": 8, "width": 360, "height": 411, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "modelName"}, {"name": "baseUrl"}, {"name": "apiKey"}, {"name": "userId"}], "return": {"type": "string"}, "uniqueName": "77ee3e02-5870-4338-a8be-52c8ed42f3c7"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "modelName_216f7038-ade2-465a-9d24-9fb39d4af5e5", "from": "Reference", "name": "modelName", "type": "String", "value": ["output", "info", "modelName"], "isRequired": true, "description": "模型名称", "referenceId": "ce53a197-f57a-4bfa-9343-b6f993b61883", "referenceKey": "modelName", "referenceNode": "jade1osjbn"}, {"id": "baseUrl_49ee4206-7c9c-4311-b749-da274d3d14df", "from": "Reference", "name": "baseUrl", "type": "String", "value": ["output", "info", "baseUrl"], "isRequired": true, "description": "模型访问地址", "referenceId": "8bfa7821-ff6b-4e53-bfbc-213d68a613a2", "referenceKey": "baseUrl", "referenceNode": "jade1osjbn"}, {"id": "apiKey_d776d4db-4b49-4dee-b054-5b43d28c9c64", "from": "Reference", "name": "apiKey", "type": "String", "value": ["output", "info", "apiKey"], "isRequired": true, "description": "模型访问的 API Key", "referenceId": "d270cf95-6f76-49bd-81b2-66692109034b", "referenceKey": "apiKey", "referenceNode": "jade1osjbn"}, {"id": "userId_9a314ce2-d74b-471e-a7f8-ac5bf189f253", "from": "Reference", "name": "userId", "type": "String", "value": ["userId"], "isRequired": true, "description": "用户id", "referenceId": "userId", "referenceKey": "userId", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "output_3a2ca725-4c94-4ead-bfcd-ffb8ac5ee3b1", "name": "output", "type": "String", "value": []}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "toolInvokeComponent", "focusBackColor": "white", "sourcePlatform": "", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 1973.736669958303, "y": 369.623015873016, "id": "jadeas9z1s", "pad": 6, "bold": false, "text": "删除模型", "type": "toolInvokeNodeState", "dirty": false, "index": 9, "width": 360, "height": 335, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "modelId"}, {"name": "userId"}], "return": {"type": "string"}, "uniqueName": "ff0a4b59-0be7-436f-8931-6a599ed9f8f3"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "modelId_e329ead9-4485-453a-8973-9047c1e06a9a", "from": "Reference", "name": "modelId", "type": "String", "value": ["output", "info", "modelId"], "isRequired": true, "description": "模型id", "referenceId": "a29201e7-7fe3-4f3f-834d-899a6cfbd79e", "referenceKey": "modelId", "referenceNode": "jade1osjbn"}, {"id": "userId_47ee255d-9eeb-418c-aabc-8eb7871d0be5", "from": "Reference", "name": "userId", "type": "String", "value": ["output", "info", "userId"], "isRequired": true, "description": "用户id", "referenceId": "ae07dc15-b235-4139-ad89-9b6160988472", "referenceKey": "userId", "referenceNode": "jade1osjbn"}], "outputParams": [{"id": "output_786cf758-f9af-4959-83e7-251a01e04fb0", "name": "output", "type": "String", "value": []}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "toolInvokeComponent", "focusBackColor": "white", "sourcePlatform": "", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 1739.953710973929, "y": 381.97731623573924, "id": "jade2cfmdw", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 10, "textX": 0, "textY": 0, "width": 235.21153041294792, "hAlign": "center", "height": -333.9971575055809, "italic": false, "margin": 20, "toShape": "jadehyxese", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade0305an", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-0|20e8e83b-31f2-4ba5-93b7-0920b2b7cc2e"}, {"x": 1966.593812815448, "y": 741.0515873015875, "id": "jade3q2qyw", "pad": 6, "bold": false, "text": "切换默认模型", "type": "toolInvokeNodeState", "dirty": false, "index": 11, "width": 360, "height": 335, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "modelId"}, {"name": "userId"}], "return": {"type": "string"}, "uniqueName": "f76205df-1814-49b9-a473-c03ee99770b7"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "modelId_1312ce29-7bb9-4ac2-8cb9-e53a3f6b68c8", "from": "Reference", "name": "modelId", "type": "String", "value": ["output", "info", "modelId"], "isRequired": true, "description": "默认模型id", "referenceId": "a29201e7-7fe3-4f3f-834d-899a6cfbd79e", "referenceKey": "modelId", "referenceNode": "jade1osjbn"}, {"id": "userId_71b52489-3462-48ea-824c-ce04d99ba7e2", "from": "Reference", "name": "userId", "type": "String", "value": ["output", "info", "userId"], "isRequired": true, "description": "用户id", "referenceId": "ae07dc15-b235-4139-ad89-9b6160988472", "referenceKey": "userId", "referenceNode": "jade1osjbn"}], "outputParams": [{"id": "output_4113326b-5e9f-495e-8112-2ca9a0dca171", "name": "output", "type": "String", "value": []}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "toolInvokeComponent", "focusBackColor": "white", "sourcePlatform": "", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 1739.953710973929, "y": 569.9773031567772, "id": "jade31ntj1", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 12, "textX": 0, "textY": 0, "width": 233.7829589843741, "hAlign": "center", "height": -32.85428728376121, "italic": false, "margin": 20, "toShape": "jadeas9z1s", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade0305an", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-1|42754fab-4274-4e32-9811-9088eb80f691"}, {"x": 1739.953710973929, "y": 757.977268279545, "id": "jadedmxi6l", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 13, "textX": 0, "textY": 0, "width": 226.64010184151903, "hAlign": "center", "height": 150.57431902204246, "italic": false, "margin": 20, "toShape": "jade3q2qyw", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade0305an", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-2|79592b84-07fd-4212-9f50-71479aa86b22"}, {"x": 2335.165241386877, "y": 47.98015873015834, "id": "jadejcuwis", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 14, "textX": 0, "textY": 0, "width": 228.9419014702653, "hAlign": "center", "height": -36.658730158729725, "italic": false, "margin": 20, "toShape": "jadesoux5i", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadehyxese", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 2633.736669958307, "y": 322.4801587301588, "id": "jade7dv633", "pad": 6, "bold": false, "text": "删除模型结束", "type": "endNodeEnd", "dirty": false, "index": 15, "width": 360, "height": 313, "italic": false, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "104c12c3-804b-419f-a1c7-24b66516ed42", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "020da94c-e511-4ee9-8e2b-0ce5eb3103cb", "from": "Reference", "name": "finalOutput", "type": "String", "value": ["output"], "editable": true, "isRequired": true, "description": "", "referenceId": "output_786cf758-f9af-4959-83e7-251a01e04fb0", "referenceKey": "output", "referenceNode": "jadeas9z1s"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "0367a295-adad-4a19-a08e-ab04c37db3ac", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 2602.308098529733, "y": 732.4801587301587, "id": "jade1thrs1", "pad": 6, "bold": false, "text": "结束_2", "type": "endNodeEnd", "dirty": false, "index": 16, "width": 360, "height": 313, "italic": false, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "9f2d49d0-240d-46bb-80cb-a4391ac0de69", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "0f777bfd-06e5-452a-b80e-509057551d72", "from": "Reference", "name": "finalOutput", "type": "String", "value": ["output"], "editable": true, "isRequired": true, "description": "", "referenceId": "output_4113326b-5e9f-495e-8112-2ca9a0dca171", "referenceKey": "output", "referenceNode": "jade3q2qyw"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "fac8c254-46c4-42b2-92f0-32990dcd0086", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 1863.736669958305, "y": 1129.6230158730177, "id": "jadeifaftx", "pad": 6, "bold": false, "text": "退出表单结束", "type": "endNodeEnd", "dirty": false, "index": 17, "width": 360, "height": 313, "italic": false, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "59007e69-9047-42d4-bfcd-3150e78f0215", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "cffd1f94-832a-4f23-b8d5-b72db4d521c1", "from": "Input", "name": "finalOutput", "type": "String", "value": "已退出,请重新开始对话来发起新的模型配置请求。", "editable": true, "isRequired": true, "description": ""}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "6f7d0c10-fe39-4dbe-8e72-0d5202e42a22", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 2333.736669958303, "y": 537.123015873016, "id": "jadei8jdd4", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 18, "textX": 0, "textY": 0, "width": 300.0000000000041, "hAlign": "center", "height": -58.142857142857224, "italic": false, "margin": 20, "toShape": "jade7dv633", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadeas9z1s", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 1739.953710973929, "y": 870.9773478432309, "id": "jadecg9j3o", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 19, "textX": 0, "textY": 0, "width": 123.78295898437591, "hAlign": "center", "height": 415.14566802978686, "italic": false, "margin": 20, "toShape": "jadeifaftx", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade0305an", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-999"}, {"x": 2326.593812815448, "y": 908.5515873015875, "id": "jadewcxlt5", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 20, "textX": 0, "textY": 0, "width": 275.71428571428487, "hAlign": "center", "height": -19.571428571428783, "italic": false, "margin": 20, "toShape": "jade1thrs1", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade3q2qyw", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}], "vAlign": "top", "itemPad": [0, 0, 0, 0], "division": -1, "dockMode": "none", "fontFace": "arial", "fontSize": 18, "hideText": true, "moveable": true, "shapesAs": {}, "backColor": "#fbfbfc", "container": "elsa-page:tvp1s6", "dockAlign": "top", "fontColor": "#ECD0A7", "fontStyle": "normal", "itemSpace": 5, "namespace": "jadeFlow", "fontWeight": "bold", "itemScroll": {"x": 0, "y": 0}, "borderColor": "white", "focusBackColor": "#fbfbfc"}], "title": "df3c7df760964d08b092f7c9d0eb9513", "source": "elsa", "tenant": "31f20efc7e0848deab6a6bc10fc3021e", "setting": {"pad": 10, "tag": {}, "code": "", "pDock": "none", "hAlign": "center", "margin": 25, "shadow": "", "shared": false, "vAlign": "top", "itemPad": [5, 5, 5, 5], "visible": true, "autoText": false, "dockMode": "none", "dragable": true, "editable": true, "fontFace": "arial", "fontSize": 12, "infoType": {"name": "none", "next": "INFORMATION"}, "moveable": true, "priority": 0, "allowLink": true, "autoWidth": false, "backAlpha": 0.15, "backColor": "whitesmoke", "dashWidth": 0, "deletable": true, "fontColor": "steelblue", "fontStyle": "normal", "headColor": "steelblue", "lineWidth": 2, "underline": false, "autoHeight": false, "emphasized": false, "fontWeight": "lighter", "itemScroll": {"x": 0, "y": 0}, "lineHeight": 1.5, "resizeable": true, "rotateAble": true, "scrollLock": {"x": false, "y": false}, "selectable": true, "shadowData": "2px 2px 4px", "borderColor": "#047bfc", "borderWidth": 1, "bulletSpeed": 1, "focusMargin": 0, "focusShadow": "", "globalAlpha": 1, "outstanding": false, "bulletedList": false, "cornerRadius": 4, "enableSocial": true, "mouseInColor": "orange", "numberedList": false, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "rotateDegree": 0, "captionhAlign": "center", "strikethrough": false, "focusBackColor": "whitesmoke", "focusFontColor": "darkorange", "progressStatus": {"name": "NONE", "next": "UNKNOWN", "color": "gray"}, "showedProgress": false, "allNodeNumLimit": 99, "captionfontFace": "arial black", "captionfontSize": 14, "enableAnimation": false, "progressPercent": 0.65, "captionfontColor": "whitesmoke", "captionfontStyle": "normal", "focusBorderColor": "#047bfc", "focusBorderWidth": 1, "mouseInBackColor": "whitesmoke", "mouseInFontColor": "orange", "captionfontWeight": "lighter", "captionlineHeight": 1, "mouseInBorderColor": "#047bfc", "sameTypeNodeNumLimit": 19}, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.fitable.FlowInfoCallback"]}, "enableOutputScope": true, "exceptionFitables": ["modelengine.fit.jober.aipp.fitable.AippFlowExceptionHandler", "modelengine.fit.jober.fitable.FlowInfoException"]}, "enableText": false}', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('52a8ebe4eec44858b41baa59e0256697', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'ability', 'String', 'null', 'none', 'workflow', '能力配置', 1, 0, 'cec6bfe7cb3a444f8a26a97ea513e501') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('569f4946f1e749e0a84b2f77c603735e', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'chat', 'String', 'null', 'none', 'workflow', '聊天设置', 3, 0, 'cec6bfe7cb3a444f8a26a97ea513e501') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('39974065ba1146f89db4a2404e6195a0', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'memory', 'List', '["jade6qm5eg","memory"]', 'graph', 'chat', '多轮对话', 5, 0, 'cec6bfe7cb3a444f8a26a97ea513e501') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('283a6f9690d34a1eb9f23bf0a39d808a', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'opening', 'String', '"任意输入之后开始配置模型。"', 'input', 'chat', '开场白', 4, 0, 'cec6bfe7cb3a444f8a26a97ea513e501') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('e1434967e75048669144ea19067c8124', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'enterWorkflow', 'String', 'null', 'none', 'ability', '进入工作流编排', 2, 0, 'cec6bfe7cb3a444f8a26a97ea513e501') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('0442a2b2608e475bb8876749117cad43', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'inspiration', 'object', '{"category":[{"title":"root","id":"root","children":[]}],"inspirations":[{"name":"开始配置","description":"当你想要开始配置的时候,请点击。","prompt":"开始配置","promptVarData":[],"category":null,"auto":true,"id":"1v21m5"}],"showInspiration":true}', 'input', 'chat', '创意灵感', 7, 0, 'cec6bfe7cb3a444f8a26a97ea513e501') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('db6182bf103d4989abb6fc0ef10e87af', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'recommend', 'object', '{"showRecommend":false,"list":[]}', 'input', 'chat', '猜你想问', 6, 0, 'cec6bfe7cb3a444f8a26a97ea513e501') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('0bb21aedaf134434a703c506da45791f', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'multimodal', 'object', '{"useMultimodal":true,"maxUploadFilesNum":5,"autoChatOnUpload":false}', 'input', 'chat', '多模态', 8, 0, 'cec6bfe7cb3a444f8a26a97ea513e501') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('df5c490b8c25454698b4bd7877628703', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'workflow', 'String', 'null', 'none', 'null', '工作流编排', 0, 0, 'cec6bfe7cb3a444f8a26a97ea513e501') ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."task_new" ("id", "name", "version", "template_id", "tenant_id", "attributes", "created_by", "created_at", "updated_by", "updated_at", "is_deleted") VALUES ('17997d19af65470d90f0581d8fa43834', '模型配置应用', '1.0.0', '0b4fe5a430104edfbe0dc6cff0ebea19', '31f20efc7e0848deab6a6bc10fc3021e', '{"app_id": "cec6bfe7cb3a444f8a26a97ea513e501", "version": "1.0.0", "aipp_type": "NORMAL", "meta_icon": "", "publish_at": "2025-04-18T12:12:25.856075548", "description": "当你想要配置模型的时候,请使用我!", "meta_status": "active", "unique_name": "7a76cbd2-881d-469b-b2df-76abed7d0b61", "flow_config_id": "df3c7df760964d08b092f7c9d0eb9513", "flow_definition_id": "502f4a99db924e75adf6d9f403c8b905", "publish_update_log": "", "publish_description": ""}', 'Jade', '2025-04-18 12:12:24.802552', 'Jade', '2025-04-18 12:12:25.869732', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."flow_definition" ("definition_id", "meta_id", "name", "tenant", "version", "status", "graph", "created_by", "created_at") VALUES ('502f4a99db924e75adf6d9f403c8b905', 'df3c7df760964d08b092f7c9d0eb9513', 'df3c7df760964d08b092f7c9d0eb9513', '31f20efc7e0848deab6a6bc10fc3021e', '1.0.0', 'active', '{"name": "df3c7df760964d08b092f7c9d0eb9513", "nodes": [{"name": "开始", "type": "startNodeStart", "metaId": "jade6qm5eg", "runnable": true, "inputParams": [{"id": "91138f09-b635-43df-95c6-1fe3d1745829", "from": "Expand", "name": "input", "type": "Object", "value": [{"id": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "from": "Input", "name": "Question", "type": "String", "value": "", "isVisible": true, "isRequired": true, "description": "这是用户输入的问题。", "displayName": "用户问题", "disableModifiable": true}], "config": [{"allowAdd": true}]}, {"id": "4a770dc6-e3c9-475d-84c7-48dacc74a5b6", "from": "Expand", "name": "memory", "type": "Object", "value": [{"id": "a7675623-7fc7-468c-8910-e73c70e5e468", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": false}, {"id": "cee9a31b-781c-4835-a616-ceed73be22f2", "from": "Input", "name": "type", "type": "String", "value": "ByConversationTurn"}, {"id": "69592622-4291-409d-9d65-9faea83db657", "from": "Input", "name": "value", "type": "Integer", "value": "3"}]}, {"id": "91138f09-b635-43df-95c6-1fe3d1745830", "from": "Expand", "name": "appConfig", "type": "Object", "value": [{"id": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dadf", "from": "Input", "name": "appChatStyle", "type": "String", "value": "default"}]}], "triggerMode": "auto"}, {"name": "添加模型结束", "type": "endNodeEnd", "metaId": "jadesoux5i", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "54dab89c-5693-4082-baa7-12c648d812f7", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "ffad80c2-3f60-4d57-93b2-c2362a5dab9c", "from": "Reference", "name": "finalOutput", "type": "String", "value": ["output"], "editable": true, "isRequired": true, "description": "", "referenceId": "output_3a2ca725-4c94-4ead-bfcd-ffb8ac5ee3b1", "referenceKey": "output", "referenceNode": "jadehyxese"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "c26bf2ca-75b3-4a6f-bc47-132c2e170895", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"name": "获取用户模型列表", "type": "toolInvokeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "userId"}], "return": {"type": "array"}, "uniqueName": "16816279-411b-48e1-b754-191abd61dcd0"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "userId_f4725c4a-ac63-4b51-ae86-8c0baca9b71d", "from": "Reference", "name": "userId", "type": "String", "value": ["userId"], "isRequired": true, "description": "用户id", "referenceId": "userId", "referenceKey": "userId", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "output_78982629-c58c-4211-9f4b-369bdcfef31f", "name": "output", "type": "Array", "value": []}]}}}, "metaId": "jadevpescp", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadevpescp", "from": "jade6qm5eg", "type": "jadeEvent", "metaId": "jadexixl9n", "runnable": true, "fromConnector": "E"}, {"name": "人工表单", "task": {"type": "AIPP_SMART_FORM", "imgUrl": "http://localhost:8001/api/jober/static/smart_form/6befc536-7e6d-48b5-8dcb-1c4d04ca4e92/form.png", "taskId": "1568509614c245a39ce53bda9c3c2ec1", "formName": "模型管理表单", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "models_6db2dcd7-94f1-4eb9-88d8-69e68e3fc990", "from": "Reference", "name": "models", "type": "Array", "value": ["output"], "isRequired": true, "referenceId": "output_78982629-c58c-4211-9f4b-369bdcfef31f", "referenceKey": "output", "referenceNode": "jadevpescp"}], "outputParams": [{"id": "output_14c32c0b-52d1-4d40-8b5d-b0470f3ddd9a", "name": "output", "type": "Object", "value": [{"id": "output_c2404fc9-56de-4cca-9706-0e63c49ad4d0", "name": "info", "type": "Object", "value": [{"id": "d270cf95-6f76-49bd-81b2-66692109034b", "name": "apiKey", "type": "String", "value": "String"}, {"id": "ae07dc15-b235-4139-ad89-9b6160988472", "name": "userId", "type": "String", "value": "String"}, {"id": "8bfa7821-ff6b-4e53-bfbc-213d68a613a2", "name": "baseUrl", "type": "String", "value": "String"}, {"id": "a29201e7-7fe3-4f3f-834d-899a6cfbd79e", "name": "modelId", "type": "String", "value": "String"}, {"id": "62d172c1-b852-4b5d-97d8-aa303956aae0", "name": "isDefault", "type": "Integer", "value": "Integer"}, {"id": "ce53a197-f57a-4bfa-9343-b6f993b61883", "name": "modelName", "type": "String", "value": "String"}]}, {"id": "bed9c7b2-83dc-4b3e-9f9c-915e20663037", "name": "action", "type": "String", "value": "String"}]}]}}}, "type": "manualCheckNodeState", "metaId": "jade1osjbn", "runnable": true, "triggerMode": "manual"}, {"to": "jade1osjbn", "from": "jadevpescp", "type": "jadeEvent", "metaId": "jade419ps4", "runnable": true, "fromConnector": "E"}, {"name": "条件", "type": "conditionNodeCondition", "metaId": "jade0305an", "runnable": true, "triggerMode": "auto", "conditionParams": {"branches": [{"id": "20e8e83b-31f2-4ba5-93b7-0920b2b7cc2e", "type": "if", "runnable": true, "conditions": [{"id": "eaa48316-b65d-49f4-a9c2-0d1261cb4efe", "value": [{"id": "3288e216-4f89-473c-b6b9-e9d80e66fe0c", "from": "Reference", "name": "left", "type": "String", "value": ["output", "action"], "referenceId": "bed9c7b2-83dc-4b3e-9f9c-915e20663037", "referenceKey": "action", "referenceNode": "jade1osjbn"}, {"id": "e63c3cba-9edc-4d94-af84-e8ad0c319aa8", "from": "Input", "name": "right", "type": "String", "value": "add", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "42754fab-4274-4e32-9811-9088eb80f691", "type": "if", "runnable": true, "conditions": [{"id": "7122796c-36ce-41ea-96be-0ce69cfe704b", "value": [{"id": "b9a64d7a-1ebc-40e1-a02b-2a793154b5fa", "from": "Reference", "name": "left", "type": "String", "value": ["output", "action"], "referenceId": "bed9c7b2-83dc-4b3e-9f9c-915e20663037", "referenceKey": "action", "referenceNode": "jade1osjbn"}, {"id": "51b80568-1f7a-4cca-8c31-c42f41d5b63d", "from": "Input", "name": "right", "type": "String", "value": "delete", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "79592b84-07fd-4212-9f50-71479aa86b22", "type": "if", "runnable": true, "conditions": [{"id": "42692336-de84-4023-864e-3ee666da5d93", "value": [{"id": "14a9b304-09dd-45ce-a421-6aa91703a1f4", "from": "Reference", "name": "left", "type": "String", "value": ["output", "action"], "referenceId": "bed9c7b2-83dc-4b3e-9f9c-915e20663037", "referenceKey": "action", "referenceNode": "jade1osjbn"}, {"id": "557856d5-18c8-4a67-91d4-0cf4faec4060", "from": "Input", "name": "right", "type": "String", "value": "switch", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "50b171e2-b8b6-46cb-89a3-a6e0883ae710", "type": "else", "runnable": true, "conditions": [{"id": "90303c25-9b1b-4e87-8af8-e3c997331c38", "value": [], "condition": "true"}], "conditionRelation": "and"}], "jadeNodeConfigChangeIgnored": true}}, {"to": "jade0305an", "from": "jade1osjbn", "type": "jadeEvent", "metaId": "jadezmsms0", "runnable": true, "fromConnector": "E"}, {"name": "添加模型", "type": "toolInvokeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "modelName"}, {"name": "baseUrl"}, {"name": "apiKey"}, {"name": "userId"}], "return": {"type": "string"}, "uniqueName": "77ee3e02-5870-4338-a8be-52c8ed42f3c7"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "modelName_216f7038-ade2-465a-9d24-9fb39d4af5e5", "from": "Reference", "name": "modelName", "type": "String", "value": ["output", "info", "modelName"], "isRequired": true, "description": "模型名称", "referenceId": "ce53a197-f57a-4bfa-9343-b6f993b61883", "referenceKey": "modelName", "referenceNode": "jade1osjbn"}, {"id": "baseUrl_49ee4206-7c9c-4311-b749-da274d3d14df", "from": "Reference", "name": "baseUrl", "type": "String", "value": ["output", "info", "baseUrl"], "isRequired": true, "description": "模型访问地址", "referenceId": "8bfa7821-ff6b-4e53-bfbc-213d68a613a2", "referenceKey": "baseUrl", "referenceNode": "jade1osjbn"}, {"id": "apiKey_d776d4db-4b49-4dee-b054-5b43d28c9c64", "from": "Reference", "name": "apiKey", "type": "String", "value": ["output", "info", "apiKey"], "isRequired": true, "description": "模型访问的 API Key", "referenceId": "d270cf95-6f76-49bd-81b2-66692109034b", "referenceKey": "apiKey", "referenceNode": "jade1osjbn"}, {"id": "userId_9a314ce2-d74b-471e-a7f8-ac5bf189f253", "from": "Reference", "name": "userId", "type": "String", "value": ["userId"], "isRequired": true, "description": "用户id", "referenceId": "userId", "referenceKey": "userId", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "output_3a2ca725-4c94-4ead-bfcd-ffb8ac5ee3b1", "name": "output", "type": "String", "value": []}]}}}, "metaId": "jadehyxese", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"name": "删除模型", "type": "toolInvokeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "modelId"}, {"name": "userId"}], "return": {"type": "string"}, "uniqueName": "ff0a4b59-0be7-436f-8931-6a599ed9f8f3"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "modelId_e329ead9-4485-453a-8973-9047c1e06a9a", "from": "Reference", "name": "modelId", "type": "String", "value": ["output", "info", "modelId"], "isRequired": true, "description": "模型id", "referenceId": "a29201e7-7fe3-4f3f-834d-899a6cfbd79e", "referenceKey": "modelId", "referenceNode": "jade1osjbn"}, {"id": "userId_47ee255d-9eeb-418c-aabc-8eb7871d0be5", "from": "Reference", "name": "userId", "type": "String", "value": ["output", "info", "userId"], "isRequired": true, "description": "用户id", "referenceId": "ae07dc15-b235-4139-ad89-9b6160988472", "referenceKey": "userId", "referenceNode": "jade1osjbn"}], "outputParams": [{"id": "output_786cf758-f9af-4959-83e7-251a01e04fb0", "name": "output", "type": "String", "value": []}]}}}, "metaId": "jadeas9z1s", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadehyxese", "from": "jade0305an", "type": "jadeEvent", "metaId": "jade2cfmdw", "runnable": true, "fromConnector": "dynamic-0|20e8e83b-31f2-4ba5-93b7-0920b2b7cc2e"}, {"name": "切换默认模型", "type": "toolInvokeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "modelId"}, {"name": "userId"}], "return": {"type": "string"}, "uniqueName": "f76205df-1814-49b9-a473-c03ee99770b7"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "modelId_1312ce29-7bb9-4ac2-8cb9-e53a3f6b68c8", "from": "Reference", "name": "modelId", "type": "String", "value": ["output", "info", "modelId"], "isRequired": true, "description": "默认模型id", "referenceId": "a29201e7-7fe3-4f3f-834d-899a6cfbd79e", "referenceKey": "modelId", "referenceNode": "jade1osjbn"}, {"id": "userId_71b52489-3462-48ea-824c-ce04d99ba7e2", "from": "Reference", "name": "userId", "type": "String", "value": ["output", "info", "userId"], "isRequired": true, "description": "用户id", "referenceId": "ae07dc15-b235-4139-ad89-9b6160988472", "referenceKey": "userId", "referenceNode": "jade1osjbn"}], "outputParams": [{"id": "output_4113326b-5e9f-495e-8112-2ca9a0dca171", "name": "output", "type": "String", "value": []}]}}}, "metaId": "jade3q2qyw", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadeas9z1s", "from": "jade0305an", "type": "jadeEvent", "metaId": "jade31ntj1", "runnable": true, "fromConnector": "dynamic-1|42754fab-4274-4e32-9811-9088eb80f691"}, {"to": "jade3q2qyw", "from": "jade0305an", "type": "jadeEvent", "metaId": "jadedmxi6l", "runnable": true, "fromConnector": "dynamic-2|79592b84-07fd-4212-9f50-71479aa86b22"}, {"to": "jadesoux5i", "from": "jadehyxese", "type": "jadeEvent", "metaId": "jadejcuwis", "runnable": true, "fromConnector": "E"}, {"name": "删除模型结束", "type": "endNodeEnd", "metaId": "jade7dv633", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "104c12c3-804b-419f-a1c7-24b66516ed42", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "020da94c-e511-4ee9-8e2b-0ce5eb3103cb", "from": "Reference", "name": "finalOutput", "type": "String", "value": ["output"], "editable": true, "isRequired": true, "description": "", "referenceId": "output_786cf758-f9af-4959-83e7-251a01e04fb0", "referenceKey": "output", "referenceNode": "jadeas9z1s"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "0367a295-adad-4a19-a08e-ab04c37db3ac", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"name": "结束_2", "type": "endNodeEnd", "metaId": "jade1thrs1", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "9f2d49d0-240d-46bb-80cb-a4391ac0de69", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "0f777bfd-06e5-452a-b80e-509057551d72", "from": "Reference", "name": "finalOutput", "type": "String", "value": ["output"], "editable": true, "isRequired": true, "description": "", "referenceId": "output_4113326b-5e9f-495e-8112-2ca9a0dca171", "referenceKey": "output", "referenceNode": "jade3q2qyw"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "fac8c254-46c4-42b2-92f0-32990dcd0086", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"name": "退出表单结束", "type": "endNodeEnd", "metaId": "jadeifaftx", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "59007e69-9047-42d4-bfcd-3150e78f0215", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "cffd1f94-832a-4f23-b8d5-b72db4d521c1", "from": "Input", "name": "finalOutput", "type": "String", "value": "已退出,请重新开始对话来发起新的模型配置请求。", "editable": true, "isRequired": true, "description": ""}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "6f7d0c10-fe39-4dbe-8e72-0d5202e42a22", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"to": "jade7dv633", "from": "jadeas9z1s", "type": "jadeEvent", "metaId": "jadei8jdd4", "runnable": true, "fromConnector": "E"}, {"to": "jadeifaftx", "from": "jade0305an", "type": "jadeEvent", "metaId": "jadecg9j3o", "runnable": true, "fromConnector": "dynamic-999"}, {"to": "jade1thrs1", "from": "jade3q2qyw", "type": "jadeEvent", "metaId": "jadewcxlt5", "runnable": true, "fromConnector": "E"}], "metaId": "df3c7df760964d08b092f7c9d0eb9513", "status": "active", "version": "1.0.0", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.fitable.FlowInfoCallback"]}, "enableOutputScope": true, "exceptionFitables": ["modelengine.fit.jober.aipp.fitable.AippFlowExceptionHandler", "modelengine.fit.jober.fitable.FlowInfoException"]}', 'Jade', '2025-04-18 12:12:24.826149') ON CONFLICT (definition_id) DO NOTHING; + +INSERT INTO "public"."flow_graph" ("id", "version", "tenant", "status", "name", "data", "created_by", "created_at", "updated_by", "updated_at", "previous", "is_deleted") VALUES ('df3c7df760964d08b092f7c9d0eb9513', '1.0.0', '31f20efc7e0848deab6a6bc10fc3021e', 'active', 'df3c7df760964d08b092f7c9d0eb9513', '{"id":"df3c7df760964d08b092f7c9d0eb9513","title":"df3c7df760964d08b092f7c9d0eb9513","source":"elsa","type":"jadeFlowGraph","tenant":"31f20efc7e0848deab6a6bc10fc3021e","setting":{"borderColor":"#047bfc","backColor":"whitesmoke","headColor":"steelblue","fontColor":"steelblue","captionfontColor":"whitesmoke","fontFace":"arial","captionfontFace":"arial black","fontSize":12,"captionfontSize":14,"fontStyle":"normal","captionfontStyle":"normal","fontWeight":"lighter","captionfontWeight":"lighter","hAlign":"center","vAlign":"top","captionhAlign":"center","lineHeight":1.5,"lineWidth":2,"captionlineHeight":1,"focusMargin":0,"focusBorderColor":"#047bfc","focusFontColor":"darkorange","focusBackColor":"whitesmoke","mouseInColor":"orange","mouseInBorderColor":"#047bfc","mouseInFontColor":"orange","mouseInBackColor":"whitesmoke","borderWidth":1,"focusBorderWidth":1,"globalAlpha":1,"backAlpha":0.15,"cornerRadius":4,"dashWidth":0,"autoText":false,"autoHeight":false,"autoWidth":false,"margin":25,"pad":10,"code":"","rotateDegree":0,"shadow":"","focusShadow":"","shadowData":"2px 2px 4px","outstanding":false,"pDock":"none","dockMode":"none","priority":0,"infoType":{"name":"none","next":"INFORMATION"},"progressStatus":{"name":"NONE","next":"UNKNOWN","color":"gray"},"progressPercent":0.65,"showedProgress":false,"itemPad":[5,5,5,5],"itemScroll":{"x":0,"y":0},"scrollLock":{"x":false,"y":false},"resizeable":true,"selectable":true,"rotateAble":true,"editable":true,"moveable":true,"dragable":true,"visible":true,"deletable":true,"allowLink":true,"shared":false,"strikethrough":false,"underline":false,"numberedList":false,"bulletedList":false,"enableAnimation":false,"enableSocial":true,"emphasized":false,"bulletSpeed":1,"tag":{},"allNodeNumLimit":99,"sameTypeNodeNumLimit":19,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10},"pages":[{"x":-1225.7009556725914,"y":160.9007936507931,"id":"elsa-page:tvp1s6","bold":false,"mode":"configuration","text":"newFlowPage","type":"jadeFlowPage","dirty":true,"index":0,"width":1600,"hAlign":"left","height":800,"isPage":true,"italic":false,"scaleX":0.7000000000000001,"scaleY":0.7000000000000001,"vAlign":"top","itemPad":[0,0,0,0],"division":-1,"dockMode":"none","fontFace":"arial","fontSize":18,"hideText":true,"moveable":true,"shapesAs":{},"backColor":"#fbfbfc","container":"elsa-page:tvp1s6","dockAlign":"top","fontColor":"#ECD0A7","fontStyle":"normal","itemSpace":5,"namespace":"jadeFlow","fontWeight":"bold","itemScroll":{"x":0,"y":0},"borderColor":"white","focusBackColor":"#fbfbfc","shapes":[{"x":-170.8928571428571,"y":32.5,"id":"jade6qm5eg","pad":6,"bold":false,"text":"开始","type":"startNodeStart","dirty":false,"index":0,"width":360,"height":728,"italic":false,"shadow":"0 2px 4px 0 rgba(0,0,0,.1)","flowMeta":{"inputParams":[{"id":"91138f09-b635-43df-95c6-1fe3d1745829","from":"Expand","name":"input","type":"Object","value":[{"id":"input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb","from":"Input","name":"Question","type":"String","value":"","isVisible":true,"isRequired":true,"description":"这是用户输入的问题。","displayName":"用户问题","disableModifiable":true}],"config":[{"allowAdd":true}]},{"id":"4a770dc6-e3c9-475d-84c7-48dacc74a5b6","from":"Expand","name":"memory","type":"Object","value":[{"id":"a7675623-7fc7-468c-8910-e73c70e5e468","from":"Input","name":"memorySwitch","type":"Boolean","value":false},{"id":"cee9a31b-781c-4835-a616-ceed73be22f2","from":"Input","name":"type","type":"String","value":"ByConversationTurn"},{"id":"69592622-4291-409d-9d65-9faea83db657","from":"Input","name":"value","type":"Integer","value":"3"}]},{"id":"91138f09-b635-43df-95c6-1fe3d1745830","from":"Expand","name":"appConfig","type":"Object","value":[{"id":"input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dadf","from":"Input","name":"appChatStyle","type":"String","value":"default"}]}],"triggerMode":"auto"},"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":false,"namespace":"flowable","autoHeight":true,"emphasized":false,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"focusShadow":"0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)","runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10,"completedTask":0,"componentName":"startComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"mouseInBorderColor":"rgba(28,31,35,.08)"},{"x":2564.107142857142,"y":-145.1785714285714,"id":"jadesoux5i","pad":6,"bold":false,"text":"添加模型结束","type":"endNodeEnd","dirty":false,"index":1,"width":360,"height":313,"italic":false,"shadow":"0 2px 4px 0 rgba(0,0,0,.1)","flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"54dab89c-5693-4082-baa7-12c648d812f7","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"ffad80c2-3f60-4d57-93b2-c2362a5dab9c","from":"Reference","name":"finalOutput","type":"String","value":["output"],"editable":true,"isRequired":true,"description":"","referenceId":"output_3a2ca725-4c94-4ead-bfcd-ffb8ac5ee3b1","referenceKey":"output","referenceNode":"jadehyxese"}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"c26bf2ca-75b3-4a6f-bc47-132c2e170895","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"flowable","autoHeight":true,"emphasized":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"focusShadow":"0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)","runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","mouseInBorderColor":"rgb(4, 123, 252)"},{"x":278.02238424402026,"y":428.19444444444423,"id":"jadevpescp","pad":6,"bold":false,"text":"获取用户模型列表","type":"toolInvokeNodeState","dirty":false,"index":2,"width":360,"height":297,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"userId"}],"return":{"type":"array"},"uniqueName":"16816279-411b-48e1-b754-191abd61dcd0"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"userId_f4725c4a-ac63-4b51-ae86-8c0baca9b71d","from":"Reference","name":"userId","type":"String","value":["userId"],"isRequired":true,"description":"用户id","referenceId":"userId","referenceKey":"userId","referenceNode":"_systemEnv"}],"outputParams":[{"id":"output_78982629-c58c-4211-9f4b-369bdcfef31f","name":"output","type":"Array","value":[]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"toolInvokeComponent","focusBackColor":"white","sourcePlatform":"","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":189.1071428571429,"y":396.5,"id":"jadexixl9n","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":3,"textX":0,"textY":0,"width":88.91524138687737,"hAlign":"center","height":180.19444444444423,"italic":false,"margin":20,"toShape":"jadevpescp","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade6qm5eg","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":722.4668286884644,"y":289.30555555555554,"id":"jade1osjbn","pad":6,"bold":false,"text":"人工表单","type":"manualCheckNodeState","dirty":true,"index":4,"width":360,"height":489,"italic":false,"flowMeta":{"task":{"type":"AIPP_SMART_FORM","imgUrl":"http://localhost:8001/api/jober/static/smart_form/6befc536-7e6d-48b5-8dcb-1c4d04ca4e92/form.png","taskId":"1568509614c245a39ce53bda9c3c2ec1","formName":"模型管理表单","converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"models_6db2dcd7-94f1-4eb9-88d8-69e68e3fc990","name":"models","type":"Array","from":"Reference","isRequired":true,"referenceNode":"jadevpescp","referenceId":"output_78982629-c58c-4211-9f4b-369bdcfef31f","referenceKey":"output","value":["output"]}],"outputParams":[{"id":"output_14c32c0b-52d1-4d40-8b5d-b0470f3ddd9a","name":"output","type":"Object","value":[{"id":"output_c2404fc9-56de-4cca-9706-0e63c49ad4d0","name":"info","type":"Object","value":[{"id":"d270cf95-6f76-49bd-81b2-66692109034b","name":"apiKey","type":"String","value":"String"},{"id":"ae07dc15-b235-4139-ad89-9b6160988472","name":"userId","type":"String","value":"String"},{"id":"8bfa7821-ff6b-4e53-bfbc-213d68a613a2","name":"baseUrl","type":"String","value":"String"},{"id":"a29201e7-7fe3-4f3f-834d-899a6cfbd79e","name":"modelId","type":"String","value":"String"},{"id":"62d172c1-b852-4b5d-97d8-aa303956aae0","name":"isDefault","type":"Integer","value":"Integer"},{"id":"ce53a197-f57a-4bfa-9343-b6f993b61883","name":"modelName","type":"String","value":"String"}]},{"id":"bed9c7b2-83dc-4b3e-9f9c-915e20663037","name":"action","type":"String","value":"String"}]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"manual"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"manualCheckComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":638.0223842440203,"y":576.6944444444442,"id":"jade419ps4","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":5,"textX":0,"textY":0,"width":84.44444444444412,"hAlign":"center","height":-42.88888888888869,"italic":false,"margin":20,"toShape":"jade1osjbn","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadevpescp","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":1150.8795271011613,"y":195.33730158730177,"id":"jade0305an","pad":6,"bold":false,"text":"条件","type":"conditionNodeCondition","dirty":false,"index":6,"width":600,"height":735,"italic":false,"flowMeta":{"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto","conditionParams":{"branches":[{"id":"20e8e83b-31f2-4ba5-93b7-0920b2b7cc2e","type":"if","runnable":true,"conditions":[{"id":"eaa48316-b65d-49f4-a9c2-0d1261cb4efe","value":[{"id":"3288e216-4f89-473c-b6b9-e9d80e66fe0c","from":"Reference","name":"left","type":"String","value":["output","action"],"referenceId":"bed9c7b2-83dc-4b3e-9f9c-915e20663037","referenceKey":"action","referenceNode":"jade1osjbn"},{"id":"e63c3cba-9edc-4d94-af84-e8ad0c319aa8","from":"Input","name":"right","type":"String","value":"add","referenceId":"","referenceKey":"","referenceNode":""}],"condition":"equal"}],"conditionRelation":"and"},{"id":"42754fab-4274-4e32-9811-9088eb80f691","type":"if","runnable":true,"conditions":[{"id":"7122796c-36ce-41ea-96be-0ce69cfe704b","value":[{"id":"b9a64d7a-1ebc-40e1-a02b-2a793154b5fa","from":"Reference","name":"left","type":"String","value":["output","action"],"referenceId":"bed9c7b2-83dc-4b3e-9f9c-915e20663037","referenceKey":"action","referenceNode":"jade1osjbn"},{"id":"51b80568-1f7a-4cca-8c31-c42f41d5b63d","from":"Input","name":"right","type":"String","value":"delete","referenceId":"","referenceKey":"","referenceNode":""}],"condition":"equal"}],"conditionRelation":"and"},{"id":"79592b84-07fd-4212-9f50-71479aa86b22","type":"if","runnable":true,"conditions":[{"id":"42692336-de84-4023-864e-3ee666da5d93","value":[{"id":"14a9b304-09dd-45ce-a421-6aa91703a1f4","from":"Reference","name":"left","type":"String","value":["output","action"],"referenceId":"bed9c7b2-83dc-4b3e-9f9c-915e20663037","referenceKey":"action","referenceNode":"jade1osjbn"},{"id":"557856d5-18c8-4a67-91d4-0cf4faec4060","from":"Input","name":"right","type":"String","value":"switch","referenceId":"","referenceKey":"","referenceNode":""}],"condition":"equal"}],"conditionRelation":"and"},{"id":"50b171e2-b8b6-46cb-89a3-a6e0883ae710","type":"else","runnable":true,"conditions":[{"id":"90303c25-9b1b-4e87-8af8-e3c997331c38","value":[],"condition":"true"}],"conditionRelation":"and"}],"jadeNodeConfigChangeIgnored":true}},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"conditionComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":1082.4668286884644,"y":533.8055555555555,"id":"jadezmsms0","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":7,"textX":0,"textY":0,"width":68.41269841269695,"hAlign":"center","height":29.031746031746252,"italic":false,"margin":20,"toShape":"jade0305an","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade1osjbn","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":1975.165241386877,"y":-157.51984126984166,"id":"jadehyxese","pad":6,"bold":false,"text":"添加模型","type":"toolInvokeNodeState","dirty":false,"index":8,"width":360,"height":411,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"modelName"},{"name":"baseUrl"},{"name":"apiKey"},{"name":"userId"}],"return":{"type":"string"},"uniqueName":"77ee3e02-5870-4338-a8be-52c8ed42f3c7"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"modelName_216f7038-ade2-465a-9d24-9fb39d4af5e5","from":"Reference","name":"modelName","type":"String","value":["output","info","modelName"],"isRequired":true,"description":"模型名称","referenceId":"ce53a197-f57a-4bfa-9343-b6f993b61883","referenceKey":"modelName","referenceNode":"jade1osjbn"},{"id":"baseUrl_49ee4206-7c9c-4311-b749-da274d3d14df","from":"Reference","name":"baseUrl","type":"String","value":["output","info","baseUrl"],"isRequired":true,"description":"模型访问地址","referenceId":"8bfa7821-ff6b-4e53-bfbc-213d68a613a2","referenceKey":"baseUrl","referenceNode":"jade1osjbn"},{"id":"apiKey_d776d4db-4b49-4dee-b054-5b43d28c9c64","from":"Reference","name":"apiKey","type":"String","value":["output","info","apiKey"],"isRequired":true,"description":"模型访问的 API Key","referenceId":"d270cf95-6f76-49bd-81b2-66692109034b","referenceKey":"apiKey","referenceNode":"jade1osjbn"},{"id":"userId_9a314ce2-d74b-471e-a7f8-ac5bf189f253","from":"Reference","name":"userId","type":"String","value":["userId"],"isRequired":true,"description":"用户id","referenceId":"userId","referenceKey":"userId","referenceNode":"_systemEnv"}],"outputParams":[{"id":"output_3a2ca725-4c94-4ead-bfcd-ffb8ac5ee3b1","name":"output","type":"String","value":[]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"toolInvokeComponent","focusBackColor":"white","sourcePlatform":"","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":1973.736669958303,"y":369.623015873016,"id":"jadeas9z1s","pad":6,"bold":false,"text":"删除模型","type":"toolInvokeNodeState","dirty":false,"index":9,"width":360,"height":335,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"modelId"},{"name":"userId"}],"return":{"type":"string"},"uniqueName":"ff0a4b59-0be7-436f-8931-6a599ed9f8f3"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"modelId_e329ead9-4485-453a-8973-9047c1e06a9a","from":"Reference","name":"modelId","type":"String","value":["output","info","modelId"],"isRequired":true,"description":"模型id","referenceId":"a29201e7-7fe3-4f3f-834d-899a6cfbd79e","referenceKey":"modelId","referenceNode":"jade1osjbn"},{"id":"userId_47ee255d-9eeb-418c-aabc-8eb7871d0be5","from":"Reference","name":"userId","type":"String","value":["output","info","userId"],"isRequired":true,"description":"用户id","referenceId":"ae07dc15-b235-4139-ad89-9b6160988472","referenceKey":"userId","referenceNode":"jade1osjbn"}],"outputParams":[{"id":"output_786cf758-f9af-4959-83e7-251a01e04fb0","name":"output","type":"String","value":[]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"toolInvokeComponent","focusBackColor":"white","sourcePlatform":"","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":1739.953710973929,"y":381.97731623573924,"id":"jade2cfmdw","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":10,"textX":0,"textY":0,"width":235.21153041294792,"hAlign":"center","height":-333.9971575055809,"italic":false,"margin":20,"toShape":"jadehyxese","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade0305an","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-0|20e8e83b-31f2-4ba5-93b7-0920b2b7cc2e"},{"x":1966.593812815448,"y":741.0515873015875,"id":"jade3q2qyw","pad":6,"bold":false,"text":"切换默认模型","type":"toolInvokeNodeState","dirty":false,"index":11,"width":360,"height":335,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"modelId"},{"name":"userId"}],"return":{"type":"string"},"uniqueName":"f76205df-1814-49b9-a473-c03ee99770b7"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"modelId_1312ce29-7bb9-4ac2-8cb9-e53a3f6b68c8","from":"Reference","name":"modelId","type":"String","value":["output","info","modelId"],"isRequired":true,"description":"默认模型id","referenceId":"a29201e7-7fe3-4f3f-834d-899a6cfbd79e","referenceKey":"modelId","referenceNode":"jade1osjbn"},{"id":"userId_71b52489-3462-48ea-824c-ce04d99ba7e2","from":"Reference","name":"userId","type":"String","value":["output","info","userId"],"isRequired":true,"description":"用户id","referenceId":"ae07dc15-b235-4139-ad89-9b6160988472","referenceKey":"userId","referenceNode":"jade1osjbn"}],"outputParams":[{"id":"output_4113326b-5e9f-495e-8112-2ca9a0dca171","name":"output","type":"String","value":[]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"toolInvokeComponent","focusBackColor":"white","sourcePlatform":"","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":1739.953710973929,"y":569.9773031567772,"id":"jade31ntj1","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":12,"textX":0,"textY":0,"width":233.7829589843741,"hAlign":"center","height":-32.85428728376121,"italic":false,"margin":20,"toShape":"jadeas9z1s","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade0305an","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-1|42754fab-4274-4e32-9811-9088eb80f691"},{"x":1739.953710973929,"y":757.977268279545,"id":"jadedmxi6l","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":13,"textX":0,"textY":0,"width":226.64010184151903,"hAlign":"center","height":150.57431902204246,"italic":false,"margin":20,"toShape":"jade3q2qyw","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade0305an","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-2|79592b84-07fd-4212-9f50-71479aa86b22"},{"x":2335.165241386877,"y":47.98015873015834,"id":"jadejcuwis","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":14,"textX":0,"textY":0,"width":228.9419014702653,"hAlign":"center","height":-36.658730158729725,"italic":false,"margin":20,"toShape":"jadesoux5i","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadehyxese","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":2633.736669958307,"y":322.4801587301588,"id":"jade7dv633","pad":6,"bold":false,"text":"删除模型结束","type":"endNodeEnd","dirty":false,"index":15,"width":360,"height":313,"italic":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"104c12c3-804b-419f-a1c7-24b66516ed42","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"020da94c-e511-4ee9-8e2b-0ce5eb3103cb","from":"Reference","name":"finalOutput","type":"String","value":["output"],"editable":true,"isRequired":true,"description":"","referenceId":"output_786cf758-f9af-4959-83e7-251a01e04fb0","referenceKey":"output","referenceNode":"jadeas9z1s"}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"0367a295-adad-4a19-a08e-ab04c37db3ac","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":2602.308098529733,"y":732.4801587301587,"id":"jade1thrs1","pad":6,"bold":false,"text":"结束_2","type":"endNodeEnd","dirty":false,"index":16,"width":360,"height":313,"italic":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"9f2d49d0-240d-46bb-80cb-a4391ac0de69","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"0f777bfd-06e5-452a-b80e-509057551d72","from":"Reference","name":"finalOutput","type":"String","value":["output"],"editable":true,"isRequired":true,"description":"","referenceId":"output_4113326b-5e9f-495e-8112-2ca9a0dca171","referenceKey":"output","referenceNode":"jade3q2qyw"}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"fac8c254-46c4-42b2-92f0-32990dcd0086","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":1863.736669958305,"y":1129.6230158730177,"id":"jadeifaftx","pad":6,"bold":false,"text":"退出表单结束","type":"endNodeEnd","dirty":false,"index":17,"width":360,"height":313,"italic":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"59007e69-9047-42d4-bfcd-3150e78f0215","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"cffd1f94-832a-4f23-b8d5-b72db4d521c1","from":"Input","name":"finalOutput","type":"String","value":"已退出,请重新开始对话来发起新的模型配置请求。","editable":true,"isRequired":true,"description":""}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"6f7d0c10-fe39-4dbe-8e72-0d5202e42a22","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":2333.736669958303,"y":537.123015873016,"id":"jadei8jdd4","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":18,"textX":0,"textY":0,"width":300.0000000000041,"hAlign":"center","height":-58.142857142857224,"italic":false,"margin":20,"toShape":"jade7dv633","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadeas9z1s","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":1739.953710973929,"y":870.9773478432309,"id":"jadecg9j3o","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":19,"textX":0,"textY":0,"width":123.78295898437591,"hAlign":"center","height":415.14566802978686,"italic":false,"margin":20,"toShape":"jadeifaftx","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade0305an","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-999"},{"x":2326.593812815448,"y":908.5515873015875,"id":"jadewcxlt5","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":20,"textX":0,"textY":0,"width":275.71428571428487,"hAlign":"center","height":-19.571428571428783,"italic":false,"margin":20,"toShape":"jade1thrs1","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade3q2qyw","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"}]}],"enableText":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.fitable.FlowInfoCallback"]},"enableOutputScope":true,"exceptionFitables":["modelengine.fit.jober.aipp.fitable.AippFlowExceptionHandler","modelengine.fit.jober.fitable.FlowInfoException"]},"version":"1.0.0"}', 'Jade', '2025-04-18 12:12:24.368006', 'Jade', '2025-04-18 12:12:24.831911', NULL, 'f') ON CONFLICT (id, version) DO NOTHING; + +INSERT INTO "public"."store_app" ("like_count", "download_count", "source", "icon", "app_category", "tool_name", "tool_unique_name") VALUES (0, 0, 'system', '', 'chatbot', '模型配置应用', '7a76cbd2-881d-469b-b2df-76abed7d0b61') ON CONFLICT ("tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('模型配置应用', '{"name":"模型配置应用","description":"当你想要配置模型的时候,请使用我!","manualIntervention":false,"parameters":{"type":"object","properties":{"aippId":{"description":"the aipp id of the waterFlow tool","default":"0b4fe5a430104edfbe0dc6cff0ebea19","type":"string"},"tenantId":{"description":"the tenant id of the waterFlow tool","default":"31f20efc7e0848deab6a6bc10fc3021e","type":"string"},"inputParams":{"type":"object","properties":{"Question":{"type":"String","description":"这是用户输入的问题。"}},"required":["Question"],"order":["Question"]},"version":{"description":"the aipp version of the waterFlow tool","default":"1.0.0","type":"string"}},"required":["tenantId","aippId","version","inputParams"]},"return":{"type":"object","properties":{}},"order":["tenantId","aippId","version","inputParams"]}', '{"FIT":{"fitableId":"water.flow.invoke","genericableId":"07b51bd246594c159d403164369ce1db"},"APP":{"aippId":"0b4fe5a430104edfbe0dc6cff0ebea19","appCategory":"chatbot","version":"1.0.0","appId":"cec6bfe7cb3a444f8a26a97ea513e501"}}', 'null', '7a76cbd2-881d-469b-b2df-76abed7d0b61', '1.0.0', 't', '7a76cbd2-881d-469b-b2df-76abed7d0b61', '7a76cbd2-881d-469b-b2df-76abed7d0b61', '7a76cbd2-881d-469b-b2df-76abed7d0b61') ON CONFLICT ("unique_name", "version") DO NOTHING; + +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('7a76cbd2-881d-469b-b2df-76abed7d0b61', 'APP') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('7a76cbd2-881d-469b-b2df-76abed7d0b61', 'APP_TYPE_B653EDB7EB5A49BE91ABCD2C5877C6AD') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; \ No newline at end of file diff --git a/app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/aipp_custom_model_center.sql b/app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/schema/create_tables/aipp_custom_model_center.sql similarity index 91% rename from app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/aipp_custom_model_center.sql rename to app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/schema/create_tables/aipp_custom_model_center.sql index d997efdd20..a10552c7dd 100644 --- a/app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/aipp_custom_model_center.sql +++ b/app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/schema/create_tables/aipp_custom_model_center.sql @@ -1,8 +1,8 @@ create table if not exists t_app_engine_model ( "id" bigserial primary key not null, - "created_at" timestamp(9) default current_timestamp not null, - "updated_at" timestamp(9) default current_timestamp not null, + "created_at" timestamp default current_timestamp not null, + "updated_at" timestamp default current_timestamp not null, "created_by" varchar(64) default 'system' not null, "updated_by" varchar(64) default 'system' not null, "model_id" varchar(255) not null, @@ -26,8 +26,8 @@ comment on column t_app_engine_model.type is '模型类型'; create table if not exists t_app_engine_user_model ( "id" bigserial primary key not null, - "created_at" timestamp(9) default current_timestamp not null, - "updated_at" timestamp(9) default current_timestamp not null, + "created_at" timestamp default current_timestamp not null, + "updated_at" timestamp default current_timestamp not null, "created_by" varchar(64) default 'system' not null, "updated_by" varchar(64) default 'system' not null, "user_id" varchar(255) not null, diff --git a/app-builder/plugins/plugins-show-case-parent/aito-data/src/main/resources/sql/data/tr_t_wenjie.sql b/app-builder/plugins/plugins-show-case-parent/aito-data/src/main/resources/sql/data/tr_t_wenjie.sql new file mode 100644 index 0000000000..4752621832 --- /dev/null +++ b/app-builder/plugins/plugins-show-case-parent/aito-data/src/main/resources/sql/data/tr_t_wenjie.sql @@ -0,0 +1,59 @@ +INSERT INTO "public"."app_builder_app" ("id", "name", "create_by", "create_at", "update_by", "update_at", "config_id", "flow_graph_id", "tenant_id", "type", "version", "attributes", "state", "app_built_type", "app_category", "collection_usr_cnt", "is_deleted", "path", "app_type") VALUES ('550177e8d0e34014a2d95988ef1c67c5', '问界试驾助手', 'Jade', '2025-04-19 09:08:09.532855', 'Jade', '2025-04-19 09:15:37.326128', '2aee7721a4fb46b3b0a789f9037b040d', '5711f3230eb94abdb168e61d2082d1d2', '31f20efc7e0848deab6a6bc10fc3021e', 'app', '1.0.0', '{"icon": "", "name": "问界试驾助手", "greeting": "", "store_id": "2a3141b2-8c83-40c2-b2b6-103746c125d3", "is_update": false, "description": "", "publishedUpdateLog": "", "publishedDescription": "问界试驾助手"}', 'active', 'workflow', 'chatbot', 0, 0, 'pTTfcIHbWg8gW0sK', '4db152b24f94473ab683b1acbfe3c865') ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_config" ("id", "form_id", "app_id", "tenant_id", "create_by", "create_at", "update_by", "update_at", "is_deleted") VALUES ('2aee7721a4fb46b3b0a789f9037b040d', 'b8986770a6ffef44bbf2a9f26d6fc1be', '550177e8d0e34014a2d95988ef1c67c5', '31f20efc7e0848deab6a6bc10fc3021e', 'Jade', '2025-04-19 09:08:09.532855', 'Jade', '2025-04-19 09:15:37.326128', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('a34e2263306c40d4ae094f3824f1a597', 'jadewdnjbq', '662b1e243b8e43788092b8bff6b7a5f6', '2aee7721a4fb46b3b0a789f9037b040d', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('08b052891c9c427cbbeb3691d417d1a4', 'jadewdnjbq', 'ae708d5828194845afc15402d2849b8b', '2aee7721a4fb46b3b0a789f9037b040d', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('900566e10af8443483de407ac06d8757', 'jade6qm5eg', 'b7a7c427418d4d8eb5e8f96165a1d6a6', '2aee7721a4fb46b3b0a789f9037b040d', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('457189dd226b4da49c1ba69de02d673a', 'jade0pg2ag', 'c383886d8a154b3f9e94950467d92432', '2aee7721a4fb46b3b0a789f9037b040d', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('b7f5c36e7bdc4d7daa4b52ca1235f71b', 'jadewdnjbq', '6290bce2ccf249239bc52866604a3920', '2aee7721a4fb46b3b0a789f9037b040d', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('c0ea9932b52f4c1b9190defa05e0dd13', 'jadewdnjbq', 'd8bd923772b247cf88bfcb7571059066', '2aee7721a4fb46b3b0a789f9037b040d', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('b1b212206a2b4b799a1882656b1caebe', 'jadewdnjbq', '01ec06bcc0e7483da79b7f1c55b7851e', '2aee7721a4fb46b3b0a789f9037b040d', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('16af6a6c453941e9a0ade975e1f5e08a', 'jadewdnjbq', 'ba6cd122de7d4e20a8e69702379a4b9f', '2aee7721a4fb46b3b0a789f9037b040d', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_flow_graph" ("id", "name", "create_by", "create_at", "update_by", "update_at", "appearance", "is_deleted") VALUES ('5711f3230eb94abdb168e61d2082d1d2', 'LLM模板', 'Jade', '2025-04-19 09:08:09.532855', 'Jade', '2025-04-19 09:15:37.326128', '{"id": "5711f3230eb94abdb168e61d2082d1d2", "type": "jadeFlowGraph", "pages": [{"x": -449.2228577394942, "y": 648.7782362023345, "id": "elsa-page:tvp1s6", "bold": false, "mode": "configuration", "text": "newFlowPage", "type": "jadeFlowPage", "dirty": true, "index": 0, "width": 1600, "hAlign": "left", "height": 800, "isPage": true, "italic": false, "scaleX": 0.7732920492783848, "scaleY": 0.7732920492783848, "shapes": [{"x": -1123.5461204767116, "y": 184.25814386932322, "id": "jade6qm5eg", "pad": 6, "bold": false, "text": "开始", "type": "startNodeStart", "dirty": false, "index": 0, "width": 360, "height": 226, "italic": false, "shadow": "0 2px 4px 0 rgba(0,0,0,.1)", "flowMeta": {"inputParams": [{"id": "91138f09-b635-43df-95c6-1fe3d1745829", "from": "Expand", "name": "input", "type": "Object", "value": [{"id": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "from": "Input", "name": "Question", "type": "String", "value": "", "isVisible": true, "isRequired": true, "description": "这是用户输入的问题。", "displayName": "用户问题", "disableModifiable": true}], "config": [{"allowAdd": false}]}, {"id": "4a770dc6-e3c9-475d-84c7-48dacc74a5b6", "from": "Expand", "name": "memory", "type": "Object", "value": [{"id": "a7675623-7fc7-468c-8910-e73c70e5e468", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": true}, {"id": "cee9a31b-781c-4835-a616-ceed73be22f2", "from": "Input", "name": "type", "type": "String", "value": "ByConversationTurn"}, {"id": "69592622-4291-409d-9d65-9faea83db657", "from": "Input", "name": "value", "type": "Integer", "value": "3"}]}], "triggerMode": "auto"}, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": false, "namespace": "flowable", "autoHeight": true, "emphasized": false, "rotateAble": false, "borderColor": "rgba(28,31,35,.08)", "borderWidth": 1, "focusShadow": "0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)", "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "startComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "mouseInBorderColor": "rgba(28,31,35,.08)"}, {"x": 819.1428754447782, "y": 139.13955828369046, "id": "jadewdnjbq", "pad": 6, "bold": false, "text": "大模型", "type": "llmNodeState", "dirty": false, "index": 1, "width": 360, "height": 344, "italic": false, "shadow": "0 2px 4px 0 rgba(0,0,0,.1)", "flowMeta": {"jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "31ba235d-1b26-4780-a7a7-32eca9500919", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "83653b54-dd04-4da9-957d-adb7c2728632", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "dd588a17-a69c-40c0-859a-d9930202a148", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "6c414e75-971e-403a-b2b1-c6850f128cc4", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "db5fdafa-4cbf-44ba-9cca-8a98f1f771f4", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}, {"id": "88f74d78-4711-4f81-a2e7-74d0034c5e88", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "35a710cf-1b79-4523-b16f-b50878d677fe", "from": "Input", "name": "template", "type": "String", "value": "如果用户未指定具体车型,则按照用户问题,结合工具提供的问界车型信息,给出简略概要类的回答。\n问题:{{query}} "}, {"id": "38fb27a1-71f4-4fcc-87d5-9d8a880bc04d", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "eee66922-4304-4209-89fc-b13ffa101630", "from": "Reference", "name": "query", "type": "String", "value": ["Question"], "referenceId": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "referenceKey": "Question", "referenceNode": "jade6qm5eg"}]}]}, {"id": "a6865419-867c-4bfb-855c-f5c1876c965a", "from": "Expand", "name": "tools", "type": "Array", "value": [{"id": "29d1707c-beaa-44c8-9eb2-08462880b031", "from": "Input", "name": "问界车型信息查询", "tags": ["FIT"], "type": "String", "value": "7cba6fdd-8c6d-410f-81dc-775ffe96902b", "version": "1.0.0"}]}, {"id": "308e2023-a8e9-486e-9784-8680addbb786", "from": "Expand", "name": "workflows", "type": "Array", "value": []}, {"id": "68f92923-d5da-42ce-8478-d7ac7d90664e", "from": "Input", "name": "systemPrompt", "type": "String", "value": "你是一个具备自主工具调用能力的智能体,可以展示中间的思考过程给用户。你的回答有两种情况:\n\n无需调用外部工具\n\n如果问题可通过已有对话历史或直接推理得到答案,直接输出最终结果,不需使用任何标签包装,也不显示详细思考过程。\n需要调用外部工具解决的复杂问题\n\n必须采用以下严格的标签体系输出,每个标签之间空一行,且仅展示真实的工具调用结果:\n...:展示你内部的思考过程。注意,这部分内容可以展示给用户,但仅限于描述思路,不应包含任何伪造的工具调用结果。\n...:描述你准备调用工具的原因和计划。此处仅说明你需要调用哪个工具以及原因,工具的名称对人类阅读要友好,切勿直接模拟或输出工具返回内容。\n...:当你真正调用某个工具后,等待工具反馈,然后将工具调用的返回结果做非常简略的摘要后放在此标签内,摘要字数在20字以内。绝对禁止在未获得真实工具反馈前预先构造。 标签内容。\n...:在获取所有真实工具调用结果后,将整合信息给出最终答案。\n**重要要求**:\n- **不要输出tool_call标签**。\n- **答案必须详细完整**,不仅仅是工具返回结果的简单总结,而是对结果进行深入分析和整合,并提供背景解释、推理过程和可行性分析。\n- **确保所有关键信息得到展开**,避免省略任何重要内容。\n- **如果适用,可以提供额外的解释、使用建议或应用场景,以增强回答的实用性**。\n- 请使用**标准 Markdown 语法**输出答案,保证语法完整,**不要拆分**列表结构。\n- **输出此标签后,不得追加任何其他内容或标签**。\n\n严格要求\n\n切勿在中间思考或工具调用计划中,提前生成伪造的 标签内容。必须在实际调用工具并获得反馈后,再以 标签展示真实结果,再生成 标签输出最终答案。\n如果历史对话中已包含真实的工具调用结果,应直接使用这些信息构造最终答案,避免重复调用或展示多余标签。\n在所有工具调用完成之前,不得输出 标签;只有在确认所有真实工具反馈后,才生成最终答案。"}, {"id": "78baad16-173f-4d70-a7cd-d1a2abc2f0d1", "from": "input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "6d8d88d4-ebaa-4a57-9279-ae5b26654b5c", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "e1b4bea8-0028-49a1-9e7d-ec29cff215da", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "95d84d67-3198-415e-a63c-bc9a2da8d821", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "272c927a-9e25-48b6-a921-6a8ab20267a4", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "5782976c-0c1c-47b8-bcd5-8b6e22e52d39", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "flowable", "autoHeight": true, "emphasized": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "focusShadow": "0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)", "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "llmComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 1324.8563982124583, "y": 33.988095238095184, "id": "jademzanbn", "pad": 6, "bold": false, "text": "车型提取", "type": "textExtractionNodeState", "dirty": false, "index": 2, "width": 360, "height": 334, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "extractParam"}, {"name": "memoryConfig"}, {"name": "memorySwitch"}, {"name": "histories"}], "return": {"type": "object"}, "uniqueName": "3bca6a3f-9623-4228-b120-1a5e0d41dc14"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"stageDesc": "分析试驾车型中...", "inputParams": [{"id": "extractParam_2ca71bb8-ea6e-4d08-8f24-16a6fc3b64b6", "from": "Expand", "name": "extractParam", "type": "Object", "value": [{"id": "text_5d4f3012-93a0-4ebf-a9f1-17a9fe252651", "from": "Reference", "name": "text", "type": "String", "value": ["output", "llmOutput"], "referenceId": "272c927a-9e25-48b6-a921-6a8ab20267a4", "referenceKey": "llmOutput", "referenceNode": "jadewdnjbq"}, {"id": "desc_12bbcd63-44c5-48d3-88c6-8b3d48b7c431", "from": "Input", "name": "desc", "type": "String", "value": "车型必须在该范围内:问界新M5 增程 Max,问界新M5 增程 Max RS,问界新M5 纯电 Max,问界M7 Ultra 五座后驱版,问界M7 Ultra 五座四驱版,问界M7 Ultra 六座后驱版,问界M7 Ultra 六座四驱版,问界M7 Pro 五座后驱版,问界M7 Pro 五座四驱版,问界M7 Pro 六座后驱版,问界M7 Pro 六座四驱版,问界M9 增程 Max 六座版,问界M9 增程 Ultra 六座版,问界M9 纯电 Max 六座版,问界M9 纯电 Ultra 六座版,问界M9 增程 Max 五座版,问界M9 增程 Ultra 五座版,问界M9 纯电 Ultra 五座版 "}, {"id": "outputSchema_77df0737-ef00-4e3b-864c-31402655c65c", "from": "Input", "name": "outputSchema", "type": "String", "value": "{\"type\":\"object\",\"properties\":{\"carTypes\":{\"type\":\"array\",\"description\":\"问界的车型列表,具体到型号\"}}}"}, {"id": "ed9f7d7e-4173-465b-a3f5-4d34345efa53", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "49a6dd9d-589f-4ca2-b66f-1b1951c5e886", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "582a3d24-d8d8-41c6-b9b7-277d5d994683", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "temperature_b5d5dd8c-1a39-450d-9851-130ff0aa3a78", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}]}, {"id": "memoryConfig_eed12a01-ccac-4bbd-ae80-39cf2d25a06c", "from": "Expand", "name": "memoryConfig", "type": "Object", "value": [{"id": "windowAlg_f20d73ee-6376-4c90-adf2-1386771aaabd", "from": "Input", "name": "windowAlg", "type": "String", "value": "buffer_window"}, {"id": "serializeAlg_4828a286-e3fd-4803-9887-31517cc82520", "from": "Input", "name": "serializeAlg", "type": "String", "value": "full"}, {"id": "property_c3ba42cf-cb22-46d4-bdcc-5d86204ad098", "from": "Input", "name": "property", "type": "Integer", "value": "0"}]}, {"id": "memorySwitch_d7c69077-05bf-4c1b-8e38-735e03d984ad", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": false}, {"id": "histories_51a356d1-f2ac-4f3b-b444-99a737100996", "from": "Reference", "name": "histories", "type": "Array", "value": ["memories"], "referenceId": "memories", "referenceKey": "memories", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "30bf32bc-b320-418e-ae62-b30d45b26255", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "37331645-54f7-4751-8d04-12ab9d74a8a7", "from": "Expand", "name": "extractedParams", "type": "Object", "value": [{"id": "f903ce3c-173c-4010-8e14-8e18d64c9b27", "from": "Input", "name": "carTypes", "type": "Array", "value": "", "description": "问界的车型列表,具体到型号"}]}, {"id": "success_e3a426e0-3d67-42e3-b985-1daa32a44d20", "from": "Input", "name": "success", "type": "Boolean", "value": "Boolean"}]}], "enableStageDesc": true, "jadeNodeConfigChangeIgnored": false}}}, "stageDesc": "分析试驾车型中...", "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "enableStageDesc": true}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "textExtractionComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 1179.1428754447782, "y": 311.13955828369046, "id": "jadevbcutd", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 3, "textX": 0, "textY": 0, "width": 145.71352276768016, "hAlign": "center", "height": -110.15146304559528, "italic": false, "margin": 20, "toShape": "jademzanbn", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadewdnjbq", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 1938.9763707660359, "y": -16.95528828179343, "id": "jade0ibwv7", "pad": 6, "bold": false, "text": "判断车型列表长度", "type": "codeNodeState", "dirty": false, "index": 4, "width": 368, "height": 252, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "args"}, {"name": "code"}, {"name": "language"}, {"name": "output"}], "return": {"type": "object"}, "uniqueName": "e147f301-957a-4335-a155-1e86d1a45ae5"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "cab31f1f-5429-4f02-99b9-540e0d795357", "from": "Expand", "name": "args", "type": "Object", "value": [{"id": "bc929113-6c29-46b8-a1ad-8d53f2d9bb2e", "from": "Reference", "name": "input", "type": "Object", "value": ["output"], "referenceId": "7f1994bf-3a0b-442a-9bbb-d0069949fbbd", "referenceKey": "output", "referenceNode": "jadez5f1df"}]}, {"id": "66c7a482-6c7f-4698-807c-159aaba67485", "from": "Input", "name": "code", "type": "String", "value": "async def main(args: dict) -> str:\n is_valid_res = args.get(''input'', {}).get(''success'', bool)\n\n if not is_valid_res:\n return ''empty''\n\n input_list = args.get(''input'', {}).get(''extractedParams'', {}).get(''carTypes'', [])\n\n if len(input_list) == 0:\n return ''empty''\n elif len(input_list) == 1:\n return ''single''\n else:\n return ''multi''\n", "language": "python"}, {"id": "5368a24a-8782-4c08-9b79-58bfcd86f6e3", "from": "Input", "name": "language", "type": "String", "value": "python"}, {"id": "e6aea608-a116-4f5c-9554-1a704547665e", "from": "Input", "name": "output", "type": "Object", "value": {"properties": {"output": {"type": "string", "description": ""}}}}], "outputParams": [{"id": "70793ed8-e5c9-4ede-9945-5db35626f68f", "from": "Expand", "name": "output", "type": "String", "value": ""}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "codeComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 2330.285047191377, "y": 120.84717835822356, "id": "jadeh0ccb7", "pad": 6, "bold": false, "text": "条件", "type": "conditionNodeCondition", "dirty": false, "index": 5, "width": 600, "height": 284, "italic": false, "flowMeta": {"joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "conditionParams": {"branches": [{"id": "23d6704f-527f-43d9-8621-d8577d71dfec", "type": "if", "runnable": true, "conditions": [{"id": "ddee81d4-a971-494c-99df-f94f37633531", "value": [{"id": "4d1e95b4-e9fd-431c-9d33-2b5c874dea02", "from": "Reference", "name": "left", "type": "String", "value": ["output"], "referenceId": "70793ed8-e5c9-4ede-9945-5db35626f68f", "referenceKey": "output", "referenceNode": "jade0ibwv7"}, {"id": "57b838c4-c03d-47f3-9f57-3f75d62898f2", "from": "Input", "name": "right", "type": "String", "value": "empty", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "6f8c44d7-ad5c-4004-95e0-e01c391be100", "type": "if", "runnable": true, "conditions": [{"id": "7fd27d06-ac26-4225-a927-2b0d4a773cd4", "value": [{"id": "0c2c78a1-6770-4f46-b36e-a30f3ce96b56", "from": "Reference", "name": "left", "type": "String", "value": ["output"], "referenceId": "70793ed8-e5c9-4ede-9945-5db35626f68f", "referenceKey": "output", "referenceNode": "jade0ibwv7"}, {"id": "082798c7-f2f6-40a8-bc73-edc9a174d0d3", "from": "Input", "name": "right", "type": "String", "value": "single", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "73eee09c-caeb-44c1-a54b-65b54d2f8db8", "type": "else", "runnable": true, "conditions": [{"id": "7f70dfc4-154a-48bb-849a-158e22eff435", "value": [], "condition": "true"}], "conditionRelation": "and"}], "jadeNodeConfigChangeIgnored": true}}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "conditionComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 2306.976370766036, "y": 109.04471171820657, "id": "jadec676as", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 6, "textX": 0, "textY": 0, "width": 23.30867642534122, "hAlign": "center", "height": 153.802466640017, "italic": false, "margin": 20, "toShape": "jadeh0ccb7", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade0ibwv7", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 3095.528839751806, "y": 1087.2644560112249, "id": "jadejnmnp4", "pad": 6, "bold": false, "text": "选择需要了解的车型", "type": "intelligentFormNodeState", "dirty": false, "index": 7, "width": 360, "height": 236, "italic": false, "flowMeta": {"task": {"type": "AIPP_SMART_FORM", "taskId": "a910a3d38a4549eda1112beee008419d", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "83131a2d-781b-4756-a0c8-91ee865ffbae", "from": "Expand", "name": "data", "type": "Object", "value": [{"id": "input_1bb450c2-e4f9-471f-ac11-4760ed04461c", "from": "Input", "name": "car", "type": "String", "value": "car", "displayName": "我想深入了解的车型"}, {"id": "28da30c8-2e73-46d1-a1ad-85d8b0c734b9", "from": "Reference", "name": "car-options", "type": "Array", "value": ["output"], "referenceId": "504a2241-6962-4de4-901a-3df2b798eaa2", "referenceKey": "output", "referenceNode": "jadebz0q8j"}]}, {"id": "c554e101-37b5-4aa1-b9b3-bfcfb2423583", "from": "Input", "name": "schema", "type": "Object", "value": {"parameters": [{"id": "input_1bb450c2-e4f9-471f-ac11-4760ed04461c", "from": "Input", "name": "car", "type": "String", "value": "car", "options": {"from": "Reference", "type": "Array", "value": ["output"], "referenceId": "504a2241-6962-4de4-901a-3df2b798eaa2", "referenceKey": "output", "referenceNode": "jadebz0q8j"}, "renderType": "Radio", "displayName": "我想深入了解的车型"}]}}], "outputParams": [{"id": "b5220628-4334-42c5-9ac9-93d4fca29ac8", "name": "output", "type": "Object", "value": [{"id": "input_1bb450c2-e4f9-471f-ac11-4760ed04461c", "name": "car", "type": "String", "value": ""}]}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "manual"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "intelligentFormComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 3136.121745249294, "y": 285.2614783280843, "id": "jadee2orhp", "pad": 6, "bold": false, "text": "代码_1", "type": "codeNodeState", "dirty": false, "index": 8, "width": 368, "height": 252, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "args"}, {"name": "code"}, {"name": "language"}, {"name": "output"}], "return": {"type": "object"}, "uniqueName": "e147f301-957a-4335-a155-1e86d1a45ae5"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "8f50ae1f-f0fc-4eac-889c-0a53274b9e12", "from": "Expand", "name": "args", "type": "Object", "value": [{"id": "11325c8d-0491-4f99-85d9-4df54a3048a5", "from": "Reference", "name": "input", "type": "Object", "value": ["output"], "referenceId": "7f1994bf-3a0b-442a-9bbb-d0069949fbbd", "referenceKey": "output", "referenceNode": "jadez5f1df"}]}, {"id": "32133c22-59bf-4b46-9eaa-d221a0032c23", "from": "Input", "name": "code", "type": "String", "value": "async def main(args: Args) -> Output:\n list_car = args.get(''input'', {}).get(''extractedParams'', {}).get(''carTypes'', [])\n return list_car[0]", "language": "python"}, {"id": "ff990b8b-cf0c-436d-a8e7-7d4863e8d396", "from": "Input", "name": "language", "type": "String", "value": "python"}, {"id": "9012d086-0ac4-4bcd-8455-e9b47e81c589", "from": "Input", "name": "output", "type": "Object", "value": {"properties": {"output": {"type": "string", "description": ""}}}}], "outputParams": [{"id": "b2e1f031-2fc8-410a-b2ec-73157db9750e", "from": "Expand", "name": "output", "type": "String", "value": ""}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "codeComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 756.4734101887923, "y": 1462.429481687775, "id": "jade3oqd4e", "pad": 6, "bold": false, "text": "大模型_2", "type": "llmNodeState", "dirty": false, "index": 9, "width": 360, "height": 344, "italic": false, "shadow": "0 2px 4px 0 rgba(0,0,0,.1)", "flowMeta": {"jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "263b7842-e631-454a-aca2-8d979a344865", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "7b6ccdee-5b0b-4411-8f21-b75fe7879f5f", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "357563a6-8a44-40b1-8bdf-d11330ea58bb", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "3668396b-2055-417b-bef3-974623bee721", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "0cdec945-916c-4d47-b14c-1059ce8189e3", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}, {"id": "8eb45463-3eb1-4543-ad3c-c8f4cb00a530", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "abf75403-ad7d-4364-9f33-92cfb306f000", "from": "Input", "name": "template", "type": "String", "value": "请按照以下步骤生成您的回复:\n1. 递归地将问题分解为更小的问题。\n2. 对于每个原子问题,从上下文和对话历史记录中选择最相关的信息。\n3. 使用所选信息生成回复草稿。\n4. 删除回复草稿中的重复内容。\n5. 在调整后生成最终答案,以提高准确性和相关性。\n6. 请注意,只需要回复最终答案。\n-------------------------------------\n问题:{{query}}"}, {"id": "7f267a0f-3a63-434f-a538-105229be8af6", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "b123d3e4-0570-42c6-a20b-6fbcb0235674", "from": "Reference", "name": "query", "type": "String", "value": ["Question"], "referenceId": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "referenceKey": "Question", "referenceNode": "jade6qm5eg"}]}]}, {"id": "6a5694e0-5100-4697-bb4e-8b030ed89624", "from": "Expand", "name": "tools", "type": "Array", "value": []}, {"id": "9eed644b-62ae-4fd2-b5da-c7b5a4244059", "from": "Expand", "name": "workflows", "type": "Array", "value": []}, {"id": "2dcf3b33-dd57-4bb6-ae66-f2484d44d2e6", "from": "Input", "name": "systemPrompt", "type": "String", "value": "角色:你是一个问界试驾助手。\n限制:对于涉及其他品牌车型的问题,不进行详细回答,建议用户提问关于问界车型的问题或是一般性的汽车知识问题。"}, {"id": "eed2b900-e733-4ca0-adbb-18d6a0b6082b", "from": "input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "177986fa-db8d-4f92-a6f2-546b7232b94b", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "ca60a33d-41f2-4d36-bac2-19e8aa0cf6dc", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "98f2c414-2a1b-4d27-86aa-361a66973fd9", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "2e94082b-930d-4016-a180-a07bd0ad8e50", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "df7f2c19-3d1a-4531-a0a5-11d31286e6e8", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "flowable", "autoHeight": true, "emphasized": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "focusShadow": "0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)", "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "llmComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 3641.1444929801864, "y": 259.58807973293915, "id": "jadeq2zedq", "pad": 6, "bold": false, "text": "确认试驾车型", "type": "intelligentFormNodeState", "dirty": false, "index": 10, "width": 360, "height": 236, "italic": false, "flowMeta": {"task": {"type": "AIPP_SMART_FORM", "taskId": "a910a3d38a4549eda1112beee008419d", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "9ac3705a-a49d-4240-87dc-7963533a46a5", "from": "Expand", "name": "data", "type": "Object", "value": [{"id": "2c678112-4c6d-44b2-a1f6-3d4b8718b893", "from": "Reference", "name": "car", "type": "String", "value": ["output"], "displayName": "试驾车型", "referenceId": "b2e1f031-2fc8-410a-b2ec-73157db9750e", "referenceKey": "output", "referenceNode": "jadee2orhp"}]}, {"id": "a4dfd48f-e998-4725-bb71-dfd0644785e2", "from": "Input", "name": "schema", "type": "Object", "value": {"parameters": [{"id": "2c678112-4c6d-44b2-a1f6-3d4b8718b893", "from": "Reference", "name": "car", "type": "String", "value": ["output"], "options": {"from": "Reference", "value": [], "referenceId": "f903ce3c-173c-4010-8e14-8e18d64c9b27", "referenceNode": "jademzanbn"}, "renderType": "Input", "displayName": "试驾车型", "referenceId": "b2e1f031-2fc8-410a-b2ec-73157db9750e", "referenceKey": "output", "referenceNode": "jadee2orhp"}]}}], "outputParams": [{"id": "41e1e5aa-846e-48ce-92ea-07e4d61f6553", "name": "output", "type": "Object", "value": [{"id": "2c678112-4c6d-44b2-a1f6-3d4b8718b893", "name": "car", "type": "String", "value": ""}]}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "manual"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "intelligentFormComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 3583.4751136945915, "y": 810.1291139444377, "id": "jadebywy1i", "pad": 6, "bold": false, "text": "大模型_1", "type": "llmNodeState", "dirty": false, "index": 11, "width": 360, "height": 344, "italic": false, "shadow": "0 2px 4px 0 rgba(0,0,0,.1)", "flowMeta": {"jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "905a7ab5-9f27-4ed8-b126-2a41394d9fe4", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "d3ac3f4a-d699-4341-89c3-d1c4921c1d2e", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "316ae379-274d-4fda-af6b-2f28b0356e2f", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "9ab32d21-b81b-4f13-9b5c-cd849ee7d334", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "9ee1c339-c88d-4248-86d6-139b64b763cf", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}, {"id": "99c6709d-5907-49e5-8394-0d294e8a3053", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "9646d069-0d62-4da2-a6cd-709c2e6b2d06", "from": "Input", "name": "template", "type": "String", "value": "通过工具获取车型信息,详细介绍这个车型:{{query}} "}, {"id": "16b3b1ba-cefd-4353-a29f-8004670c684a", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "4c02d0da-7879-4461-8090-960554b32128", "from": "Reference", "name": "query", "type": "String", "value": ["output", "car"], "referenceId": "input_1bb450c2-e4f9-471f-ac11-4760ed04461c", "referenceKey": "car", "referenceNode": "jadejnmnp4"}]}]}, {"id": "c04281f5-6769-476f-8d7d-7d21aa714ca8", "from": "Expand", "name": "tools", "type": "Array", "value": [{"id": "06142d65-2487-4a40-b592-ac4638ac527d", "from": "Input", "name": "问界车型信息查询", "tags": ["FIT"], "type": "String", "value": "7cba6fdd-8c6d-410f-81dc-775ffe96902b", "version": "1.0.0"}]}, {"id": "a188c341-d4c0-46a0-8a8c-7438b05a4b6c", "from": "Expand", "name": "workflows", "type": "Array", "value": []}, {"id": "14e1b376-64ab-4ce1-86d2-e3285cea971c", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "2308bdeb-ff69-4cd9-afd4-ba8132c5d939", "from": "input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "7f9b538a-7d1b-442d-b45e-5041364cfd4d", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "0"}, {"id": "62639076-5d67-4e37-bb54-024bdac816ec", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "8f3747e9-318f-49de-9de8-9610cf0049fc", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "d2156da5-09a9-4c8f-bf1a-9c63c457d439", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "6714da5e-b514-4911-b04b-96e3b83c15d7", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "flowable", "autoHeight": true, "emphasized": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "focusShadow": "0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)", "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "llmComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 3455.528839751806, "y": 1205.2644560112249, "id": "jadew1opy5", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 12, "textX": 0, "textY": 0, "width": 127.94627394278541, "hAlign": "center", "height": -223.1353420667872, "italic": false, "margin": 20, "toShape": "jadebywy1i", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadejnmnp4", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 4512.272758733045, "y": 788.3278204357666, "id": "jadez5nidp", "pad": 6, "bold": false, "text": "确认试驾车型2", "type": "intelligentFormNodeState", "dirty": false, "index": 13, "width": 360, "height": 236, "italic": false, "flowMeta": {"task": {"type": "AIPP_SMART_FORM", "taskId": "a910a3d38a4549eda1112beee008419d", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "2f92cbde-4e4b-4e7e-8307-18633cbb4352", "from": "Expand", "name": "data", "type": "Object", "value": [{"id": "610f8341-46f0-4e26-a6b8-58be5d52f560", "from": "Reference", "name": "car", "type": "String", "value": ["output", "car"], "displayName": "我要试驾车型", "referenceId": "input_1bb450c2-e4f9-471f-ac11-4760ed04461c", "referenceKey": "car", "referenceNode": "jadejnmnp4"}]}, {"id": "76c41bdf-8383-4318-a667-fd61b42609ab", "from": "Input", "name": "schema", "type": "Object", "value": {"parameters": [{"id": "610f8341-46f0-4e26-a6b8-58be5d52f560", "from": "Reference", "name": "car", "type": "String", "value": ["output", "car"], "options": {"from": "Reference", "value": [], "referenceId": "f903ce3c-173c-4010-8e14-8e18d64c9b27", "referenceNode": "jademzanbn"}, "renderType": "Input", "displayName": "我要试驾车型", "referenceId": "input_1bb450c2-e4f9-471f-ac11-4760ed04461c", "referenceKey": "car", "referenceNode": "jadejnmnp4"}]}}], "outputParams": [{"id": "a8df0b85-ef18-4362-b94b-df12022d1e13", "name": "output", "type": "Object", "value": [{"id": "610f8341-46f0-4e26-a6b8-58be5d52f560", "name": "car", "type": "String", "value": ""}]}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "manual"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "intelligentFormComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 1427.020111275216, "y": 1032.5974446613131, "id": "jadetvqkdx", "pad": 6, "bold": false, "text": "车型提取2", "type": "textExtractionNodeState", "dirty": false, "index": 14, "width": 360, "height": 334, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "extractParam"}, {"name": "memoryConfig"}, {"name": "memorySwitch"}, {"name": "histories"}], "return": {"type": "object"}, "uniqueName": "3bca6a3f-9623-4228-b120-1a5e0d41dc14"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"stageDesc": "分析试驾车型中...", "inputParams": [{"id": "extractParam_db169c41-8428-4d04-9ca9-d5462638b9de", "from": "Expand", "name": "extractParam", "type": "Object", "value": [{"id": "text_ed4e777e-3973-4dfe-a5cd-8b6997e3c16f", "from": "Reference", "name": "text", "type": "String", "value": ["Question"], "referenceId": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "referenceKey": "Question", "referenceNode": "jade6qm5eg"}, {"id": "desc_c5827ce1-b1c7-4959-98a6-79736761bfd7", "from": "Input", "name": "desc", "type": "String", "value": "车型必须在该范围内:问界新M5 增程 Max,问界新M5 增程 Max RS,问界新M5 纯电 Max,问界M7 Ultra 五座后驱版,问界M7 Ultra 五座四驱版,问界M7 Ultra 六座后驱版,问界M7 Ultra 六座四驱版,问界M7 Pro 五座后驱版,问界M7 Pro 五座四驱版,问界M7 Pro 六座后驱版,问界M7 Pro 六座四驱版,问界M9 增程 Max 六座版,问界M9 增程 Ultra 六座版,问界M9 纯电 Max 六座版,问界M9 纯电 Ultra 六座版,问界M9 增程 Max 五座版,问界M9 增程 Ultra 五座版,问界M9 纯电 Ultra 五座版 "}, {"id": "outputSchema_2dda5dc9-c4f7-4f4e-a3ac-60a5387d66c9", "from": "Input", "name": "outputSchema", "type": "String", "value": "{\"type\":\"object\",\"properties\":{\"carTypes\":{\"type\":\"array\",\"description\":\"问界的车型列表,具体到型号\"}}}"}, {"id": "6958ac49-541d-4768-b198-dfdf3767649a", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "fb995664-4eb1-49e2-80ba-b6d2991eedd5", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "755800ba-5209-4a3c-90b0-b4aa4bfd8fe2", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "temperature_6bb0ad3b-7bbf-4110-acbd-f4b103214374", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}]}, {"id": "memoryConfig_392e3f83-1fe1-43b5-88ae-afb9999ee4ee", "from": "Expand", "name": "memoryConfig", "type": "Object", "value": [{"id": "windowAlg_cde542de-39f0-4550-91dd-b1cf979f310d", "from": "Input", "name": "windowAlg", "type": "String", "value": "buffer_window"}, {"id": "serializeAlg_153d40da-349c-466e-8780-6eefc42ae5c6", "from": "Input", "name": "serializeAlg", "type": "String", "value": "full"}, {"id": "property_fb24ab56-f614-412b-b6d6-dfbbbc189365", "from": "Input", "name": "property", "type": "Integer", "value": "0"}]}, {"id": "memorySwitch_6b354c48-ed57-44b3-91a4-5940425dc1dc", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": false}, {"id": "histories_d7e7c55e-d25b-4e03-80f1-b9937979faf1", "from": "Reference", "name": "histories", "type": "Array", "value": ["memories"], "referenceId": "memories", "referenceKey": "memories", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "b65edebe-1855-4502-a72f-0a207fd6c99f", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "66248c5c-9f8f-4000-8597-e8d6b0d7b16d", "from": "Expand", "name": "extractedParams", "type": "Object", "value": [{"id": "eb21be95-d82b-49b3-9eaf-455f4e449410", "from": "Input", "name": "carTypes", "type": "Array", "value": "", "description": "问界的车型列表,具体到型号"}]}, {"id": "success_e1a7af2a-fde0-4e73-81c1-cced296e08e8", "from": "Input", "name": "success", "type": "Boolean", "value": "Boolean"}]}], "enableStageDesc": true, "jadeNodeConfigChangeIgnored": false}}}, "stageDesc": "分析试驾车型中...", "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "enableStageDesc": true}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "textExtractionComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 1912.2742953652482, "y": 796.1082161366603, "id": "jadez5f1df", "pad": 6, "bold": false, "text": "聚合车型列表", "type": "codeNodeState", "dirty": false, "index": 15, "width": 368, "height": 252, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "args"}, {"name": "code"}, {"name": "language"}, {"name": "output"}], "return": {"type": "object"}, "uniqueName": "e147f301-957a-4335-a155-1e86d1a45ae5"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "ee12101b-d717-4f49-9ff5-6d840676047a", "from": "Expand", "name": "args", "type": "Object", "value": [{"id": "b8d2fbbf-1152-4403-a6dc-8ae88d7ddec3", "from": "Reference", "name": "input1", "type": "Object", "value": ["output"], "referenceId": "30bf32bc-b320-418e-ae62-b30d45b26255", "referenceKey": "output", "referenceNode": "jademzanbn"}, {"id": "662c4a18-21e8-47e0-bce2-10c89cb51b63", "from": "Reference", "name": "input2", "type": "Object", "value": ["output"], "referenceId": "b65edebe-1855-4502-a72f-0a207fd6c99f", "referenceKey": "output", "referenceNode": "jadetvqkdx"}]}, {"id": "08e9c25a-e55c-4620-bcca-325d714160d5", "from": "Input", "name": "code", "type": "String", "value": "async def main(args: Args) -> Output:\n if args[''input1'']:\n return args[''input1'']\n else:\n return args[''input2''] \n", "language": "python"}, {"id": "7df2184c-f82f-43ab-9a30-d695fae550ea", "from": "Input", "name": "language", "type": "String", "value": "python"}, {"id": "35868ea7-d973-4a6c-b9f2-340a06f9f112", "from": "Input", "name": "output", "type": "Object", "value": {"properties": {"output": {"type": "object", "properties": {}, "description": ""}}}}], "outputParams": [{"id": "7f1994bf-3a0b-442a-9bbb-d0069949fbbd", "from": "Expand", "name": "output", "type": "Object", "value": []}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "codeComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 1684.8563982124583, "y": 200.98809523809518, "id": "jadeanptlq", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 16, "textX": 0, "textY": 0, "width": 227.41789715278992, "hAlign": "center", "height": 721.1201208985651, "italic": false, "margin": 20, "toShape": "jadez5f1df", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jademzanbn", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 1787.020111275216, "y": 1199.5974446613131, "id": "jade58w7a7", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 17, "textX": 0, "textY": 0, "width": 125.25418409003214, "hAlign": "center", "height": -277.48922852465284, "italic": false, "margin": 20, "toShape": "jadez5f1df", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadetvqkdx", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 2280.2742953652482, "y": 922.1082161366603, "id": "jadexs8po6", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 18, "textX": 0, "textY": 0, "width": -341.29792459921237, "hAlign": "center", "height": -813.0635044184537, "italic": false, "margin": 20, "toShape": "jade0ibwv7", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadez5f1df", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 2383.9637395101945, "y": 939.1301739903586, "id": "jadebz0q8j", "pad": 6, "bold": false, "text": "提取车型列表", "type": "codeNodeState", "dirty": false, "index": 19, "width": 368, "height": 252, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "args"}, {"name": "code"}, {"name": "language"}, {"name": "output"}], "return": {"type": "object"}, "uniqueName": "e147f301-957a-4335-a155-1e86d1a45ae5"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "ac8da121-58a3-4801-82f3-862533c0db2b", "from": "Expand", "name": "args", "type": "Object", "value": [{"id": "90d97368-2212-4176-ab52-55215cb5d6c6", "from": "Reference", "name": "input", "type": "Object", "value": ["output"], "referenceId": "7f1994bf-3a0b-442a-9bbb-d0069949fbbd", "referenceKey": "output", "referenceNode": "jadez5f1df"}]}, {"id": "5abd8220-a2e6-47a1-b3d7-61da5c91a7c8", "from": "Input", "name": "code", "type": "String", "value": "async def main(args: Args) -> Output:\n return args.get(''input'', {}).get(''extractedParams'', {}).get(''carTypes'', [])", "language": "python"}, {"id": "d09bd08d-d2f7-47c2-a74b-a9f9fe899387", "from": "Input", "name": "language", "type": "String", "value": "python"}, {"id": "c57b604c-0ae0-4d32-bef3-30c14793ddf1", "from": "Input", "name": "output", "type": "Object", "value": {"properties": {"output": {"type": "array", "description": ""}}}}], "outputParams": [{"id": "504a2241-6962-4de4-901a-3df2b798eaa2", "from": "Expand", "name": "output", "type": "Array", "value": ""}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "codeComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 2918.657887350822, "y": 344.64718910145405, "id": "jadep8j6qd", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 20, "textX": 0, "textY": 0, "width": -534.6941478406275, "hAlign": "center", "height": 720.4829848889045, "italic": false, "margin": 20, "toShape": "jadebz0q8j", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadeh0ccb7", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-999"}, {"x": 2751.9637395101945, "y": 1065.1301739903586, "id": "jader2ugw2", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 21, "textX": 0, "textY": 0, "width": 343.5651002416116, "hAlign": "center", "height": 140.1342820208663, "italic": false, "margin": 20, "toShape": "jadejnmnp4", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadebz0q8j", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 1585.717679196791, "y": 1882.192672636369, "id": "jadeaevz6w", "pad": 6, "bold": false, "text": "结束_1", "type": "endNodeEnd", "dirty": false, "index": 22, "width": 360, "height": 182, "italic": false, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "e42435d1-bd40-4a8f-a6da-6ce3b8c9e936", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "0cecce75-2752-4f0b-8c01-e55897f82eef", "from": "Reference", "name": "finalOutput", "type": "String", "value": ["output", "llmOutput"], "editable": true, "isRequired": true, "description": "", "referenceId": "2e94082b-930d-4016-a180-a07bd0ad8e50", "referenceKey": "llmOutput", "referenceNode": "jade3oqd4e"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "f7b318fa-c166-4b2d-b72a-e6b90b8c7324", "from": "Input", "name": "enableLog", "type": "Boolean", "value": false}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28,31,35,.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderWidth": 1, "mouseInBorderColor": "#B1B1B7"}, {"x": 1116.4734101887923, "y": 1634.429481687775, "id": "jadewhsta6", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 23, "textX": 0, "textY": 0, "width": 469.2442690079988, "hAlign": "center", "height": 338.763190948594, "italic": false, "margin": 20, "toShape": "jadeaevz6w", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade3oqd4e", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 4941.814604932744, "y": 1053.7568338252217, "id": "jadevgtszg", "pad": 6, "bold": false, "text": "结束_3", "type": "endNodeEnd", "dirty": false, "index": 24, "width": 360, "height": 182, "italic": false, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "10392a5e-479e-468d-9a87-bb85a2649cc2", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "b2ab53ef-8e29-4a95-9fed-be9894df8806", "from": "Input", "name": "out", "type": "String", "value": "您选择的试驾车型为:", "editable": true, "isRequired": true, "description": ""}, {"id": "31d34355-c6d3-459d-ac61-66eaf31f6fd4", "from": "Reference", "name": "car", "type": "String", "value": ["output", "car"], "editable": true, "isRequired": true, "description": "", "referenceId": "610f8341-46f0-4e26-a6b8-58be5d52f560", "referenceKey": "car", "referenceNode": "jadez5nidp"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "89dfe7b5-972a-4b2a-a2b4-86c9b851fe05", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 4872.272758733045, "y": 906.3278204357666, "id": "jade90v0rb", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 25, "textX": 0, "textY": 0, "width": 69.54184619969965, "hAlign": "center", "height": 238.42901338945512, "italic": false, "margin": 20, "toShape": "jadevgtszg", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadez5nidp", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 4360.7236177911855, "y": 276.14527960371345, "id": "jade9wr70l", "pad": 6, "bold": false, "text": "结束_2", "type": "endNodeEnd", "dirty": false, "index": 26, "width": 360, "height": 182, "italic": false, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "bf589d2e-aff9-46f4-a266-4f3b6b4ea6e7", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "9104e96f-26ec-46cf-88b4-1ff929f7b983", "from": "Input", "name": "out", "type": "String", "value": "您选择的试驾车型为:", "editable": true, "isRequired": true, "description": ""}, {"id": "7c278873-cea0-424b-b344-e22ab070aeb3", "from": "Reference", "name": "car", "type": "String", "value": ["output", "car"], "editable": true, "isRequired": true, "description": "", "referenceId": "2c678112-4c6d-44b2-a1f6-3d4b8718b893", "referenceKey": "car", "referenceNode": "jadeq2zedq"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "ab34cf0f-7fa9-424d-8b01-edc402fb163d", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 3281.554641671145, "y": -72.84814124515464, "id": "jadehrizke", "pad": 6, "bold": false, "text": "结束", "type": "endNodeEnd", "dirty": false, "index": 27, "width": 360, "height": 182, "italic": false, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "8fca4472-cb61-474b-97c8-be14566e998a", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "1e9b929c-bd6d-46c1-9b8c-23d1a0f7a7cc", "from": "Input", "name": "out", "type": "String", "value": "非常抱歉,不支持该车型的试驾。", "editable": true, "isRequired": true, "description": ""}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "8fcd715b-5e4c-488c-bcb7-ec5f4b5c83c2", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28,31,35,.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderWidth": 1, "mouseInBorderColor": "#B1B1B7"}, {"x": 2918.657887350822, "y": 241.64718520187574, "id": "jadeke55eo", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 28, "textX": 0, "textY": 0, "width": 362.896754320323, "hAlign": "center", "height": -223.49532644703038, "italic": false, "margin": 20, "toShape": "jadehrizke", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadeh0ccb7", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-0|23d6704f-527f-43d9-8621-d8577d71dfec"}, {"x": -503.16041743745245, "y": 128.7548542937538, "id": "jade1tc9vb", "pad": 6, "bold": false, "text": "用户问题分类", "type": "llmNodeState", "dirty": false, "index": 29, "width": 360, "height": 344, "italic": false, "flowMeta": {"jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "8e3a79d1-d39d-4815-9236-2e08bcbeb89d", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "d9ef67b3-a4e8-4b6c-b15b-0f55de543159", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "22a75a6e-c13a-45e7-9492-15613f79b1d8", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "a8265476-b028-4b32-88a4-cd9e27609d86", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "2c6a7c43-a6d7-4850-a60f-43d615085630", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}, {"id": "80222643-ef96-41ca-b9f6-6eae7f267a69", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "d655ab25-92c4-4af2-a01a-3e7e22a84362", "from": "Input", "name": "template", "type": "String", "value": "\"请分析用户的问题,并判断其意图是否是与问界汽车或是问界试驾有关。\n 如果用户的问题涉及问界汽车信息的询问,(例如:“请介绍一下问界M5”、 “给我推荐一款问界汽车”),则返回 ‘问界汽车问题’。\n如果用户只是咨询试驾相关内容(例如:“我想试驾问界M5”、“我想试驾保时捷911”),则返回 ‘试驾汽车问题’。\n如果用户问题是关于**其他品牌**的汽车或是一般性闲聊(例如:“最近有什么有趣的事?”、“今天天气不错”)则返回 ‘其他问题’\"\n用户问题:{{input}}\n**重要:不要回答``问界汽车问题``、``试驾汽车问题``、``其他问题``以外的文字**"}, {"id": "cfe7e088-9f69-4671-a44a-4cd0f553920e", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "046e05a4-4aa1-4694-8427-634bd97596d0", "from": "Reference", "name": "input", "type": "String", "value": ["Question"], "referenceId": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "referenceKey": "Question", "referenceNode": "jade6qm5eg"}]}]}, {"id": "248bb3d3-abcb-4072-8b14-360428994714", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "89b4068b-9926-4429-a334-9b6daefc11d0", "from": "Expand", "name": "tools", "type": "Array", "value": []}, {"id": "267e88b8-1cdc-4312-a117-a96ea6c37514", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "3b9fafe7-20ac-4d59-be6c-1dd61b264e70", "from": "Input", "name": "enableLog", "type": "Boolean", "value": false}, {"id": "ed3e6fda-3a66-405c-b5d4-100822755cd8", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "d4ae45a4-74cc-498c-9e6e-69a1694614fb", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "e8bd45b4-2216-4eda-af81-d008bb6012a9", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "2d7b57fb-c452-41d3-9fed-bed3289c64eb", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "llmComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": -763.5461204767116, "y": 297.25814386932325, "id": "jadeknglms", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 30, "textX": 0, "textY": 0, "width": 260.38570303925917, "hAlign": "center", "height": 3.496710424430546, "italic": false, "margin": 20, "toShape": "jade1tc9vb", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade6qm5eg", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": -66.83537340229776, "y": 197.7460840672867, "id": "jade5pubt6", "pad": 6, "bold": false, "text": "条件_1", "type": "conditionNodeCondition", "dirty": false, "index": 31, "width": 600, "height": 284, "italic": false, "flowMeta": {"joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "conditionParams": {"branches": [{"id": "407a4d42-fe33-427e-8553-9de19e9bb002", "type": "if", "runnable": true, "conditions": [{"id": "e6cc2561-bf7f-43e9-873e-675ef7fa1340", "value": [{"id": "146ae59a-df8a-4181-9dbc-466e6b81cdb9", "from": "Reference", "name": "left", "type": "String", "value": ["output", "llmOutput"], "referenceId": "e8bd45b4-2216-4eda-af81-d008bb6012a9", "referenceKey": "llmOutput", "referenceNode": "jade1tc9vb"}, {"id": "5a2bd11a-bbff-4e14-81a7-8f5d747d9e61", "from": "Input", "name": "right", "type": "String", "value": "问界汽车问题", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "7fe7b5fa-c661-4ba5-9f87-4e8070496dd0", "type": "if", "runnable": true, "conditions": [{"id": "fc38c7be-06ac-41eb-a896-e6bb0f9129d0", "value": [{"id": "767ed731-7595-46a6-9448-dcac3635694a", "from": "Reference", "name": "left", "type": "String", "value": ["output", "llmOutput"], "referenceId": "e8bd45b4-2216-4eda-af81-d008bb6012a9", "referenceKey": "llmOutput", "referenceNode": "jade1tc9vb"}, {"id": "1ce1f111-7dec-4fac-b6e5-fd02d5b78557", "from": "Input", "name": "right", "type": "String", "value": "试驾汽车问题", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "dc589e0f-3202-46e4-87f4-e550d54bbbc5", "type": "else", "runnable": true, "conditions": [{"id": "8d21bec4-7de8-4b35-9561-2e4374e42780", "value": [], "condition": "true"}], "conditionRelation": "and"}], "jadeNodeConfigChangeIgnored": true}}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "conditionComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": -143.16041743745245, "y": 300.7548542937538, "id": "jadey81zoy", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 32, "textX": 0, "textY": 0, "width": 76.32504403515469, "hAlign": "center", "height": 38.99122977353289, "italic": false, "margin": 20, "toShape": "jade5pubt6", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade1tc9vb", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 521.5373576131606, "y": 318.54609091093886, "id": "jade8w9r8o", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 33, "textX": 0, "textY": 0, "width": 297.6055178316176, "hAlign": "center", "height": -7.406532627248396, "italic": false, "margin": 20, "toShape": "jadewdnjbq", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade5pubt6", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-0|407a4d42-fe33-427e-8553-9de19e9bb002"}, {"x": 521.5373576131606, "y": 374.5460870922666, "id": "jadewp6fyj", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 34, "textX": 0, "textY": 0, "width": 905.4827536620555, "hAlign": "center", "height": 825.0513575690466, "italic": false, "margin": 20, "toShape": "jadetvqkdx", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade5pubt6", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-1|7fe7b5fa-c661-4ba5-9f87-4e8070496dd0"}, {"x": 521.5373576131606, "y": 421.54607877806717, "id": "jadeu36msk", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 35, "textX": 0, "textY": 0, "width": 234.93605257563172, "hAlign": "center", "height": 1212.883402909708, "italic": false, "margin": 20, "toShape": "jade3oqd4e", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade5pubt6", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-999"}, {"x": 4052.389624614043, "y": 653.9380776568371, "id": "jade9wm99z", "pad": 6, "bold": false, "text": "大模型_4", "type": "llmNodeState", "dirty": false, "index": 36, "width": 360, "height": 344, "italic": false, "flowMeta": {"jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "09e984b4-261d-4db4-9a79-bfdcab112355", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "f7469288-be18-4f27-8e0c-985b6444c3cf", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "57eece3d-c599-444e-8ad8-b76f7b2594ca", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "96ab5533-d3d0-4018-a341-16667d0df21b", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "6ee7671a-c9e2-4ae7-9348-d0f4c548e025", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}, {"id": "4e9c98fc-6547-4fd0-a71e-e21b9cd52f41", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "e7cd99dd-0143-44a9-81ee-ccebcc8b6a2c", "from": "Input", "name": "template", "type": "String", "value": "通过工具查询车型的图片:{{query}} "}, {"id": "56e29f98-ae8e-478c-b02e-75b8149f090a", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "77353774-8079-4f34-8672-44df471f2c2a", "from": "Reference", "name": "query", "type": "String", "value": ["output", "car"], "referenceId": "input_1bb450c2-e4f9-471f-ac11-4760ed04461c", "referenceKey": "car", "referenceNode": "jadejnmnp4"}]}]}, {"id": "6dd50ee8-6572-43d1-a7da-97c88138bf5d", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "0"}, {"id": "3d26bc7c-3757-4b90-b803-f919123bd1dc", "from": "Expand", "name": "tools", "type": "Array", "value": [{"id": "bf11ba32-9201-4618-8084-66c81e4a0608", "from": "Input", "name": "问界车型宣传图片", "tags": ["FIT"], "type": "String", "value": "e754f978-d236-44fa-aa55-e8eb5d8f8269", "version": "1.0.0"}]}, {"id": "e0ff690b-0e1c-4086-a299-94ab3cbfe5e5", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "267a67d4-c64c-488d-8263-7977c26b1c23", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "4cfaec42-099b-4ec4-ae23-a3f47d9db635", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "29377aa8-2eb4-4a99-99c5-19ef52f309a0", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "c7836226-62a7-47e6-b4fa-705ed2acffed", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "a2263372-420d-404c-93c0-e4e0edd79f39", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "llmComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 3943.4751136945915, "y": 982.1291139444377, "id": "jadepdt7pq", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 37, "textX": 0, "textY": 0, "width": 108.91451091945146, "hAlign": "center", "height": -156.19103628760058, "italic": false, "margin": 20, "toShape": "jade9wm99z", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadebywy1i", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 4412.389624614043, "y": 825.9380776568371, "id": "jade28pvut", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 38, "textX": 0, "textY": 0, "width": 99.88313411900162, "hAlign": "center", "height": 80.38974277892953, "italic": false, "margin": 20, "toShape": "jadez5nidp", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade9wm99z", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 2918.657887350822, "y": 297.6471616509573, "id": "jadeam5lo5", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 39, "textX": 0, "textY": 0, "width": 217.46385789847182, "hAlign": "center", "height": 113.61431667712702, "italic": false, "margin": 20, "toShape": "jadee2orhp", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadeh0ccb7", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-1|6f8c44d7-ad5c-4004-95e0-e01c391be100"}, {"x": 3504.121745249294, "y": 411.2614783280843, "id": "jade13kr3a", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 40, "textX": 0, "textY": 0, "width": 137.02274773089266, "hAlign": "center", "height": -33.67339859514516, "italic": false, "margin": 20, "toShape": "jadeq2zedq", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadee2orhp", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 4001.1444929801864, "y": 377.58807973293915, "id": "jadef977tc", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 41, "textX": 0, "textY": 0, "width": 359.579124810999, "hAlign": "center", "height": -10.442800129225702, "italic": false, "margin": 20, "toShape": "jade9wr70l", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadeq2zedq", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}], "vAlign": "top", "itemPad": [0, 0, 0, 0], "division": -1, "dockMode": "none", "fontFace": "arial", "fontSize": 18, "hideText": true, "moveable": true, "shapesAs": {}, "backColor": "#fbfbfc", "container": "elsa-page:tvp1s6", "dockAlign": "top", "fontColor": "#ECD0A7", "fontStyle": "normal", "itemSpace": 5, "namespace": "jadeFlow", "fontWeight": "bold", "itemScroll": {"x": 0, "y": 0}, "borderColor": "white", "focusBackColor": "#fbfbfc"}], "title": "5711f3230eb94abdb168e61d2082d1d2", "source": "elsa", "tenant": "31f20efc7e0848deab6a6bc10fc3021e", "setting": {"pad": 10, "tag": {}, "code": "", "pDock": "none", "hAlign": "center", "margin": 25, "shadow": "", "shared": false, "vAlign": "top", "itemPad": [5, 5, 5, 5], "visible": true, "autoText": false, "dockMode": "none", "dragable": true, "editable": true, "fontFace": "arial", "fontSize": 12, "infoType": {"name": "none", "next": "INFORMATION"}, "moveable": true, "priority": 0, "allowLink": true, "autoWidth": false, "backAlpha": 0.15, "backColor": "whitesmoke", "dashWidth": 0, "deletable": true, "fontColor": "steelblue", "fontStyle": "normal", "headColor": "steelblue", "lineWidth": 2, "underline": false, "autoHeight": false, "emphasized": false, "fontWeight": "lighter", "itemScroll": {"x": 0, "y": 0}, "lineHeight": 1.5, "resizeable": true, "rotateAble": true, "scrollLock": {"x": false, "y": false}, "selectable": true, "shadowData": "2px 2px 4px", "borderColor": "#047bfc", "borderWidth": 1, "bulletSpeed": 1, "focusMargin": 0, "focusShadow": "", "globalAlpha": 1, "outstanding": false, "bulletedList": false, "cornerRadius": 4, "enableSocial": true, "mouseInColor": "orange", "numberedList": false, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "rotateDegree": 0, "captionhAlign": "center", "strikethrough": false, "focusBackColor": "whitesmoke", "focusFontColor": "darkorange", "progressStatus": {"name": "NONE", "next": "UNKNOWN", "color": "gray"}, "showedProgress": false, "allNodeNumLimit": 99, "captionfontFace": "arial black", "captionfontSize": 14, "enableAnimation": false, "progressPercent": 0.65, "captionfontColor": "whitesmoke", "captionfontStyle": "normal", "focusBorderColor": "#047bfc", "focusBorderWidth": 1, "mouseInBackColor": "whitesmoke", "mouseInFontColor": "orange", "captionfontWeight": "lighter", "captionlineHeight": 1, "mouseInBorderColor": "#047bfc", "sameTypeNodeNumLimit": 19}, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.fitable.FlowInfoCallback"]}, "enableOutputScope": true, "exceptionFitables": ["modelengine.fit.jober.aipp.fitable.AippFlowExceptionHandler", "modelengine.fit.jober.fitable.FlowInfoException"]}, "enableText": false}', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('ae708d5828194845afc15402d2849b8b', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'ability', 'String', 'null', 'none', 'workflow', '能力配置', 1, 0, '550177e8d0e34014a2d95988ef1c67c5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('b7a7c427418d4d8eb5e8f96165a1d6a6', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'chat', 'String', 'null', 'none', 'workflow', '聊天设置', 3, 0, '550177e8d0e34014a2d95988ef1c67c5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('c383886d8a154b3f9e94950467d92432', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'memory', 'List', '["jade6qm5eg","memory"]', 'graph', 'chat', '多轮对话', 5, 0, '550177e8d0e34014a2d95988ef1c67c5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('6290bce2ccf249239bc52866604a3920', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'opening', 'String', '"Hi~我是问界试驾助手,快来体验你喜欢的车型吧!"', 'input', 'chat', '开场白', 4, 0, '550177e8d0e34014a2d95988ef1c67c5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('d8bd923772b247cf88bfcb7571059066', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'enterWorkflow', 'String', 'null', 'none', 'ability', '进入工作流编排', 2, 0, '550177e8d0e34014a2d95988ef1c67c5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('01ec06bcc0e7483da79b7f1c55b7851e', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'inspiration', 'object', '{"category":[{"title":"root","id":"root","children":[]}],"inspirations":[{"name":"问界试驾预约","description":"试驾某一款问界车型","prompt":"我想试驾{{car}}","promptVarData":[{"key":"tsrvqc","var":"car","varType":"选择框","sourceType":"input","sourceInfo":"问界M5;问界M7;问界M9","multiple":false}],"category":null,"auto":false,"id":"rehmx8"},{"name":"问界车型咨询","description":"了解问界某一种车型的具体信息","prompt":"请介绍一下{{car}}的具体信息","promptVarData":[{"key":"hff2tk","var":"car","varType":"选择框","sourceType":"input","sourceInfo":"问界M5;问界新M5 增程 Max;问界M7;问界M7 Plus 五座四驱版","multiple":false}],"category":null,"auto":false,"id":"5u5v1u"}],"showInspiration":true}', 'input', 'chat', '创意灵感', 7, 0, '550177e8d0e34014a2d95988ef1c67c5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('ba6cd122de7d4e20a8e69702379a4b9f', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'recommend', 'object', '{"showRecommend":false,"list":[]}', 'input', 'chat', '猜你想问', 6, 0, '550177e8d0e34014a2d95988ef1c67c5') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('662b1e243b8e43788092b8bff6b7a5f6', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'workflow', 'String', 'null', 'none', 'null', '工作流编排', 0, 0, '550177e8d0e34014a2d95988ef1c67c5') ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."flow_definition" ("definition_id", "meta_id", "name", "tenant", "version", "status", "graph", "created_by", "created_at") VALUES ('803b4ba4d163472b81ad2330734e23b9', '5711f3230eb94abdb168e61d2082d1d2', '5711f3230eb94abdb168e61d2082d1d2', '31f20efc7e0848deab6a6bc10fc3021e', '1.0.0', 'active', '{"name": "5711f3230eb94abdb168e61d2082d1d2", "nodes": [{"name": "开始", "type": "startNodeStart", "metaId": "jade6qm5eg", "runnable": true, "inputParams": [{"id": "91138f09-b635-43df-95c6-1fe3d1745829", "from": "Expand", "name": "input", "type": "Object", "value": [{"id": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "from": "Input", "name": "Question", "type": "String", "value": "", "isVisible": true, "isRequired": true, "description": "这是用户输入的问题。", "displayName": "用户问题", "disableModifiable": true}], "config": [{"allowAdd": false}]}, {"id": "4a770dc6-e3c9-475d-84c7-48dacc74a5b6", "from": "Expand", "name": "memory", "type": "Object", "value": [{"id": "a7675623-7fc7-468c-8910-e73c70e5e468", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": true}, {"id": "cee9a31b-781c-4835-a616-ceed73be22f2", "from": "Input", "name": "type", "type": "String", "value": "ByConversationTurn"}, {"id": "69592622-4291-409d-9d65-9faea83db657", "from": "Input", "name": "value", "type": "Integer", "value": "3"}]}], "triggerMode": "auto"}, {"name": "大模型", "type": "llmNodeState", "jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "31ba235d-1b26-4780-a7a7-32eca9500919", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "83653b54-dd04-4da9-957d-adb7c2728632", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "dd588a17-a69c-40c0-859a-d9930202a148", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "6c414e75-971e-403a-b2b1-c6850f128cc4", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "db5fdafa-4cbf-44ba-9cca-8a98f1f771f4", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}, {"id": "88f74d78-4711-4f81-a2e7-74d0034c5e88", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "35a710cf-1b79-4523-b16f-b50878d677fe", "from": "Input", "name": "template", "type": "String", "value": "如果用户未指定具体车型,则按照用户问题,结合工具提供的问界车型信息,给出简略概要类的回答。\n问题:{{query}} "}, {"id": "38fb27a1-71f4-4fcc-87d5-9d8a880bc04d", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "eee66922-4304-4209-89fc-b13ffa101630", "from": "Reference", "name": "query", "type": "String", "value": ["Question"], "referenceId": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "referenceKey": "Question", "referenceNode": "jade6qm5eg"}]}]}, {"id": "a6865419-867c-4bfb-855c-f5c1876c965a", "from": "Expand", "name": "tools", "type": "Array", "value": [{"id": "29d1707c-beaa-44c8-9eb2-08462880b031", "from": "Input", "name": "问界车型信息查询", "tags": ["FIT"], "type": "String", "value": "7cba6fdd-8c6d-410f-81dc-775ffe96902b", "version": "1.0.0"}]}, {"id": "308e2023-a8e9-486e-9784-8680addbb786", "from": "Expand", "name": "workflows", "type": "Array", "value": []}, {"id": "68f92923-d5da-42ce-8478-d7ac7d90664e", "from": "Input", "name": "systemPrompt", "type": "String", "value": "你是一个具备自主工具调用能力的智能体,可以展示中间的思考过程给用户。你的回答有两种情况:\n\n无需调用外部工具\n\n如果问题可通过已有对话历史或直接推理得到答案,直接输出最终结果,不需使用任何标签包装,也不显示详细思考过程。\n需要调用外部工具解决的复杂问题\n\n必须采用以下严格的标签体系输出,每个标签之间空一行,且仅展示真实的工具调用结果:\n...:展示你内部的思考过程。注意,这部分内容可以展示给用户,但仅限于描述思路,不应包含任何伪造的工具调用结果。\n...:描述你准备调用工具的原因和计划。此处仅说明你需要调用哪个工具以及原因,工具的名称对人类阅读要友好,切勿直接模拟或输出工具返回内容。\n...:当你真正调用某个工具后,等待工具反馈,然后将工具调用的返回结果做非常简略的摘要后放在此标签内,摘要字数在20字以内。绝对禁止在未获得真实工具反馈前预先构造。 标签内容。\n...:在获取所有真实工具调用结果后,将整合信息给出最终答案。\n**重要要求**:\n- **不要输出tool_call标签**。\n- **答案必须详细完整**,不仅仅是工具返回结果的简单总结,而是对结果进行深入分析和整合,并提供背景解释、推理过程和可行性分析。\n- **确保所有关键信息得到展开**,避免省略任何重要内容。\n- **如果适用,可以提供额外的解释、使用建议或应用场景,以增强回答的实用性**。\n- 请使用**标准 Markdown 语法**输出答案,保证语法完整,**不要拆分**列表结构。\n- **输出此标签后,不得追加任何其他内容或标签**。\n\n严格要求\n\n切勿在中间思考或工具调用计划中,提前生成伪造的 标签内容。必须在实际调用工具并获得反馈后,再以 标签展示真实结果,再生成 标签输出最终答案。\n如果历史对话中已包含真实的工具调用结果,应直接使用这些信息构造最终答案,避免重复调用或展示多余标签。\n在所有工具调用完成之前,不得输出 标签;只有在确认所有真实工具反馈后,才生成最终答案。"}, {"id": "78baad16-173f-4d70-a7cd-d1a2abc2f0d1", "from": "input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "6d8d88d4-ebaa-4a57-9279-ae5b26654b5c", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "e1b4bea8-0028-49a1-9e7d-ec29cff215da", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "95d84d67-3198-415e-a63c-bc9a2da8d821", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "272c927a-9e25-48b6-a921-6a8ab20267a4", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "5782976c-0c1c-47b8-bcd5-8b6e22e52d39", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "metaId": "jadewdnjbq", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"name": "车型提取", "type": "textExtractionNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "extractParam"}, {"name": "memoryConfig"}, {"name": "memorySwitch"}, {"name": "histories"}], "return": {"type": "object"}, "uniqueName": "3bca6a3f-9623-4228-b120-1a5e0d41dc14"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"stageDesc": "分析试驾车型中...", "inputParams": [{"id": "extractParam_2ca71bb8-ea6e-4d08-8f24-16a6fc3b64b6", "from": "Expand", "name": "extractParam", "type": "Object", "value": [{"id": "text_5d4f3012-93a0-4ebf-a9f1-17a9fe252651", "from": "Reference", "name": "text", "type": "String", "value": ["output", "llmOutput"], "referenceId": "272c927a-9e25-48b6-a921-6a8ab20267a4", "referenceKey": "llmOutput", "referenceNode": "jadewdnjbq"}, {"id": "desc_12bbcd63-44c5-48d3-88c6-8b3d48b7c431", "from": "Input", "name": "desc", "type": "String", "value": "车型必须在该范围内:问界新M5 增程 Max,问界新M5 增程 Max RS,问界新M5 纯电 Max,问界M7 Ultra 五座后驱版,问界M7 Ultra 五座四驱版,问界M7 Ultra 六座后驱版,问界M7 Ultra 六座四驱版,问界M7 Pro 五座后驱版,问界M7 Pro 五座四驱版,问界M7 Pro 六座后驱版,问界M7 Pro 六座四驱版,问界M9 增程 Max 六座版,问界M9 增程 Ultra 六座版,问界M9 纯电 Max 六座版,问界M9 纯电 Ultra 六座版,问界M9 增程 Max 五座版,问界M9 增程 Ultra 五座版,问界M9 纯电 Ultra 五座版 "}, {"id": "outputSchema_77df0737-ef00-4e3b-864c-31402655c65c", "from": "Input", "name": "outputSchema", "type": "String", "value": "{\"type\":\"object\",\"properties\":{\"carTypes\":{\"type\":\"array\",\"description\":\"问界的车型列表,具体到型号\"}}}"}, {"id": "ed9f7d7e-4173-465b-a3f5-4d34345efa53", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "49a6dd9d-589f-4ca2-b66f-1b1951c5e886", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "582a3d24-d8d8-41c6-b9b7-277d5d994683", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "temperature_b5d5dd8c-1a39-450d-9851-130ff0aa3a78", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}]}, {"id": "memoryConfig_eed12a01-ccac-4bbd-ae80-39cf2d25a06c", "from": "Expand", "name": "memoryConfig", "type": "Object", "value": [{"id": "windowAlg_f20d73ee-6376-4c90-adf2-1386771aaabd", "from": "Input", "name": "windowAlg", "type": "String", "value": "buffer_window"}, {"id": "serializeAlg_4828a286-e3fd-4803-9887-31517cc82520", "from": "Input", "name": "serializeAlg", "type": "String", "value": "full"}, {"id": "property_c3ba42cf-cb22-46d4-bdcc-5d86204ad098", "from": "Input", "name": "property", "type": "Integer", "value": "0"}]}, {"id": "memorySwitch_d7c69077-05bf-4c1b-8e38-735e03d984ad", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": false}, {"id": "histories_51a356d1-f2ac-4f3b-b444-99a737100996", "from": "Reference", "name": "histories", "type": "Array", "value": ["memories"], "referenceId": "memories", "referenceKey": "memories", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "30bf32bc-b320-418e-ae62-b30d45b26255", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "37331645-54f7-4751-8d04-12ab9d74a8a7", "from": "Expand", "name": "extractedParams", "type": "Object", "value": [{"id": "f903ce3c-173c-4010-8e14-8e18d64c9b27", "from": "Input", "name": "carTypes", "type": "Array", "value": "", "description": "问界的车型列表,具体到型号"}]}, {"id": "success_e3a426e0-3d67-42e3-b985-1daa32a44d20", "from": "Input", "name": "success", "type": "Boolean", "value": "Boolean"}]}], "enableStageDesc": true, "jadeNodeConfigChangeIgnored": false}}}, "metaId": "jademzanbn", "runnable": true, "stageDesc": "分析试驾车型中...", "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "enableStageDesc": true}, {"to": "jademzanbn", "from": "jadewdnjbq", "type": "jadeEvent", "metaId": "jadevbcutd", "runnable": true, "fromConnector": "E"}, {"name": "判断车型列表长度", "type": "codeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "args"}, {"name": "code"}, {"name": "language"}, {"name": "output"}], "return": {"type": "object"}, "uniqueName": "e147f301-957a-4335-a155-1e86d1a45ae5"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "cab31f1f-5429-4f02-99b9-540e0d795357", "from": "Expand", "name": "args", "type": "Object", "value": [{"id": "bc929113-6c29-46b8-a1ad-8d53f2d9bb2e", "from": "Reference", "name": "input", "type": "Object", "value": ["output"], "referenceId": "7f1994bf-3a0b-442a-9bbb-d0069949fbbd", "referenceKey": "output", "referenceNode": "jadez5f1df"}]}, {"id": "66c7a482-6c7f-4698-807c-159aaba67485", "from": "Input", "name": "code", "type": "String", "value": "async def main(args: dict) -> str:\n is_valid_res = args.get(''input'', {}).get(''success'', bool)\n\n if not is_valid_res:\n return ''empty''\n\n input_list = args.get(''input'', {}).get(''extractedParams'', {}).get(''carTypes'', [])\n\n if len(input_list) == 0:\n return ''empty''\n elif len(input_list) == 1:\n return ''single''\n else:\n return ''multi''\n", "language": "python"}, {"id": "5368a24a-8782-4c08-9b79-58bfcd86f6e3", "from": "Input", "name": "language", "type": "String", "value": "python"}, {"id": "e6aea608-a116-4f5c-9554-1a704547665e", "from": "Input", "name": "output", "type": "Object", "value": {"properties": {"output": {"type": "string", "description": ""}}}}], "outputParams": [{"id": "70793ed8-e5c9-4ede-9945-5db35626f68f", "from": "Expand", "name": "output", "type": "String", "value": ""}]}}}, "metaId": "jade0ibwv7", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"name": "条件", "type": "conditionNodeCondition", "metaId": "jadeh0ccb7", "runnable": true, "triggerMode": "auto", "conditionParams": {"branches": [{"id": "23d6704f-527f-43d9-8621-d8577d71dfec", "type": "if", "runnable": true, "conditions": [{"id": "ddee81d4-a971-494c-99df-f94f37633531", "value": [{"id": "4d1e95b4-e9fd-431c-9d33-2b5c874dea02", "from": "Reference", "name": "left", "type": "String", "value": ["output"], "referenceId": "70793ed8-e5c9-4ede-9945-5db35626f68f", "referenceKey": "output", "referenceNode": "jade0ibwv7"}, {"id": "57b838c4-c03d-47f3-9f57-3f75d62898f2", "from": "Input", "name": "right", "type": "String", "value": "empty", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "6f8c44d7-ad5c-4004-95e0-e01c391be100", "type": "if", "runnable": true, "conditions": [{"id": "7fd27d06-ac26-4225-a927-2b0d4a773cd4", "value": [{"id": "0c2c78a1-6770-4f46-b36e-a30f3ce96b56", "from": "Reference", "name": "left", "type": "String", "value": ["output"], "referenceId": "70793ed8-e5c9-4ede-9945-5db35626f68f", "referenceKey": "output", "referenceNode": "jade0ibwv7"}, {"id": "082798c7-f2f6-40a8-bc73-edc9a174d0d3", "from": "Input", "name": "right", "type": "String", "value": "single", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "73eee09c-caeb-44c1-a54b-65b54d2f8db8", "type": "else", "runnable": true, "conditions": [{"id": "7f70dfc4-154a-48bb-849a-158e22eff435", "value": [], "condition": "true"}], "conditionRelation": "and"}], "jadeNodeConfigChangeIgnored": true}}, {"to": "jadeh0ccb7", "from": "jade0ibwv7", "type": "jadeEvent", "metaId": "jadec676as", "runnable": true, "fromConnector": "E"}, {"name": "选择需要了解的车型", "task": {"type": "AIPP_SMART_FORM", "taskId": "a910a3d38a4549eda1112beee008419d", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "83131a2d-781b-4756-a0c8-91ee865ffbae", "from": "Expand", "name": "data", "type": "Object", "value": [{"id": "input_1bb450c2-e4f9-471f-ac11-4760ed04461c", "from": "Input", "name": "car", "type": "String", "value": "car", "displayName": "我想深入了解的车型"}, {"id": "28da30c8-2e73-46d1-a1ad-85d8b0c734b9", "from": "Reference", "name": "car-options", "type": "Array", "value": ["output"], "referenceId": "504a2241-6962-4de4-901a-3df2b798eaa2", "referenceKey": "output", "referenceNode": "jadebz0q8j"}]}, {"id": "c554e101-37b5-4aa1-b9b3-bfcfb2423583", "from": "Input", "name": "schema", "type": "Object", "value": {"parameters": [{"id": "input_1bb450c2-e4f9-471f-ac11-4760ed04461c", "from": "Input", "name": "car", "type": "String", "value": "car", "options": {"from": "Reference", "type": "Array", "value": ["output"], "referenceId": "504a2241-6962-4de4-901a-3df2b798eaa2", "referenceKey": "output", "referenceNode": "jadebz0q8j"}, "renderType": "Radio", "displayName": "我想深入了解的车型"}]}}], "outputParams": [{"id": "b5220628-4334-42c5-9ac9-93d4fca29ac8", "name": "output", "type": "Object", "value": [{"id": "input_1bb450c2-e4f9-471f-ac11-4760ed04461c", "name": "car", "type": "String", "value": ""}]}]}}}, "type": "intelligentFormNodeState", "metaId": "jadejnmnp4", "runnable": true, "triggerMode": "manual"}, {"name": "代码_1", "type": "codeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "args"}, {"name": "code"}, {"name": "language"}, {"name": "output"}], "return": {"type": "object"}, "uniqueName": "e147f301-957a-4335-a155-1e86d1a45ae5"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "8f50ae1f-f0fc-4eac-889c-0a53274b9e12", "from": "Expand", "name": "args", "type": "Object", "value": [{"id": "11325c8d-0491-4f99-85d9-4df54a3048a5", "from": "Reference", "name": "input", "type": "Object", "value": ["output"], "referenceId": "7f1994bf-3a0b-442a-9bbb-d0069949fbbd", "referenceKey": "output", "referenceNode": "jadez5f1df"}]}, {"id": "32133c22-59bf-4b46-9eaa-d221a0032c23", "from": "Input", "name": "code", "type": "String", "value": "async def main(args: Args) -> Output:\n list_car = args.get(''input'', {}).get(''extractedParams'', {}).get(''carTypes'', [])\n return list_car[0]", "language": "python"}, {"id": "ff990b8b-cf0c-436d-a8e7-7d4863e8d396", "from": "Input", "name": "language", "type": "String", "value": "python"}, {"id": "9012d086-0ac4-4bcd-8455-e9b47e81c589", "from": "Input", "name": "output", "type": "Object", "value": {"properties": {"output": {"type": "string", "description": ""}}}}], "outputParams": [{"id": "b2e1f031-2fc8-410a-b2ec-73157db9750e", "from": "Expand", "name": "output", "type": "String", "value": ""}]}}}, "metaId": "jadee2orhp", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"name": "大模型_2", "type": "llmNodeState", "jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "263b7842-e631-454a-aca2-8d979a344865", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "7b6ccdee-5b0b-4411-8f21-b75fe7879f5f", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "357563a6-8a44-40b1-8bdf-d11330ea58bb", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "3668396b-2055-417b-bef3-974623bee721", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "0cdec945-916c-4d47-b14c-1059ce8189e3", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}, {"id": "8eb45463-3eb1-4543-ad3c-c8f4cb00a530", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "abf75403-ad7d-4364-9f33-92cfb306f000", "from": "Input", "name": "template", "type": "String", "value": "请按照以下步骤生成您的回复:\n1. 递归地将问题分解为更小的问题。\n2. 对于每个原子问题,从上下文和对话历史记录中选择最相关的信息。\n3. 使用所选信息生成回复草稿。\n4. 删除回复草稿中的重复内容。\n5. 在调整后生成最终答案,以提高准确性和相关性。\n6. 请注意,只需要回复最终答案。\n-------------------------------------\n问题:{{query}}"}, {"id": "7f267a0f-3a63-434f-a538-105229be8af6", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "b123d3e4-0570-42c6-a20b-6fbcb0235674", "from": "Reference", "name": "query", "type": "String", "value": ["Question"], "referenceId": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "referenceKey": "Question", "referenceNode": "jade6qm5eg"}]}]}, {"id": "6a5694e0-5100-4697-bb4e-8b030ed89624", "from": "Expand", "name": "tools", "type": "Array", "value": []}, {"id": "9eed644b-62ae-4fd2-b5da-c7b5a4244059", "from": "Expand", "name": "workflows", "type": "Array", "value": []}, {"id": "2dcf3b33-dd57-4bb6-ae66-f2484d44d2e6", "from": "Input", "name": "systemPrompt", "type": "String", "value": "角色:你是一个问界试驾助手。\n限制:对于涉及其他品牌车型的问题,不进行详细回答,建议用户提问关于问界车型的问题或是一般性的汽车知识问题。"}, {"id": "eed2b900-e733-4ca0-adbb-18d6a0b6082b", "from": "input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "177986fa-db8d-4f92-a6f2-546b7232b94b", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "ca60a33d-41f2-4d36-bac2-19e8aa0cf6dc", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "98f2c414-2a1b-4d27-86aa-361a66973fd9", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "2e94082b-930d-4016-a180-a07bd0ad8e50", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "df7f2c19-3d1a-4531-a0a5-11d31286e6e8", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "metaId": "jade3oqd4e", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"name": "确认试驾车型", "task": {"type": "AIPP_SMART_FORM", "taskId": "a910a3d38a4549eda1112beee008419d", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "9ac3705a-a49d-4240-87dc-7963533a46a5", "from": "Expand", "name": "data", "type": "Object", "value": [{"id": "2c678112-4c6d-44b2-a1f6-3d4b8718b893", "from": "Reference", "name": "car", "type": "String", "value": ["output"], "displayName": "试驾车型", "referenceId": "b2e1f031-2fc8-410a-b2ec-73157db9750e", "referenceKey": "output", "referenceNode": "jadee2orhp"}]}, {"id": "a4dfd48f-e998-4725-bb71-dfd0644785e2", "from": "Input", "name": "schema", "type": "Object", "value": {"parameters": [{"id": "2c678112-4c6d-44b2-a1f6-3d4b8718b893", "from": "Reference", "name": "car", "type": "String", "value": ["output"], "options": {"from": "Reference", "value": [], "referenceId": "f903ce3c-173c-4010-8e14-8e18d64c9b27", "referenceNode": "jademzanbn"}, "renderType": "Input", "displayName": "试驾车型", "referenceId": "b2e1f031-2fc8-410a-b2ec-73157db9750e", "referenceKey": "output", "referenceNode": "jadee2orhp"}]}}], "outputParams": [{"id": "41e1e5aa-846e-48ce-92ea-07e4d61f6553", "name": "output", "type": "Object", "value": [{"id": "2c678112-4c6d-44b2-a1f6-3d4b8718b893", "name": "car", "type": "String", "value": ""}]}]}}}, "type": "intelligentFormNodeState", "metaId": "jadeq2zedq", "runnable": true, "triggerMode": "manual"}, {"name": "大模型_1", "type": "llmNodeState", "jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "905a7ab5-9f27-4ed8-b126-2a41394d9fe4", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "d3ac3f4a-d699-4341-89c3-d1c4921c1d2e", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "316ae379-274d-4fda-af6b-2f28b0356e2f", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "9ab32d21-b81b-4f13-9b5c-cd849ee7d334", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "9ee1c339-c88d-4248-86d6-139b64b763cf", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}, {"id": "99c6709d-5907-49e5-8394-0d294e8a3053", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "9646d069-0d62-4da2-a6cd-709c2e6b2d06", "from": "Input", "name": "template", "type": "String", "value": "通过工具获取车型信息,详细介绍这个车型:{{query}} "}, {"id": "16b3b1ba-cefd-4353-a29f-8004670c684a", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "4c02d0da-7879-4461-8090-960554b32128", "from": "Reference", "name": "query", "type": "String", "value": ["output", "car"], "referenceId": "input_1bb450c2-e4f9-471f-ac11-4760ed04461c", "referenceKey": "car", "referenceNode": "jadejnmnp4"}]}]}, {"id": "c04281f5-6769-476f-8d7d-7d21aa714ca8", "from": "Expand", "name": "tools", "type": "Array", "value": [{"id": "06142d65-2487-4a40-b592-ac4638ac527d", "from": "Input", "name": "问界车型信息查询", "tags": ["FIT"], "type": "String", "value": "7cba6fdd-8c6d-410f-81dc-775ffe96902b", "version": "1.0.0"}]}, {"id": "a188c341-d4c0-46a0-8a8c-7438b05a4b6c", "from": "Expand", "name": "workflows", "type": "Array", "value": []}, {"id": "14e1b376-64ab-4ce1-86d2-e3285cea971c", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "2308bdeb-ff69-4cd9-afd4-ba8132c5d939", "from": "input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "7f9b538a-7d1b-442d-b45e-5041364cfd4d", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "0"}, {"id": "62639076-5d67-4e37-bb54-024bdac816ec", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "8f3747e9-318f-49de-9de8-9610cf0049fc", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "d2156da5-09a9-4c8f-bf1a-9c63c457d439", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "6714da5e-b514-4911-b04b-96e3b83c15d7", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "metaId": "jadebywy1i", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadebywy1i", "from": "jadejnmnp4", "type": "jadeEvent", "metaId": "jadew1opy5", "runnable": true, "fromConnector": "E"}, {"name": "确认试驾车型2", "task": {"type": "AIPP_SMART_FORM", "taskId": "a910a3d38a4549eda1112beee008419d", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "2f92cbde-4e4b-4e7e-8307-18633cbb4352", "from": "Expand", "name": "data", "type": "Object", "value": [{"id": "610f8341-46f0-4e26-a6b8-58be5d52f560", "from": "Reference", "name": "car", "type": "String", "value": ["output", "car"], "displayName": "我要试驾车型", "referenceId": "input_1bb450c2-e4f9-471f-ac11-4760ed04461c", "referenceKey": "car", "referenceNode": "jadejnmnp4"}]}, {"id": "76c41bdf-8383-4318-a667-fd61b42609ab", "from": "Input", "name": "schema", "type": "Object", "value": {"parameters": [{"id": "610f8341-46f0-4e26-a6b8-58be5d52f560", "from": "Reference", "name": "car", "type": "String", "value": ["output", "car"], "options": {"from": "Reference", "value": [], "referenceId": "f903ce3c-173c-4010-8e14-8e18d64c9b27", "referenceNode": "jademzanbn"}, "renderType": "Input", "displayName": "我要试驾车型", "referenceId": "input_1bb450c2-e4f9-471f-ac11-4760ed04461c", "referenceKey": "car", "referenceNode": "jadejnmnp4"}]}}], "outputParams": [{"id": "a8df0b85-ef18-4362-b94b-df12022d1e13", "name": "output", "type": "Object", "value": [{"id": "610f8341-46f0-4e26-a6b8-58be5d52f560", "name": "car", "type": "String", "value": ""}]}]}}}, "type": "intelligentFormNodeState", "metaId": "jadez5nidp", "runnable": true, "triggerMode": "manual"}, {"name": "车型提取2", "type": "textExtractionNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "extractParam"}, {"name": "memoryConfig"}, {"name": "memorySwitch"}, {"name": "histories"}], "return": {"type": "object"}, "uniqueName": "3bca6a3f-9623-4228-b120-1a5e0d41dc14"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"stageDesc": "分析试驾车型中...", "inputParams": [{"id": "extractParam_db169c41-8428-4d04-9ca9-d5462638b9de", "from": "Expand", "name": "extractParam", "type": "Object", "value": [{"id": "text_ed4e777e-3973-4dfe-a5cd-8b6997e3c16f", "from": "Reference", "name": "text", "type": "String", "value": ["Question"], "referenceId": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "referenceKey": "Question", "referenceNode": "jade6qm5eg"}, {"id": "desc_c5827ce1-b1c7-4959-98a6-79736761bfd7", "from": "Input", "name": "desc", "type": "String", "value": "车型必须在该范围内:问界新M5 增程 Max,问界新M5 增程 Max RS,问界新M5 纯电 Max,问界M7 Ultra 五座后驱版,问界M7 Ultra 五座四驱版,问界M7 Ultra 六座后驱版,问界M7 Ultra 六座四驱版,问界M7 Pro 五座后驱版,问界M7 Pro 五座四驱版,问界M7 Pro 六座后驱版,问界M7 Pro 六座四驱版,问界M9 增程 Max 六座版,问界M9 增程 Ultra 六座版,问界M9 纯电 Max 六座版,问界M9 纯电 Ultra 六座版,问界M9 增程 Max 五座版,问界M9 增程 Ultra 五座版,问界M9 纯电 Ultra 五座版 "}, {"id": "outputSchema_2dda5dc9-c4f7-4f4e-a3ac-60a5387d66c9", "from": "Input", "name": "outputSchema", "type": "String", "value": "{\"type\":\"object\",\"properties\":{\"carTypes\":{\"type\":\"array\",\"description\":\"问界的车型列表,具体到型号\"}}}"}, {"id": "6958ac49-541d-4768-b198-dfdf3767649a", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "fb995664-4eb1-49e2-80ba-b6d2991eedd5", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "755800ba-5209-4a3c-90b0-b4aa4bfd8fe2", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "temperature_6bb0ad3b-7bbf-4110-acbd-f4b103214374", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}]}, {"id": "memoryConfig_392e3f83-1fe1-43b5-88ae-afb9999ee4ee", "from": "Expand", "name": "memoryConfig", "type": "Object", "value": [{"id": "windowAlg_cde542de-39f0-4550-91dd-b1cf979f310d", "from": "Input", "name": "windowAlg", "type": "String", "value": "buffer_window"}, {"id": "serializeAlg_153d40da-349c-466e-8780-6eefc42ae5c6", "from": "Input", "name": "serializeAlg", "type": "String", "value": "full"}, {"id": "property_fb24ab56-f614-412b-b6d6-dfbbbc189365", "from": "Input", "name": "property", "type": "Integer", "value": "0"}]}, {"id": "memorySwitch_6b354c48-ed57-44b3-91a4-5940425dc1dc", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": false}, {"id": "histories_d7e7c55e-d25b-4e03-80f1-b9937979faf1", "from": "Reference", "name": "histories", "type": "Array", "value": ["memories"], "referenceId": "memories", "referenceKey": "memories", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "b65edebe-1855-4502-a72f-0a207fd6c99f", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "66248c5c-9f8f-4000-8597-e8d6b0d7b16d", "from": "Expand", "name": "extractedParams", "type": "Object", "value": [{"id": "eb21be95-d82b-49b3-9eaf-455f4e449410", "from": "Input", "name": "carTypes", "type": "Array", "value": "", "description": "问界的车型列表,具体到型号"}]}, {"id": "success_e1a7af2a-fde0-4e73-81c1-cced296e08e8", "from": "Input", "name": "success", "type": "Boolean", "value": "Boolean"}]}], "enableStageDesc": true, "jadeNodeConfigChangeIgnored": false}}}, "metaId": "jadetvqkdx", "runnable": true, "stageDesc": "分析试驾车型中...", "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "enableStageDesc": true}, {"name": "聚合车型列表", "type": "codeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "args"}, {"name": "code"}, {"name": "language"}, {"name": "output"}], "return": {"type": "object"}, "uniqueName": "e147f301-957a-4335-a155-1e86d1a45ae5"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "ee12101b-d717-4f49-9ff5-6d840676047a", "from": "Expand", "name": "args", "type": "Object", "value": [{"id": "b8d2fbbf-1152-4403-a6dc-8ae88d7ddec3", "from": "Reference", "name": "input1", "type": "Object", "value": ["output"], "referenceId": "30bf32bc-b320-418e-ae62-b30d45b26255", "referenceKey": "output", "referenceNode": "jademzanbn"}, {"id": "662c4a18-21e8-47e0-bce2-10c89cb51b63", "from": "Reference", "name": "input2", "type": "Object", "value": ["output"], "referenceId": "b65edebe-1855-4502-a72f-0a207fd6c99f", "referenceKey": "output", "referenceNode": "jadetvqkdx"}]}, {"id": "08e9c25a-e55c-4620-bcca-325d714160d5", "from": "Input", "name": "code", "type": "String", "value": "async def main(args: Args) -> Output:\n if args[''input1'']:\n return args[''input1'']\n else:\n return args[''input2''] \n", "language": "python"}, {"id": "7df2184c-f82f-43ab-9a30-d695fae550ea", "from": "Input", "name": "language", "type": "String", "value": "python"}, {"id": "35868ea7-d973-4a6c-b9f2-340a06f9f112", "from": "Input", "name": "output", "type": "Object", "value": {"properties": {"output": {"type": "object", "properties": {}, "description": ""}}}}], "outputParams": [{"id": "7f1994bf-3a0b-442a-9bbb-d0069949fbbd", "from": "Expand", "name": "output", "type": "Object", "value": []}]}}}, "metaId": "jadez5f1df", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadez5f1df", "from": "jademzanbn", "type": "jadeEvent", "metaId": "jadeanptlq", "runnable": true, "fromConnector": "E"}, {"to": "jadez5f1df", "from": "jadetvqkdx", "type": "jadeEvent", "metaId": "jade58w7a7", "runnable": true, "fromConnector": "E"}, {"to": "jade0ibwv7", "from": "jadez5f1df", "type": "jadeEvent", "metaId": "jadexs8po6", "runnable": true, "fromConnector": "E"}, {"name": "提取车型列表", "type": "codeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "args"}, {"name": "code"}, {"name": "language"}, {"name": "output"}], "return": {"type": "object"}, "uniqueName": "e147f301-957a-4335-a155-1e86d1a45ae5"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "ac8da121-58a3-4801-82f3-862533c0db2b", "from": "Expand", "name": "args", "type": "Object", "value": [{"id": "90d97368-2212-4176-ab52-55215cb5d6c6", "from": "Reference", "name": "input", "type": "Object", "value": ["output"], "referenceId": "7f1994bf-3a0b-442a-9bbb-d0069949fbbd", "referenceKey": "output", "referenceNode": "jadez5f1df"}]}, {"id": "5abd8220-a2e6-47a1-b3d7-61da5c91a7c8", "from": "Input", "name": "code", "type": "String", "value": "async def main(args: Args) -> Output:\n return args.get(''input'', {}).get(''extractedParams'', {}).get(''carTypes'', [])", "language": "python"}, {"id": "d09bd08d-d2f7-47c2-a74b-a9f9fe899387", "from": "Input", "name": "language", "type": "String", "value": "python"}, {"id": "c57b604c-0ae0-4d32-bef3-30c14793ddf1", "from": "Input", "name": "output", "type": "Object", "value": {"properties": {"output": {"type": "array", "description": ""}}}}], "outputParams": [{"id": "504a2241-6962-4de4-901a-3df2b798eaa2", "from": "Expand", "name": "output", "type": "Array", "value": ""}]}}}, "metaId": "jadebz0q8j", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadebz0q8j", "from": "jadeh0ccb7", "type": "jadeEvent", "metaId": "jadep8j6qd", "runnable": true, "fromConnector": "dynamic-999"}, {"to": "jadejnmnp4", "from": "jadebz0q8j", "type": "jadeEvent", "metaId": "jader2ugw2", "runnable": true, "fromConnector": "E"}, {"name": "结束_1", "type": "endNodeEnd", "metaId": "jadeaevz6w", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "e42435d1-bd40-4a8f-a6da-6ce3b8c9e936", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "0cecce75-2752-4f0b-8c01-e55897f82eef", "from": "Reference", "name": "finalOutput", "type": "String", "value": ["output", "llmOutput"], "editable": true, "isRequired": true, "description": "", "referenceId": "2e94082b-930d-4016-a180-a07bd0ad8e50", "referenceKey": "llmOutput", "referenceNode": "jade3oqd4e"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "f7b318fa-c166-4b2d-b72a-e6b90b8c7324", "from": "Input", "name": "enableLog", "type": "Boolean", "value": false}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"to": "jadeaevz6w", "from": "jade3oqd4e", "type": "jadeEvent", "metaId": "jadewhsta6", "runnable": true, "fromConnector": "E"}, {"name": "结束_3", "type": "endNodeEnd", "metaId": "jadevgtszg", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "10392a5e-479e-468d-9a87-bb85a2649cc2", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "b2ab53ef-8e29-4a95-9fed-be9894df8806", "from": "Input", "name": "out", "type": "String", "value": "您选择的试驾车型为:", "editable": true, "isRequired": true, "description": ""}, {"id": "31d34355-c6d3-459d-ac61-66eaf31f6fd4", "from": "Reference", "name": "car", "type": "String", "value": ["output", "car"], "editable": true, "isRequired": true, "description": "", "referenceId": "610f8341-46f0-4e26-a6b8-58be5d52f560", "referenceKey": "car", "referenceNode": "jadez5nidp"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "89dfe7b5-972a-4b2a-a2b4-86c9b851fe05", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"to": "jadevgtszg", "from": "jadez5nidp", "type": "jadeEvent", "metaId": "jade90v0rb", "runnable": true, "fromConnector": "E"}, {"name": "结束_2", "type": "endNodeEnd", "metaId": "jade9wr70l", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "bf589d2e-aff9-46f4-a266-4f3b6b4ea6e7", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "9104e96f-26ec-46cf-88b4-1ff929f7b983", "from": "Input", "name": "out", "type": "String", "value": "您选择的试驾车型为:", "editable": true, "isRequired": true, "description": ""}, {"id": "7c278873-cea0-424b-b344-e22ab070aeb3", "from": "Reference", "name": "car", "type": "String", "value": ["output", "car"], "editable": true, "isRequired": true, "description": "", "referenceId": "2c678112-4c6d-44b2-a1f6-3d4b8718b893", "referenceKey": "car", "referenceNode": "jadeq2zedq"}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "ab34cf0f-7fa9-424d-8b01-edc402fb163d", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"name": "结束", "type": "endNodeEnd", "metaId": "jadehrizke", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "8fca4472-cb61-474b-97c8-be14566e998a", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "1e9b929c-bd6d-46c1-9b8c-23d1a0f7a7cc", "from": "Input", "name": "out", "type": "String", "value": "非常抱歉,不支持该车型的试驾。", "editable": true, "isRequired": true, "description": ""}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "8fcd715b-5e4c-488c-bcb7-ec5f4b5c83c2", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"to": "jadehrizke", "from": "jadeh0ccb7", "type": "jadeEvent", "metaId": "jadeke55eo", "runnable": true, "fromConnector": "dynamic-0|23d6704f-527f-43d9-8621-d8577d71dfec"}, {"name": "用户问题分类", "type": "llmNodeState", "jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "8e3a79d1-d39d-4815-9236-2e08bcbeb89d", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "d9ef67b3-a4e8-4b6c-b15b-0f55de543159", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "22a75a6e-c13a-45e7-9492-15613f79b1d8", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "a8265476-b028-4b32-88a4-cd9e27609d86", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "2c6a7c43-a6d7-4850-a60f-43d615085630", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}, {"id": "80222643-ef96-41ca-b9f6-6eae7f267a69", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "d655ab25-92c4-4af2-a01a-3e7e22a84362", "from": "Input", "name": "template", "type": "String", "value": "\"请分析用户的问题,并判断其意图是否是与问界汽车或是问界试驾有关。\n 如果用户的问题涉及问界汽车信息的询问,(例如:“请介绍一下问界M5”、 “给我推荐一款问界汽车”),则返回 ‘问界汽车问题’。\n如果用户只是咨询试驾相关内容(例如:“我想试驾问界M5”、“我想试驾保时捷911”),则返回 ‘试驾汽车问题’。\n如果用户问题是关于**其他品牌**的汽车或是一般性闲聊(例如:“最近有什么有趣的事?”、“今天天气不错”)则返回 ‘其他问题’\"\n用户问题:{{input}}\n**重要:不要回答``问界汽车问题``、``试驾汽车问题``、``其他问题``以外的文字**"}, {"id": "cfe7e088-9f69-4671-a44a-4cd0f553920e", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "046e05a4-4aa1-4694-8427-634bd97596d0", "from": "Reference", "name": "input", "type": "String", "value": ["Question"], "referenceId": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "referenceKey": "Question", "referenceNode": "jade6qm5eg"}]}]}, {"id": "248bb3d3-abcb-4072-8b14-360428994714", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "3"}, {"id": "89b4068b-9926-4429-a334-9b6daefc11d0", "from": "Expand", "name": "tools", "type": "Array", "value": []}, {"id": "267e88b8-1cdc-4312-a117-a96ea6c37514", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "3b9fafe7-20ac-4d59-be6c-1dd61b264e70", "from": "Input", "name": "enableLog", "type": "Boolean", "value": false}, {"id": "ed3e6fda-3a66-405c-b5d4-100822755cd8", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "d4ae45a4-74cc-498c-9e6e-69a1694614fb", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "e8bd45b4-2216-4eda-af81-d008bb6012a9", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "2d7b57fb-c452-41d3-9fed-bed3289c64eb", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "metaId": "jade1tc9vb", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jade1tc9vb", "from": "jade6qm5eg", "type": "jadeEvent", "metaId": "jadeknglms", "runnable": true, "fromConnector": "E"}, {"name": "条件_1", "type": "conditionNodeCondition", "metaId": "jade5pubt6", "runnable": true, "triggerMode": "auto", "conditionParams": {"branches": [{"id": "407a4d42-fe33-427e-8553-9de19e9bb002", "type": "if", "runnable": true, "conditions": [{"id": "e6cc2561-bf7f-43e9-873e-675ef7fa1340", "value": [{"id": "146ae59a-df8a-4181-9dbc-466e6b81cdb9", "from": "Reference", "name": "left", "type": "String", "value": ["output", "llmOutput"], "referenceId": "e8bd45b4-2216-4eda-af81-d008bb6012a9", "referenceKey": "llmOutput", "referenceNode": "jade1tc9vb"}, {"id": "5a2bd11a-bbff-4e14-81a7-8f5d747d9e61", "from": "Input", "name": "right", "type": "String", "value": "问界汽车问题", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "7fe7b5fa-c661-4ba5-9f87-4e8070496dd0", "type": "if", "runnable": true, "conditions": [{"id": "fc38c7be-06ac-41eb-a896-e6bb0f9129d0", "value": [{"id": "767ed731-7595-46a6-9448-dcac3635694a", "from": "Reference", "name": "left", "type": "String", "value": ["output", "llmOutput"], "referenceId": "e8bd45b4-2216-4eda-af81-d008bb6012a9", "referenceKey": "llmOutput", "referenceNode": "jade1tc9vb"}, {"id": "1ce1f111-7dec-4fac-b6e5-fd02d5b78557", "from": "Input", "name": "right", "type": "String", "value": "试驾汽车问题", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "dc589e0f-3202-46e4-87f4-e550d54bbbc5", "type": "else", "runnable": true, "conditions": [{"id": "8d21bec4-7de8-4b35-9561-2e4374e42780", "value": [], "condition": "true"}], "conditionRelation": "and"}], "jadeNodeConfigChangeIgnored": true}}, {"to": "jade5pubt6", "from": "jade1tc9vb", "type": "jadeEvent", "metaId": "jadey81zoy", "runnable": true, "fromConnector": "E"}, {"to": "jadewdnjbq", "from": "jade5pubt6", "type": "jadeEvent", "metaId": "jade8w9r8o", "runnable": true, "fromConnector": "dynamic-0|407a4d42-fe33-427e-8553-9de19e9bb002"}, {"to": "jadetvqkdx", "from": "jade5pubt6", "type": "jadeEvent", "metaId": "jadewp6fyj", "runnable": true, "fromConnector": "dynamic-1|7fe7b5fa-c661-4ba5-9f87-4e8070496dd0"}, {"to": "jade3oqd4e", "from": "jade5pubt6", "type": "jadeEvent", "metaId": "jadeu36msk", "runnable": true, "fromConnector": "dynamic-999"}, {"name": "大模型_4", "type": "llmNodeState", "jober": {"name": "", "type": "general_jober", "isAsync": "true", "fitables": ["modelengine.fit.jober.aipp.fitable.LLMComponent"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "09e984b4-261d-4db4-9a79-bfdcab112355", "from": "Input", "name": "model", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "f7469288-be18-4f27-8e0c-985b6444c3cf", "from": "Expand", "name": "accessInfo", "type": "Object", "value": [{"id": "57eece3d-c599-444e-8ad8-b76f7b2594ca", "from": "Input", "name": "serviceName", "type": "String", "value": "Qwen/Qwen2.5-72B-Instruct"}, {"id": "96ab5533-d3d0-4018-a341-16667d0df21b", "from": "Input", "name": "tag", "type": "String", "value": "SiliconFlow,Jade"}]}, {"id": "6ee7671a-c9e2-4ae7-9348-d0f4c548e025", "from": "Input", "name": "temperature", "type": "Number", "value": "0.3"}, {"id": "4e9c98fc-6547-4fd0-a71e-e21b9cd52f41", "from": "Expand", "name": "prompt", "type": "Object", "value": [{"id": "e7cd99dd-0143-44a9-81ee-ccebcc8b6a2c", "from": "Input", "name": "template", "type": "String", "value": "通过工具查询车型的图片:{{query}} "}, {"id": "56e29f98-ae8e-478c-b02e-75b8149f090a", "from": "Expand", "name": "variables", "type": "Object", "value": [{"id": "77353774-8079-4f34-8672-44df471f2c2a", "from": "Reference", "name": "query", "type": "String", "value": ["output", "car"], "referenceId": "input_1bb450c2-e4f9-471f-ac11-4760ed04461c", "referenceKey": "car", "referenceNode": "jadejnmnp4"}]}]}, {"id": "6dd50ee8-6572-43d1-a7da-97c88138bf5d", "from": "Input", "name": "maxMemoryRounds", "type": "Integer", "value": "0"}, {"id": "3d26bc7c-3757-4b90-b803-f919123bd1dc", "from": "Expand", "name": "tools", "type": "Array", "value": [{"id": "bf11ba32-9201-4618-8084-66c81e4a0608", "from": "Input", "name": "问界车型宣传图片", "tags": ["FIT"], "type": "String", "value": "e754f978-d236-44fa-aa55-e8eb5d8f8269", "version": "1.0.0"}]}, {"id": "e0ff690b-0e1c-4086-a299-94ab3cbfe5e5", "from": "Input", "name": "systemPrompt", "type": "String", "value": ""}, {"id": "267a67d4-c64c-488d-8263-7977c26b1c23", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}, {"id": "4cfaec42-099b-4ec4-ae23-a3f47d9db635", "from": "Expand", "name": "knowledgeBases", "type": "Array", "value": []}], "outputParams": [{"id": "29377aa8-2eb4-4a99-99c5-19ef52f309a0", "from": "Expand", "name": "output", "type": "Object", "value": [{"id": "c7836226-62a7-47e6-b4fa-705ed2acffed", "from": "Input", "name": "llmOutput", "type": "String", "value": "", "description": ""}, {"id": "a2263372-420d-404c-93c0-e4e0edd79f39", "from": "Input", "name": "reference", "type": "Array", "value": [], "description": ""}]}], "tempReference": {}}}}, "metaId": "jade9wm99z", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jade9wm99z", "from": "jadebywy1i", "type": "jadeEvent", "metaId": "jadepdt7pq", "runnable": true, "fromConnector": "E"}, {"to": "jadez5nidp", "from": "jade9wm99z", "type": "jadeEvent", "metaId": "jade28pvut", "runnable": true, "fromConnector": "E"}, {"to": "jadee2orhp", "from": "jadeh0ccb7", "type": "jadeEvent", "metaId": "jadeam5lo5", "runnable": true, "fromConnector": "dynamic-1|6f8c44d7-ad5c-4004-95e0-e01c391be100"}, {"to": "jadeq2zedq", "from": "jadee2orhp", "type": "jadeEvent", "metaId": "jade13kr3a", "runnable": true, "fromConnector": "E"}, {"to": "jade9wr70l", "from": "jadeq2zedq", "type": "jadeEvent", "metaId": "jadef977tc", "runnable": true, "fromConnector": "E"}], "metaId": "5711f3230eb94abdb168e61d2082d1d2", "status": "active", "version": "1.0.0", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.fitable.FlowInfoCallback"]}, "enableOutputScope": true, "exceptionFitables": ["modelengine.fit.jober.aipp.fitable.AippFlowExceptionHandler", "modelengine.fit.jober.fitable.FlowInfoException"]}', 'Jade', '2025-04-19 09:15:55.578319') ON CONFLICT (definition_id) DO NOTHING; + +INSERT INTO "public"."flow_graph" ("id", "version", "tenant", "status", "name", "data", "created_by", "created_at", "updated_by", "updated_at", "previous", "is_deleted") VALUES ('5711f3230eb94abdb168e61d2082d1d2', '1.0.0', '31f20efc7e0848deab6a6bc10fc3021e', 'active', '5711f3230eb94abdb168e61d2082d1d2', '{"id":"5711f3230eb94abdb168e61d2082d1d2","title":"5711f3230eb94abdb168e61d2082d1d2","source":"elsa","type":"jadeFlowGraph","tenant":"31f20efc7e0848deab6a6bc10fc3021e","setting":{"borderColor":"#047bfc","backColor":"whitesmoke","headColor":"steelblue","fontColor":"steelblue","captionfontColor":"whitesmoke","fontFace":"arial","captionfontFace":"arial black","fontSize":12,"captionfontSize":14,"fontStyle":"normal","captionfontStyle":"normal","fontWeight":"lighter","captionfontWeight":"lighter","hAlign":"center","vAlign":"top","captionhAlign":"center","lineHeight":1.5,"lineWidth":2,"captionlineHeight":1,"focusMargin":0,"focusBorderColor":"#047bfc","focusFontColor":"darkorange","focusBackColor":"whitesmoke","mouseInColor":"orange","mouseInBorderColor":"#047bfc","mouseInFontColor":"orange","mouseInBackColor":"whitesmoke","borderWidth":1,"focusBorderWidth":1,"globalAlpha":1,"backAlpha":0.15,"cornerRadius":4,"dashWidth":0,"autoText":false,"autoHeight":false,"autoWidth":false,"margin":25,"pad":10,"code":"","rotateDegree":0,"shadow":"","focusShadow":"","shadowData":"2px 2px 4px","outstanding":false,"pDock":"none","dockMode":"none","priority":0,"infoType":{"name":"none","next":"INFORMATION"},"progressStatus":{"name":"NONE","next":"UNKNOWN","color":"gray"},"progressPercent":0.65,"showedProgress":false,"itemPad":[5,5,5,5],"itemScroll":{"x":0,"y":0},"scrollLock":{"x":false,"y":false},"resizeable":true,"selectable":true,"rotateAble":true,"editable":true,"moveable":true,"dragable":true,"visible":true,"deletable":true,"allowLink":true,"shared":false,"strikethrough":false,"underline":false,"numberedList":false,"bulletedList":false,"enableAnimation":false,"enableSocial":true,"emphasized":false,"bulletSpeed":1,"tag":{},"allNodeNumLimit":99,"sameTypeNodeNumLimit":19,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10},"pages":[{"x":-449.2228577394942,"y":648.7782362023345,"id":"elsa-page:tvp1s6","bold":false,"mode":"configuration","text":"newFlowPage","type":"jadeFlowPage","dirty":true,"index":0,"width":1600,"hAlign":"left","height":800,"isPage":true,"italic":false,"scaleX":0.7732920492783848,"scaleY":0.7732920492783848,"vAlign":"top","itemPad":[0,0,0,0],"division":-1,"dockMode":"none","fontFace":"arial","fontSize":18,"hideText":true,"moveable":true,"shapesAs":{},"backColor":"#fbfbfc","container":"elsa-page:tvp1s6","dockAlign":"top","fontColor":"#ECD0A7","fontStyle":"normal","itemSpace":5,"namespace":"jadeFlow","fontWeight":"bold","itemScroll":{"x":0,"y":0},"borderColor":"white","focusBackColor":"#fbfbfc","shapes":[{"x":-1123.5461204767116,"y":184.25814386932322,"id":"jade6qm5eg","pad":6,"bold":false,"text":"开始","type":"startNodeStart","dirty":false,"index":0,"width":360,"height":226,"italic":false,"shadow":"0 2px 4px 0 rgba(0,0,0,.1)","flowMeta":{"inputParams":[{"id":"91138f09-b635-43df-95c6-1fe3d1745829","from":"Expand","name":"input","type":"Object","value":[{"id":"input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb","from":"Input","name":"Question","type":"String","value":"","isVisible":true,"isRequired":true,"description":"这是用户输入的问题。","displayName":"用户问题","disableModifiable":true}],"config":[{"allowAdd":false}]},{"id":"4a770dc6-e3c9-475d-84c7-48dacc74a5b6","from":"Expand","name":"memory","type":"Object","value":[{"id":"a7675623-7fc7-468c-8910-e73c70e5e468","from":"Input","name":"memorySwitch","type":"Boolean","value":true},{"id":"cee9a31b-781c-4835-a616-ceed73be22f2","from":"Input","name":"type","type":"String","value":"ByConversationTurn"},{"id":"69592622-4291-409d-9d65-9faea83db657","from":"Input","name":"value","type":"Integer","value":"3"}]}],"triggerMode":"auto"},"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":false,"namespace":"flowable","autoHeight":true,"emphasized":false,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"focusShadow":"0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)","runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10,"completedTask":0,"componentName":"startComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"mouseInBorderColor":"rgba(28,31,35,.08)"},{"x":819.1428754447782,"y":139.13955828369046,"id":"jadewdnjbq","pad":6,"bold":false,"text":"大模型","type":"llmNodeState","dirty":false,"index":1,"width":360,"height":344,"italic":false,"shadow":"0 2px 4px 0 rgba(0,0,0,.1)","flowMeta":{"jober":{"name":"","type":"general_jober","isAsync":"true","fitables":["modelengine.fit.jober.aipp.fitable.LLMComponent"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"31ba235d-1b26-4780-a7a7-32eca9500919","from":"Expand","name":"accessInfo","type":"Object","value":[{"id":"83653b54-dd04-4da9-957d-adb7c2728632","from":"Input","name":"serviceName","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"dd588a17-a69c-40c0-859a-d9930202a148","from":"Input","name":"tag","type":"String","value":"SiliconFlow,Jade"}]},{"id":"6c414e75-971e-403a-b2b1-c6850f128cc4","from":"Input","name":"model","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"db5fdafa-4cbf-44ba-9cca-8a98f1f771f4","from":"Input","name":"temperature","type":"Number","value":"0.3"},{"id":"88f74d78-4711-4f81-a2e7-74d0034c5e88","from":"Expand","name":"prompt","type":"Object","value":[{"id":"35a710cf-1b79-4523-b16f-b50878d677fe","from":"Input","name":"template","type":"String","value":"如果用户未指定具体车型,则按照用户问题,结合工具提供的问界车型信息,给出简略概要类的回答。\n问题:{{query}} "},{"id":"38fb27a1-71f4-4fcc-87d5-9d8a880bc04d","from":"Expand","name":"variables","type":"Object","value":[{"id":"eee66922-4304-4209-89fc-b13ffa101630","from":"Reference","name":"query","type":"String","value":["Question"],"referenceId":"input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb","referenceKey":"Question","referenceNode":"jade6qm5eg"}]}]},{"id":"a6865419-867c-4bfb-855c-f5c1876c965a","from":"Expand","name":"tools","type":"Array","value":[{"id":"29d1707c-beaa-44c8-9eb2-08462880b031","from":"Input","name":"问界车型信息查询","tags":["FIT"],"type":"String","value":"7cba6fdd-8c6d-410f-81dc-775ffe96902b","version":"1.0.0"}]},{"id":"308e2023-a8e9-486e-9784-8680addbb786","from":"Expand","name":"workflows","type":"Array","value":[]},{"id":"68f92923-d5da-42ce-8478-d7ac7d90664e","from":"Input","name":"systemPrompt","type":"String","value":"你是一个具备自主工具调用能力的智能体,可以展示中间的思考过程给用户。你的回答有两种情况:\n\n无需调用外部工具\n\n如果问题可通过已有对话历史或直接推理得到答案,直接输出最终结果,不需使用任何标签包装,也不显示详细思考过程。\n需要调用外部工具解决的复杂问题\n\n必须采用以下严格的标签体系输出,每个标签之间空一行,且仅展示真实的工具调用结果:\n...:展示你内部的思考过程。注意,这部分内容可以展示给用户,但仅限于描述思路,不应包含任何伪造的工具调用结果。\n...:描述你准备调用工具的原因和计划。此处仅说明你需要调用哪个工具以及原因,工具的名称对人类阅读要友好,切勿直接模拟或输出工具返回内容。\n...:当你真正调用某个工具后,等待工具反馈,然后将工具调用的返回结果做非常简略的摘要后放在此标签内,摘要字数在20字以内。绝对禁止在未获得真实工具反馈前预先构造。 标签内容。\n...:在获取所有真实工具调用结果后,将整合信息给出最终答案。\n**重要要求**:\n- **不要输出tool_call标签**。\n- **答案必须详细完整**,不仅仅是工具返回结果的简单总结,而是对结果进行深入分析和整合,并提供背景解释、推理过程和可行性分析。\n- **确保所有关键信息得到展开**,避免省略任何重要内容。\n- **如果适用,可以提供额外的解释、使用建议或应用场景,以增强回答的实用性**。\n- 请使用**标准 Markdown 语法**输出答案,保证语法完整,**不要拆分**列表结构。\n- **输出此标签后,不得追加任何其他内容或标签**。\n\n严格要求\n\n切勿在中间思考或工具调用计划中,提前生成伪造的 标签内容。必须在实际调用工具并获得反馈后,再以 标签展示真实结果,再生成 标签输出最终答案。\n如果历史对话中已包含真实的工具调用结果,应直接使用这些信息构造最终答案,避免重复调用或展示多余标签。\n在所有工具调用完成之前,不得输出 标签;只有在确认所有真实工具反馈后,才生成最终答案。"},{"id":"78baad16-173f-4d70-a7cd-d1a2abc2f0d1","from":"input","name":"enableLog","type":"Boolean","value":true},{"id":"6d8d88d4-ebaa-4a57-9279-ae5b26654b5c","from":"Input","name":"maxMemoryRounds","type":"Integer","value":"3"},{"id":"e1b4bea8-0028-49a1-9e7d-ec29cff215da","from":"Expand","name":"knowledgeBases","type":"Array","value":[]}],"outputParams":[{"id":"95d84d67-3198-415e-a63c-bc9a2da8d821","from":"Expand","name":"output","type":"Object","value":[{"id":"272c927a-9e25-48b6-a921-6a8ab20267a4","from":"Input","name":"llmOutput","type":"String","value":"","description":""},{"id":"5782976c-0c1c-47b8-bcd5-8b6e22e52d39","from":"Input","name":"reference","type":"Array","value":[],"description":""}]}],"tempReference":{}}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"flowable","autoHeight":true,"emphasized":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"focusShadow":"0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)","runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"llmComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","mouseInBorderColor":"rgb(4, 123, 252)"},{"x":1324.8563982124583,"y":33.988095238095184,"id":"jademzanbn","pad":6,"bold":false,"text":"车型提取","type":"textExtractionNodeState","dirty":false,"index":2,"width":360,"height":334,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"extractParam"},{"name":"memoryConfig"},{"name":"memorySwitch"},{"name":"histories"}],"return":{"type":"object"},"uniqueName":"3bca6a3f-9623-4228-b120-1a5e0d41dc14"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"stageDesc":"分析试驾车型中...","inputParams":[{"id":"extractParam_2ca71bb8-ea6e-4d08-8f24-16a6fc3b64b6","from":"Expand","name":"extractParam","type":"Object","value":[{"id":"text_5d4f3012-93a0-4ebf-a9f1-17a9fe252651","from":"Reference","name":"text","type":"String","value":["output","llmOutput"],"referenceId":"272c927a-9e25-48b6-a921-6a8ab20267a4","referenceKey":"llmOutput","referenceNode":"jadewdnjbq"},{"id":"desc_12bbcd63-44c5-48d3-88c6-8b3d48b7c431","from":"Input","name":"desc","type":"String","value":"车型必须在该范围内:问界新M5 增程 Max,问界新M5 增程 Max RS,问界新M5 纯电 Max,问界M7 Ultra 五座后驱版,问界M7 Ultra 五座四驱版,问界M7 Ultra 六座后驱版,问界M7 Ultra 六座四驱版,问界M7 Pro 五座后驱版,问界M7 Pro 五座四驱版,问界M7 Pro 六座后驱版,问界M7 Pro 六座四驱版,问界M9 增程 Max 六座版,问界M9 增程 Ultra 六座版,问界M9 纯电 Max 六座版,问界M9 纯电 Ultra 六座版,问界M9 增程 Max 五座版,问界M9 增程 Ultra 五座版,问界M9 纯电 Ultra 五座版 "},{"id":"outputSchema_77df0737-ef00-4e3b-864c-31402655c65c","from":"Input","name":"outputSchema","type":"String","value":"{\"type\":\"object\",\"properties\":{\"carTypes\":{\"type\":\"array\",\"description\":\"问界的车型列表,具体到型号\"}}}"},{"id":"ed9f7d7e-4173-465b-a3f5-4d34345efa53","from":"Expand","name":"accessInfo","type":"Object","value":[{"id":"49a6dd9d-589f-4ca2-b66f-1b1951c5e886","from":"Input","name":"serviceName","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"582a3d24-d8d8-41c6-b9b7-277d5d994683","from":"Input","name":"tag","type":"String","value":"SiliconFlow,Jade"}]},{"id":"temperature_b5d5dd8c-1a39-450d-9851-130ff0aa3a78","from":"Input","name":"temperature","type":"Number","value":"0.3"}]},{"id":"memoryConfig_eed12a01-ccac-4bbd-ae80-39cf2d25a06c","from":"Expand","name":"memoryConfig","type":"Object","value":[{"id":"windowAlg_f20d73ee-6376-4c90-adf2-1386771aaabd","from":"Input","name":"windowAlg","type":"String","value":"buffer_window"},{"id":"serializeAlg_4828a286-e3fd-4803-9887-31517cc82520","from":"Input","name":"serializeAlg","type":"String","value":"full"},{"id":"property_c3ba42cf-cb22-46d4-bdcc-5d86204ad098","from":"Input","name":"property","type":"Integer","value":"0"}]},{"id":"memorySwitch_d7c69077-05bf-4c1b-8e38-735e03d984ad","from":"Input","name":"memorySwitch","type":"Boolean","value":false},{"id":"histories_51a356d1-f2ac-4f3b-b444-99a737100996","from":"Reference","name":"histories","type":"Array","value":["memories"],"referenceId":"memories","referenceKey":"memories","referenceNode":"_systemEnv"}],"outputParams":[{"id":"30bf32bc-b320-418e-ae62-b30d45b26255","from":"Expand","name":"output","type":"Object","value":[{"id":"37331645-54f7-4751-8d04-12ab9d74a8a7","from":"Expand","name":"extractedParams","type":"Object","value":[{"id":"f903ce3c-173c-4010-8e14-8e18d64c9b27","from":"Input","name":"carTypes","type":"Array","value":"","description":"问界的车型列表,具体到型号"}]},{"id":"success_e3a426e0-3d67-42e3-b985-1daa32a44d20","from":"Input","name":"success","type":"Boolean","value":"Boolean"}]}],"enableStageDesc":true,"jadeNodeConfigChangeIgnored":false}}},"stageDesc":"分析试驾车型中...","joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto","enableStageDesc":true},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"textExtractionComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":1179.1428754447782,"y":311.13955828369046,"id":"jadevbcutd","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":3,"textX":0,"textY":0,"width":145.71352276768016,"hAlign":"center","height":-110.15146304559528,"italic":false,"margin":20,"toShape":"jademzanbn","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadewdnjbq","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":1938.9763707660359,"y":-16.95528828179343,"id":"jade0ibwv7","pad":6,"bold":false,"text":"判断车型列表长度","type":"codeNodeState","dirty":false,"index":4,"width":368,"height":252,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"args"},{"name":"code"},{"name":"language"},{"name":"output"}],"return":{"type":"object"},"uniqueName":"e147f301-957a-4335-a155-1e86d1a45ae5"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"cab31f1f-5429-4f02-99b9-540e0d795357","from":"Expand","name":"args","type":"Object","value":[{"id":"bc929113-6c29-46b8-a1ad-8d53f2d9bb2e","from":"Reference","name":"input","type":"Object","value":["output"],"referenceId":"7f1994bf-3a0b-442a-9bbb-d0069949fbbd","referenceKey":"output","referenceNode":"jadez5f1df"}]},{"id":"66c7a482-6c7f-4698-807c-159aaba67485","from":"Input","name":"code","type":"String","value":"async def main(args: dict) -> str:\n is_valid_res = args.get(''input'', {}).get(''success'', bool)\n\n if not is_valid_res:\n return ''empty''\n\n input_list = args.get(''input'', {}).get(''extractedParams'', {}).get(''carTypes'', [])\n\n if len(input_list) == 0:\n return ''empty''\n elif len(input_list) == 1:\n return ''single''\n else:\n return ''multi''\n","language":"python"},{"id":"5368a24a-8782-4c08-9b79-58bfcd86f6e3","from":"Input","name":"language","type":"String","value":"python"},{"id":"e6aea608-a116-4f5c-9554-1a704547665e","from":"Input","name":"output","type":"Object","value":{"properties":{"output":{"type":"string","description":""}}}}],"outputParams":[{"id":"70793ed8-e5c9-4ede-9945-5db35626f68f","from":"Expand","name":"output","type":"String","value":""}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"codeComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":2330.285047191377,"y":120.84717835822356,"id":"jadeh0ccb7","pad":6,"bold":false,"text":"条件","type":"conditionNodeCondition","dirty":false,"index":5,"width":600,"height":284,"italic":false,"flowMeta":{"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto","conditionParams":{"branches":[{"id":"23d6704f-527f-43d9-8621-d8577d71dfec","type":"if","runnable":true,"conditions":[{"id":"ddee81d4-a971-494c-99df-f94f37633531","value":[{"id":"4d1e95b4-e9fd-431c-9d33-2b5c874dea02","from":"Reference","name":"left","type":"String","value":["output"],"referenceId":"70793ed8-e5c9-4ede-9945-5db35626f68f","referenceKey":"output","referenceNode":"jade0ibwv7"},{"id":"57b838c4-c03d-47f3-9f57-3f75d62898f2","from":"Input","name":"right","type":"String","value":"empty","referenceId":"","referenceKey":"","referenceNode":""}],"condition":"equal"}],"conditionRelation":"and"},{"id":"6f8c44d7-ad5c-4004-95e0-e01c391be100","type":"if","runnable":true,"conditions":[{"id":"7fd27d06-ac26-4225-a927-2b0d4a773cd4","value":[{"id":"0c2c78a1-6770-4f46-b36e-a30f3ce96b56","from":"Reference","name":"left","type":"String","value":["output"],"referenceId":"70793ed8-e5c9-4ede-9945-5db35626f68f","referenceKey":"output","referenceNode":"jade0ibwv7"},{"id":"082798c7-f2f6-40a8-bc73-edc9a174d0d3","from":"Input","name":"right","type":"String","value":"single","referenceId":"","referenceKey":"","referenceNode":""}],"condition":"equal"}],"conditionRelation":"and"},{"id":"73eee09c-caeb-44c1-a54b-65b54d2f8db8","type":"else","runnable":true,"conditions":[{"id":"7f70dfc4-154a-48bb-849a-158e22eff435","value":[],"condition":"true"}],"conditionRelation":"and"}],"jadeNodeConfigChangeIgnored":true}},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"conditionComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":2306.976370766036,"y":109.04471171820657,"id":"jadec676as","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":6,"textX":0,"textY":0,"width":23.30867642534122,"hAlign":"center","height":153.802466640017,"italic":false,"margin":20,"toShape":"jadeh0ccb7","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade0ibwv7","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":3095.528839751806,"y":1087.2644560112249,"id":"jadejnmnp4","pad":6,"bold":false,"text":"选择需要了解的车型","type":"intelligentFormNodeState","dirty":false,"index":7,"width":360,"height":236,"italic":false,"flowMeta":{"task":{"type":"AIPP_SMART_FORM","taskId":"a910a3d38a4549eda1112beee008419d","converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"83131a2d-781b-4756-a0c8-91ee865ffbae","from":"Expand","name":"data","type":"Object","value":[{"id":"input_1bb450c2-e4f9-471f-ac11-4760ed04461c","from":"Input","name":"car","type":"String","value":"car","displayName":"我想深入了解的车型"},{"id":"28da30c8-2e73-46d1-a1ad-85d8b0c734b9","name":"car-options","from":"Reference","referenceNode":"jadebz0q8j","referenceId":"504a2241-6962-4de4-901a-3df2b798eaa2","referenceKey":"output","value":["output"],"type":"Array"}]},{"id":"c554e101-37b5-4aa1-b9b3-bfcfb2423583","from":"Input","name":"schema","type":"Object","value":{"parameters":[{"id":"input_1bb450c2-e4f9-471f-ac11-4760ed04461c","from":"Input","name":"car","type":"String","value":"car","options":{"from":"Reference","type":"Array","value":["output"],"referenceId":"504a2241-6962-4de4-901a-3df2b798eaa2","referenceKey":"output","referenceNode":"jadebz0q8j"},"renderType":"Radio","displayName":"我想深入了解的车型"}]}}],"outputParams":[{"id":"b5220628-4334-42c5-9ac9-93d4fca29ac8","name":"output","type":"Object","value":[{"id":"input_1bb450c2-e4f9-471f-ac11-4760ed04461c","name":"car","type":"String","value":""}]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"manual"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"intelligentFormComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":3136.121745249294,"y":285.2614783280843,"id":"jadee2orhp","pad":6,"bold":false,"text":"代码_1","type":"codeNodeState","dirty":false,"index":8,"width":368,"height":252,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"args"},{"name":"code"},{"name":"language"},{"name":"output"}],"return":{"type":"object"},"uniqueName":"e147f301-957a-4335-a155-1e86d1a45ae5"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"8f50ae1f-f0fc-4eac-889c-0a53274b9e12","from":"Expand","name":"args","type":"Object","value":[{"id":"11325c8d-0491-4f99-85d9-4df54a3048a5","from":"Reference","name":"input","type":"Object","value":["output"],"referenceId":"7f1994bf-3a0b-442a-9bbb-d0069949fbbd","referenceKey":"output","referenceNode":"jadez5f1df"}]},{"id":"32133c22-59bf-4b46-9eaa-d221a0032c23","from":"Input","name":"code","type":"String","value":"async def main(args: Args) -> Output:\n list_car = args.get(''input'', {}).get(''extractedParams'', {}).get(''carTypes'', [])\n return list_car[0]","language":"python"},{"id":"ff990b8b-cf0c-436d-a8e7-7d4863e8d396","from":"Input","name":"language","type":"String","value":"python"},{"id":"9012d086-0ac4-4bcd-8455-e9b47e81c589","from":"Input","name":"output","type":"Object","value":{"properties":{"output":{"type":"string","description":""}}}}],"outputParams":[{"id":"b2e1f031-2fc8-410a-b2ec-73157db9750e","from":"Expand","name":"output","type":"String","value":""}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"codeComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":756.4734101887923,"y":1462.429481687775,"id":"jade3oqd4e","pad":6,"bold":false,"text":"大模型_2","type":"llmNodeState","dirty":false,"index":9,"width":360,"height":344,"italic":false,"shadow":"0 2px 4px 0 rgba(0,0,0,.1)","flowMeta":{"jober":{"name":"","type":"general_jober","isAsync":"true","fitables":["modelengine.fit.jober.aipp.fitable.LLMComponent"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"263b7842-e631-454a-aca2-8d979a344865","from":"Expand","name":"accessInfo","type":"Object","value":[{"id":"7b6ccdee-5b0b-4411-8f21-b75fe7879f5f","from":"Input","name":"serviceName","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"357563a6-8a44-40b1-8bdf-d11330ea58bb","from":"Input","name":"tag","type":"String","value":"SiliconFlow,Jade"}]},{"id":"3668396b-2055-417b-bef3-974623bee721","from":"Input","name":"model","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"0cdec945-916c-4d47-b14c-1059ce8189e3","from":"Input","name":"temperature","type":"Number","value":"0.3"},{"id":"8eb45463-3eb1-4543-ad3c-c8f4cb00a530","from":"Expand","name":"prompt","type":"Object","value":[{"id":"abf75403-ad7d-4364-9f33-92cfb306f000","from":"Input","name":"template","type":"String","value":"请按照以下步骤生成您的回复:\n1. 递归地将问题分解为更小的问题。\n2. 对于每个原子问题,从上下文和对话历史记录中选择最相关的信息。\n3. 使用所选信息生成回复草稿。\n4. 删除回复草稿中的重复内容。\n5. 在调整后生成最终答案,以提高准确性和相关性。\n6. 请注意,只需要回复最终答案。\n-------------------------------------\n问题:{{query}}"},{"id":"7f267a0f-3a63-434f-a538-105229be8af6","from":"Expand","name":"variables","type":"Object","value":[{"id":"b123d3e4-0570-42c6-a20b-6fbcb0235674","from":"Reference","name":"query","type":"String","value":["Question"],"referenceId":"input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb","referenceKey":"Question","referenceNode":"jade6qm5eg"}]}]},{"id":"6a5694e0-5100-4697-bb4e-8b030ed89624","from":"Expand","name":"tools","type":"Array","value":[]},{"id":"9eed644b-62ae-4fd2-b5da-c7b5a4244059","from":"Expand","name":"workflows","type":"Array","value":[]},{"id":"2dcf3b33-dd57-4bb6-ae66-f2484d44d2e6","from":"Input","name":"systemPrompt","type":"String","value":"角色:你是一个问界试驾助手。\n限制:对于涉及其他品牌车型的问题,不进行详细回答,建议用户提问关于问界车型的问题或是一般性的汽车知识问题。"},{"id":"eed2b900-e733-4ca0-adbb-18d6a0b6082b","from":"input","name":"enableLog","type":"Boolean","value":true},{"id":"177986fa-db8d-4f92-a6f2-546b7232b94b","from":"Input","name":"maxMemoryRounds","type":"Integer","value":"3"},{"id":"ca60a33d-41f2-4d36-bac2-19e8aa0cf6dc","from":"Expand","name":"knowledgeBases","type":"Array","value":[]}],"outputParams":[{"id":"98f2c414-2a1b-4d27-86aa-361a66973fd9","from":"Expand","name":"output","type":"Object","value":[{"id":"2e94082b-930d-4016-a180-a07bd0ad8e50","from":"Input","name":"llmOutput","type":"String","value":"","description":""},{"id":"df7f2c19-3d1a-4531-a0a5-11d31286e6e8","from":"Input","name":"reference","type":"Array","value":[],"description":""}]}],"tempReference":{}}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"flowable","autoHeight":true,"emphasized":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"focusShadow":"0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)","runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"llmComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","mouseInBorderColor":"rgb(4, 123, 252)"},{"x":3641.1444929801864,"y":259.58807973293915,"id":"jadeq2zedq","pad":6,"bold":false,"text":"确认试驾车型","type":"intelligentFormNodeState","dirty":false,"index":10,"width":360,"height":236,"italic":false,"flowMeta":{"task":{"type":"AIPP_SMART_FORM","taskId":"a910a3d38a4549eda1112beee008419d","converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"9ac3705a-a49d-4240-87dc-7963533a46a5","from":"Expand","name":"data","type":"Object","value":[{"id":"2c678112-4c6d-44b2-a1f6-3d4b8718b893","from":"Reference","name":"car","type":"String","value":["output"],"displayName":"试驾车型","referenceId":"b2e1f031-2fc8-410a-b2ec-73157db9750e","referenceKey":"output","referenceNode":"jadee2orhp"}]},{"id":"a4dfd48f-e998-4725-bb71-dfd0644785e2","from":"Input","name":"schema","type":"Object","value":{"parameters":[{"id":"2c678112-4c6d-44b2-a1f6-3d4b8718b893","from":"Reference","name":"car","type":"String","value":["output"],"options":{"from":"Reference","value":[],"referenceId":"f903ce3c-173c-4010-8e14-8e18d64c9b27","referenceNode":"jademzanbn"},"renderType":"Input","displayName":"试驾车型","referenceId":"b2e1f031-2fc8-410a-b2ec-73157db9750e","referenceKey":"output","referenceNode":"jadee2orhp"}]}}],"outputParams":[{"id":"41e1e5aa-846e-48ce-92ea-07e4d61f6553","name":"output","type":"Object","value":[{"id":"2c678112-4c6d-44b2-a1f6-3d4b8718b893","name":"car","type":"String","value":""}]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"manual"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"intelligentFormComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":3583.4751136945915,"y":810.1291139444377,"id":"jadebywy1i","pad":6,"bold":false,"text":"大模型_1","type":"llmNodeState","dirty":false,"index":11,"width":360,"height":344,"italic":false,"shadow":"0 2px 4px 0 rgba(0,0,0,.1)","flowMeta":{"jober":{"name":"","type":"general_jober","isAsync":"true","fitables":["modelengine.fit.jober.aipp.fitable.LLMComponent"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"905a7ab5-9f27-4ed8-b126-2a41394d9fe4","from":"Expand","name":"accessInfo","type":"Object","value":[{"id":"d3ac3f4a-d699-4341-89c3-d1c4921c1d2e","from":"Input","name":"serviceName","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"316ae379-274d-4fda-af6b-2f28b0356e2f","from":"Input","name":"tag","type":"String","value":"SiliconFlow,Jade"}]},{"id":"9ab32d21-b81b-4f13-9b5c-cd849ee7d334","from":"Input","name":"model","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"9ee1c339-c88d-4248-86d6-139b64b763cf","from":"Input","name":"temperature","type":"Number","value":"0.3"},{"id":"99c6709d-5907-49e5-8394-0d294e8a3053","from":"Expand","name":"prompt","type":"Object","value":[{"id":"9646d069-0d62-4da2-a6cd-709c2e6b2d06","from":"Input","name":"template","type":"String","value":"通过工具获取车型信息,详细介绍这个车型:{{query}} "},{"id":"16b3b1ba-cefd-4353-a29f-8004670c684a","from":"Expand","name":"variables","type":"Object","value":[{"id":"4c02d0da-7879-4461-8090-960554b32128","from":"Reference","name":"query","type":"String","value":["output","car"],"referenceId":"input_1bb450c2-e4f9-471f-ac11-4760ed04461c","referenceKey":"car","referenceNode":"jadejnmnp4"}]}]},{"id":"c04281f5-6769-476f-8d7d-7d21aa714ca8","from":"Expand","name":"tools","type":"Array","value":[{"id":"06142d65-2487-4a40-b592-ac4638ac527d","from":"Input","name":"问界车型信息查询","tags":["FIT"],"type":"String","value":"7cba6fdd-8c6d-410f-81dc-775ffe96902b","version":"1.0.0"}]},{"id":"a188c341-d4c0-46a0-8a8c-7438b05a4b6c","from":"Expand","name":"workflows","type":"Array","value":[]},{"id":"14e1b376-64ab-4ce1-86d2-e3285cea971c","from":"Input","name":"systemPrompt","type":"String","value":""},{"id":"2308bdeb-ff69-4cd9-afd4-ba8132c5d939","from":"input","name":"enableLog","type":"Boolean","value":true},{"id":"7f9b538a-7d1b-442d-b45e-5041364cfd4d","from":"Input","name":"maxMemoryRounds","type":"Integer","value":"0"},{"id":"62639076-5d67-4e37-bb54-024bdac816ec","from":"Expand","name":"knowledgeBases","type":"Array","value":[]}],"outputParams":[{"id":"8f3747e9-318f-49de-9de8-9610cf0049fc","from":"Expand","name":"output","type":"Object","value":[{"id":"d2156da5-09a9-4c8f-bf1a-9c63c457d439","from":"Input","name":"llmOutput","type":"String","value":"","description":""},{"id":"6714da5e-b514-4911-b04b-96e3b83c15d7","from":"Input","name":"reference","type":"Array","value":[],"description":""}]}],"tempReference":{}}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"flowable","autoHeight":true,"emphasized":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"focusShadow":"0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)","runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"llmComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","mouseInBorderColor":"rgb(4, 123, 252)"},{"x":3455.528839751806,"y":1205.2644560112249,"id":"jadew1opy5","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":12,"textX":0,"textY":0,"width":127.94627394278541,"hAlign":"center","height":-223.1353420667872,"italic":false,"margin":20,"toShape":"jadebywy1i","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadejnmnp4","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":4512.272758733045,"y":788.3278204357666,"id":"jadez5nidp","pad":6,"bold":false,"text":"确认试驾车型2","type":"intelligentFormNodeState","dirty":false,"index":13,"width":360,"height":236,"italic":false,"flowMeta":{"task":{"type":"AIPP_SMART_FORM","taskId":"a910a3d38a4549eda1112beee008419d","converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"2f92cbde-4e4b-4e7e-8307-18633cbb4352","from":"Expand","name":"data","type":"Object","value":[{"id":"610f8341-46f0-4e26-a6b8-58be5d52f560","from":"Reference","name":"car","type":"String","value":["output","car"],"displayName":"我要试驾车型","referenceId":"input_1bb450c2-e4f9-471f-ac11-4760ed04461c","referenceKey":"car","referenceNode":"jadejnmnp4"}]},{"id":"76c41bdf-8383-4318-a667-fd61b42609ab","from":"Input","name":"schema","type":"Object","value":{"parameters":[{"id":"610f8341-46f0-4e26-a6b8-58be5d52f560","from":"Reference","name":"car","type":"String","value":["output","car"],"options":{"from":"Reference","value":[],"referenceId":"f903ce3c-173c-4010-8e14-8e18d64c9b27","referenceNode":"jademzanbn"},"renderType":"Input","displayName":"我要试驾车型","referenceId":"input_1bb450c2-e4f9-471f-ac11-4760ed04461c","referenceKey":"car","referenceNode":"jadejnmnp4"}]}}],"outputParams":[{"id":"a8df0b85-ef18-4362-b94b-df12022d1e13","name":"output","type":"Object","value":[{"id":"610f8341-46f0-4e26-a6b8-58be5d52f560","name":"car","type":"String","value":""}]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"manual"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"intelligentFormComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":1427.020111275216,"y":1032.5974446613131,"id":"jadetvqkdx","pad":6,"bold":false,"text":"车型提取2","type":"textExtractionNodeState","dirty":false,"index":14,"width":360,"height":334,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"extractParam"},{"name":"memoryConfig"},{"name":"memorySwitch"},{"name":"histories"}],"return":{"type":"object"},"uniqueName":"3bca6a3f-9623-4228-b120-1a5e0d41dc14"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"stageDesc":"分析试驾车型中...","inputParams":[{"id":"extractParam_db169c41-8428-4d04-9ca9-d5462638b9de","from":"Expand","name":"extractParam","type":"Object","value":[{"id":"text_ed4e777e-3973-4dfe-a5cd-8b6997e3c16f","from":"Reference","name":"text","type":"String","value":["Question"],"referenceId":"input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb","referenceKey":"Question","referenceNode":"jade6qm5eg"},{"id":"desc_c5827ce1-b1c7-4959-98a6-79736761bfd7","from":"Input","name":"desc","type":"String","value":"车型必须在该范围内:问界新M5 增程 Max,问界新M5 增程 Max RS,问界新M5 纯电 Max,问界M7 Ultra 五座后驱版,问界M7 Ultra 五座四驱版,问界M7 Ultra 六座后驱版,问界M7 Ultra 六座四驱版,问界M7 Pro 五座后驱版,问界M7 Pro 五座四驱版,问界M7 Pro 六座后驱版,问界M7 Pro 六座四驱版,问界M9 增程 Max 六座版,问界M9 增程 Ultra 六座版,问界M9 纯电 Max 六座版,问界M9 纯电 Ultra 六座版,问界M9 增程 Max 五座版,问界M9 增程 Ultra 五座版,问界M9 纯电 Ultra 五座版 "},{"id":"outputSchema_2dda5dc9-c4f7-4f4e-a3ac-60a5387d66c9","from":"Input","name":"outputSchema","type":"String","value":"{\"type\":\"object\",\"properties\":{\"carTypes\":{\"type\":\"array\",\"description\":\"问界的车型列表,具体到型号\"}}}"},{"id":"6958ac49-541d-4768-b198-dfdf3767649a","from":"Expand","name":"accessInfo","type":"Object","value":[{"id":"fb995664-4eb1-49e2-80ba-b6d2991eedd5","from":"Input","name":"serviceName","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"755800ba-5209-4a3c-90b0-b4aa4bfd8fe2","from":"Input","name":"tag","type":"String","value":"SiliconFlow,Jade"}]},{"id":"temperature_6bb0ad3b-7bbf-4110-acbd-f4b103214374","from":"Input","name":"temperature","type":"Number","value":"0.3"}]},{"id":"memoryConfig_392e3f83-1fe1-43b5-88ae-afb9999ee4ee","from":"Expand","name":"memoryConfig","type":"Object","value":[{"id":"windowAlg_cde542de-39f0-4550-91dd-b1cf979f310d","from":"Input","name":"windowAlg","type":"String","value":"buffer_window"},{"id":"serializeAlg_153d40da-349c-466e-8780-6eefc42ae5c6","from":"Input","name":"serializeAlg","type":"String","value":"full"},{"id":"property_fb24ab56-f614-412b-b6d6-dfbbbc189365","from":"Input","name":"property","type":"Integer","value":"0"}]},{"id":"memorySwitch_6b354c48-ed57-44b3-91a4-5940425dc1dc","from":"Input","name":"memorySwitch","type":"Boolean","value":false},{"id":"histories_d7e7c55e-d25b-4e03-80f1-b9937979faf1","from":"Reference","name":"histories","type":"Array","value":["memories"],"referenceId":"memories","referenceKey":"memories","referenceNode":"_systemEnv"}],"outputParams":[{"id":"b65edebe-1855-4502-a72f-0a207fd6c99f","from":"Expand","name":"output","type":"Object","value":[{"id":"66248c5c-9f8f-4000-8597-e8d6b0d7b16d","from":"Expand","name":"extractedParams","type":"Object","value":[{"id":"eb21be95-d82b-49b3-9eaf-455f4e449410","from":"Input","name":"carTypes","type":"Array","value":"","description":"问界的车型列表,具体到型号"}]},{"id":"success_e1a7af2a-fde0-4e73-81c1-cced296e08e8","from":"Input","name":"success","type":"Boolean","value":"Boolean"}]}],"enableStageDesc":true,"jadeNodeConfigChangeIgnored":false}}},"stageDesc":"分析试驾车型中...","joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto","enableStageDesc":true},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"textExtractionComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":1912.2742953652482,"y":796.1082161366603,"id":"jadez5f1df","pad":6,"bold":false,"text":"聚合车型列表","type":"codeNodeState","dirty":false,"index":15,"width":368,"height":252,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"args"},{"name":"code"},{"name":"language"},{"name":"output"}],"return":{"type":"object"},"uniqueName":"e147f301-957a-4335-a155-1e86d1a45ae5"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"ee12101b-d717-4f49-9ff5-6d840676047a","from":"Expand","name":"args","type":"Object","value":[{"id":"b8d2fbbf-1152-4403-a6dc-8ae88d7ddec3","from":"Reference","name":"input1","type":"Object","value":["output"],"referenceId":"30bf32bc-b320-418e-ae62-b30d45b26255","referenceKey":"output","referenceNode":"jademzanbn"},{"id":"662c4a18-21e8-47e0-bce2-10c89cb51b63","from":"Reference","name":"input2","type":"Object","value":["output"],"referenceId":"b65edebe-1855-4502-a72f-0a207fd6c99f","referenceKey":"output","referenceNode":"jadetvqkdx"}]},{"id":"08e9c25a-e55c-4620-bcca-325d714160d5","from":"Input","name":"code","type":"String","value":"async def main(args: Args) -> Output:\n if args[''input1'']:\n return args[''input1'']\n else:\n return args[''input2''] \n","language":"python"},{"id":"7df2184c-f82f-43ab-9a30-d695fae550ea","from":"Input","name":"language","type":"String","value":"python"},{"id":"35868ea7-d973-4a6c-b9f2-340a06f9f112","from":"Input","name":"output","type":"Object","value":{"properties":{"output":{"type":"object","description":"","properties":{}}}}}],"outputParams":[{"id":"7f1994bf-3a0b-442a-9bbb-d0069949fbbd","from":"Expand","name":"output","type":"Object","value":[]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"codeComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":1684.8563982124583,"y":200.98809523809518,"id":"jadeanptlq","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":16,"textX":0,"textY":0,"width":227.41789715278992,"hAlign":"center","height":721.1201208985651,"italic":false,"margin":20,"toShape":"jadez5f1df","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jademzanbn","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":1787.020111275216,"y":1199.5974446613131,"id":"jade58w7a7","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":17,"textX":0,"textY":0,"width":125.25418409003214,"hAlign":"center","height":-277.48922852465284,"italic":false,"margin":20,"toShape":"jadez5f1df","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadetvqkdx","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":2280.2742953652482,"y":922.1082161366603,"id":"jadexs8po6","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":18,"textX":0,"textY":0,"width":-341.29792459921237,"hAlign":"center","height":-813.0635044184537,"italic":false,"margin":20,"toShape":"jade0ibwv7","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadez5f1df","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":2383.9637395101945,"y":939.1301739903586,"id":"jadebz0q8j","pad":6,"bold":false,"text":"提取车型列表","type":"codeNodeState","dirty":false,"index":19,"width":368,"height":252,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"args"},{"name":"code"},{"name":"language"},{"name":"output"}],"return":{"type":"object"},"uniqueName":"e147f301-957a-4335-a155-1e86d1a45ae5"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"ac8da121-58a3-4801-82f3-862533c0db2b","from":"Expand","name":"args","type":"Object","value":[{"id":"90d97368-2212-4176-ab52-55215cb5d6c6","from":"Reference","name":"input","type":"Object","value":["output"],"referenceId":"7f1994bf-3a0b-442a-9bbb-d0069949fbbd","referenceKey":"output","referenceNode":"jadez5f1df"}]},{"id":"5abd8220-a2e6-47a1-b3d7-61da5c91a7c8","from":"Input","name":"code","type":"String","value":"async def main(args: Args) -> Output:\n return args.get(''input'', {}).get(''extractedParams'', {}).get(''carTypes'', [])","language":"python"},{"id":"d09bd08d-d2f7-47c2-a74b-a9f9fe899387","from":"Input","name":"language","type":"String","value":"python"},{"id":"c57b604c-0ae0-4d32-bef3-30c14793ddf1","from":"Input","name":"output","type":"Object","value":{"properties":{"output":{"type":"array","description":""}}}}],"outputParams":[{"id":"504a2241-6962-4de4-901a-3df2b798eaa2","from":"Expand","name":"output","type":"Array","value":""}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"codeComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":2918.657887350822,"y":344.64718910145405,"id":"jadep8j6qd","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":20,"textX":0,"textY":0,"width":-534.6941478406275,"hAlign":"center","height":720.4829848889045,"italic":false,"margin":20,"toShape":"jadebz0q8j","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadeh0ccb7","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-999"},{"x":2751.9637395101945,"y":1065.1301739903586,"id":"jader2ugw2","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":21,"textX":0,"textY":0,"width":343.5651002416116,"hAlign":"center","height":140.1342820208663,"italic":false,"margin":20,"toShape":"jadejnmnp4","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadebz0q8j","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":1585.717679196791,"y":1882.192672636369,"id":"jadeaevz6w","pad":6,"bold":false,"text":"结束_1","type":"endNodeEnd","dirty":false,"index":22,"width":360,"height":182,"italic":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"e42435d1-bd40-4a8f-a6da-6ce3b8c9e936","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"0cecce75-2752-4f0b-8c01-e55897f82eef","from":"Reference","name":"finalOutput","type":"String","value":["output","llmOutput"],"editable":true,"isRequired":true,"description":"","referenceId":"2e94082b-930d-4016-a180-a07bd0ad8e50","referenceKey":"llmOutput","referenceNode":"jade3oqd4e"}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"f7b318fa-c166-4b2d-b72a-e6b90b8c7324","from":"Input","name":"enableLog","type":"Boolean","value":false}],"outputParams":[{}]}}},"triggerMode":"auto"},"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderWidth":1,"mouseInBorderColor":"#B1B1B7"},{"x":1116.4734101887923,"y":1634.429481687775,"id":"jadewhsta6","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":23,"textX":0,"textY":0,"width":469.2442690079988,"hAlign":"center","height":338.763190948594,"italic":false,"margin":20,"toShape":"jadeaevz6w","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade3oqd4e","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":4941.814604932744,"y":1053.7568338252217,"id":"jadevgtszg","pad":6,"bold":false,"text":"结束_3","type":"endNodeEnd","dirty":false,"index":24,"width":360,"height":182,"italic":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"10392a5e-479e-468d-9a87-bb85a2649cc2","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"b2ab53ef-8e29-4a95-9fed-be9894df8806","from":"Input","name":"out","type":"String","value":"您选择的试驾车型为:","editable":true,"isRequired":true,"description":""},{"id":"31d34355-c6d3-459d-ac61-66eaf31f6fd4","from":"Reference","name":"car","type":"String","value":["output","car"],"editable":true,"isRequired":true,"description":"","referenceId":"610f8341-46f0-4e26-a6b8-58be5d52f560","referenceKey":"car","referenceNode":"jadez5nidp"}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"89dfe7b5-972a-4b2a-a2b4-86c9b851fe05","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":4872.272758733045,"y":906.3278204357666,"id":"jade90v0rb","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":25,"textX":0,"textY":0,"width":69.54184619969965,"hAlign":"center","height":238.42901338945512,"italic":false,"margin":20,"toShape":"jadevgtszg","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadez5nidp","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":4360.7236177911855,"y":276.14527960371345,"id":"jade9wr70l","pad":6,"bold":false,"text":"结束_2","type":"endNodeEnd","dirty":false,"index":26,"width":360,"height":182,"italic":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"bf589d2e-aff9-46f4-a266-4f3b6b4ea6e7","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"9104e96f-26ec-46cf-88b4-1ff929f7b983","from":"Input","name":"out","type":"String","value":"您选择的试驾车型为:","editable":true,"isRequired":true,"description":""},{"id":"7c278873-cea0-424b-b344-e22ab070aeb3","from":"Reference","name":"car","type":"String","value":["output","car"],"editable":true,"isRequired":true,"description":"","referenceId":"2c678112-4c6d-44b2-a1f6-3d4b8718b893","referenceKey":"car","referenceNode":"jadeq2zedq"}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"ab34cf0f-7fa9-424d-8b01-edc402fb163d","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":3281.554641671145,"y":-72.84814124515464,"id":"jadehrizke","pad":6,"bold":false,"text":"结束","type":"endNodeEnd","dirty":false,"index":27,"width":360,"height":182,"italic":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"8fca4472-cb61-474b-97c8-be14566e998a","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"1e9b929c-bd6d-46c1-9b8c-23d1a0f7a7cc","from":"Input","name":"out","type":"String","value":"非常抱歉,不支持该车型的试驾。","editable":true,"isRequired":true,"description":""}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"8fcd715b-5e4c-488c-bcb7-ec5f4b5c83c2","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderWidth":1,"mouseInBorderColor":"#B1B1B7"},{"x":2918.657887350822,"y":241.64718520187574,"id":"jadeke55eo","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":28,"textX":0,"textY":0,"width":362.896754320323,"hAlign":"center","height":-223.49532644703038,"italic":false,"margin":20,"toShape":"jadehrizke","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadeh0ccb7","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-0|23d6704f-527f-43d9-8621-d8577d71dfec"},{"x":-503.16041743745245,"y":128.7548542937538,"id":"jade1tc9vb","pad":6,"bold":false,"text":"用户问题分类","type":"llmNodeState","dirty":false,"index":29,"width":360,"height":344,"italic":false,"flowMeta":{"jober":{"name":"","type":"general_jober","isAsync":"true","fitables":["modelengine.fit.jober.aipp.fitable.LLMComponent"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"8e3a79d1-d39d-4815-9236-2e08bcbeb89d","from":"Input","name":"model","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"d9ef67b3-a4e8-4b6c-b15b-0f55de543159","from":"Expand","name":"accessInfo","type":"Object","value":[{"id":"22a75a6e-c13a-45e7-9492-15613f79b1d8","from":"Input","name":"serviceName","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"a8265476-b028-4b32-88a4-cd9e27609d86","from":"Input","name":"tag","type":"String","value":"SiliconFlow,Jade"}]},{"id":"2c6a7c43-a6d7-4850-a60f-43d615085630","from":"Input","name":"temperature","type":"Number","value":"0.3"},{"id":"80222643-ef96-41ca-b9f6-6eae7f267a69","from":"Expand","name":"prompt","type":"Object","value":[{"id":"d655ab25-92c4-4af2-a01a-3e7e22a84362","from":"Input","name":"template","type":"String","value":"\"请分析用户的问题,并判断其意图是否是与问界汽车或是问界试驾有关。\n 如果用户的问题涉及问界汽车信息的询问,(例如:“请介绍一下问界M5”、 “给我推荐一款问界汽车”),则返回 ‘问界汽车问题’。\n如果用户只是咨询试驾相关内容(例如:“我想试驾问界M5”、“我想试驾保时捷911”),则返回 ‘试驾汽车问题’。\n如果用户问题是关于**其他品牌**的汽车或是一般性闲聊(例如:“最近有什么有趣的事?”、“今天天气不错”)则返回 ‘其他问题’\"\n用户问题:{{input}}\n**重要:不要回答``问界汽车问题``、``试驾汽车问题``、``其他问题``以外的文字**"},{"id":"cfe7e088-9f69-4671-a44a-4cd0f553920e","from":"Expand","name":"variables","type":"Object","value":[{"id":"046e05a4-4aa1-4694-8427-634bd97596d0","from":"Reference","name":"input","type":"String","value":["Question"],"referenceId":"input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb","referenceKey":"Question","referenceNode":"jade6qm5eg"}]}]},{"id":"248bb3d3-abcb-4072-8b14-360428994714","from":"Input","name":"maxMemoryRounds","type":"Integer","value":"3"},{"id":"89b4068b-9926-4429-a334-9b6daefc11d0","from":"Expand","name":"tools","type":"Array","value":[]},{"id":"267e88b8-1cdc-4312-a117-a96ea6c37514","from":"Input","name":"systemPrompt","type":"String","value":""},{"id":"3b9fafe7-20ac-4d59-be6c-1dd61b264e70","from":"Input","name":"enableLog","type":"Boolean","value":false},{"id":"ed3e6fda-3a66-405c-b5d4-100822755cd8","from":"Expand","name":"knowledgeBases","type":"Array","value":[]}],"outputParams":[{"id":"d4ae45a4-74cc-498c-9e6e-69a1694614fb","from":"Expand","name":"output","type":"Object","value":[{"id":"e8bd45b4-2216-4eda-af81-d008bb6012a9","from":"Input","name":"llmOutput","type":"String","value":"","description":""},{"id":"2d7b57fb-c452-41d3-9fed-bed3289c64eb","from":"Input","name":"reference","type":"Array","value":[],"description":""}]}],"tempReference":{}}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"llmComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":-763.5461204767116,"y":297.25814386932325,"id":"jadeknglms","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":30,"textX":0,"textY":0,"width":260.38570303925917,"hAlign":"center","height":3.496710424430546,"italic":false,"margin":20,"toShape":"jade1tc9vb","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade6qm5eg","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":-66.83537340229776,"y":197.7460840672867,"id":"jade5pubt6","pad":6,"bold":false,"text":"条件_1","type":"conditionNodeCondition","dirty":false,"index":31,"width":600,"height":284,"italic":false,"flowMeta":{"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto","conditionParams":{"branches":[{"id":"407a4d42-fe33-427e-8553-9de19e9bb002","type":"if","runnable":true,"conditions":[{"id":"e6cc2561-bf7f-43e9-873e-675ef7fa1340","value":[{"id":"146ae59a-df8a-4181-9dbc-466e6b81cdb9","from":"Reference","name":"left","type":"String","value":["output","llmOutput"],"referenceId":"e8bd45b4-2216-4eda-af81-d008bb6012a9","referenceKey":"llmOutput","referenceNode":"jade1tc9vb"},{"id":"5a2bd11a-bbff-4e14-81a7-8f5d747d9e61","from":"Input","name":"right","type":"String","value":"问界汽车问题","referenceId":"","referenceKey":"","referenceNode":""}],"condition":"equal"}],"conditionRelation":"and"},{"id":"7fe7b5fa-c661-4ba5-9f87-4e8070496dd0","type":"if","runnable":true,"conditions":[{"id":"fc38c7be-06ac-41eb-a896-e6bb0f9129d0","value":[{"id":"767ed731-7595-46a6-9448-dcac3635694a","from":"Reference","name":"left","type":"String","value":["output","llmOutput"],"referenceId":"e8bd45b4-2216-4eda-af81-d008bb6012a9","referenceKey":"llmOutput","referenceNode":"jade1tc9vb"},{"id":"1ce1f111-7dec-4fac-b6e5-fd02d5b78557","from":"Input","name":"right","type":"String","value":"试驾汽车问题","referenceId":"","referenceKey":"","referenceNode":""}],"condition":"equal"}],"conditionRelation":"and"},{"id":"dc589e0f-3202-46e4-87f4-e550d54bbbc5","type":"else","runnable":true,"conditions":[{"id":"8d21bec4-7de8-4b35-9561-2e4374e42780","value":[],"condition":"true"}],"conditionRelation":"and"}],"jadeNodeConfigChangeIgnored":true}},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"conditionComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":-143.16041743745245,"y":300.7548542937538,"id":"jadey81zoy","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":32,"textX":0,"textY":0,"width":76.32504403515469,"hAlign":"center","height":38.99122977353289,"italic":false,"margin":20,"toShape":"jade5pubt6","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade1tc9vb","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":521.5373576131606,"y":318.54609091093886,"id":"jade8w9r8o","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":33,"textX":0,"textY":0,"width":297.6055178316176,"hAlign":"center","height":-7.406532627248396,"italic":false,"margin":20,"toShape":"jadewdnjbq","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade5pubt6","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-0|407a4d42-fe33-427e-8553-9de19e9bb002"},{"x":521.5373576131606,"y":374.5460870922666,"id":"jadewp6fyj","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":34,"textX":0,"textY":0,"width":905.4827536620555,"hAlign":"center","height":825.0513575690466,"italic":false,"margin":20,"toShape":"jadetvqkdx","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade5pubt6","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-1|7fe7b5fa-c661-4ba5-9f87-4e8070496dd0"},{"x":521.5373576131606,"y":421.54607877806717,"id":"jadeu36msk","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":35,"textX":0,"textY":0,"width":234.93605257563172,"hAlign":"center","height":1212.883402909708,"italic":false,"margin":20,"toShape":"jade3oqd4e","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade5pubt6","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-999"},{"x":4052.389624614043,"y":653.9380776568371,"id":"jade9wm99z","pad":6,"bold":false,"text":"大模型_4","type":"llmNodeState","dirty":false,"index":36,"width":360,"height":344,"italic":false,"flowMeta":{"jober":{"name":"","type":"general_jober","isAsync":"true","fitables":["modelengine.fit.jober.aipp.fitable.LLMComponent"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"09e984b4-261d-4db4-9a79-bfdcab112355","from":"Input","name":"model","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"f7469288-be18-4f27-8e0c-985b6444c3cf","from":"Expand","name":"accessInfo","type":"Object","value":[{"id":"57eece3d-c599-444e-8ad8-b76f7b2594ca","from":"Input","name":"serviceName","type":"String","value":"Qwen/Qwen2.5-72B-Instruct"},{"id":"96ab5533-d3d0-4018-a341-16667d0df21b","from":"Input","name":"tag","type":"String","value":"SiliconFlow,Jade"}]},{"id":"6ee7671a-c9e2-4ae7-9348-d0f4c548e025","from":"Input","name":"temperature","type":"Number","value":"0.3"},{"id":"4e9c98fc-6547-4fd0-a71e-e21b9cd52f41","from":"Expand","name":"prompt","type":"Object","value":[{"id":"e7cd99dd-0143-44a9-81ee-ccebcc8b6a2c","from":"Input","name":"template","type":"String","value":"通过工具查询车型的图片:{{query}} "},{"id":"56e29f98-ae8e-478c-b02e-75b8149f090a","from":"Expand","name":"variables","type":"Object","value":[{"id":"77353774-8079-4f34-8672-44df471f2c2a","from":"Reference","name":"query","type":"String","value":["output","car"],"referenceId":"input_1bb450c2-e4f9-471f-ac11-4760ed04461c","referenceKey":"car","referenceNode":"jadejnmnp4"}]}]},{"id":"6dd50ee8-6572-43d1-a7da-97c88138bf5d","from":"Input","name":"maxMemoryRounds","type":"Integer","value":"0"},{"id":"3d26bc7c-3757-4b90-b803-f919123bd1dc","from":"Expand","name":"tools","type":"Array","value":[{"id":"bf11ba32-9201-4618-8084-66c81e4a0608","from":"Input","name":"问界车型宣传图片","tags":["FIT"],"type":"String","value":"e754f978-d236-44fa-aa55-e8eb5d8f8269","version":"1.0.0"}]},{"id":"e0ff690b-0e1c-4086-a299-94ab3cbfe5e5","from":"Input","name":"systemPrompt","type":"String","value":""},{"id":"267a67d4-c64c-488d-8263-7977c26b1c23","from":"Input","name":"enableLog","type":"Boolean","value":true},{"id":"4cfaec42-099b-4ec4-ae23-a3f47d9db635","from":"Expand","name":"knowledgeBases","type":"Array","value":[]}],"outputParams":[{"id":"29377aa8-2eb4-4a99-99c5-19ef52f309a0","from":"Expand","name":"output","type":"Object","value":[{"id":"c7836226-62a7-47e6-b4fa-705ed2acffed","from":"Input","name":"llmOutput","type":"String","value":"","description":""},{"id":"a2263372-420d-404c-93c0-e4e0edd79f39","from":"Input","name":"reference","type":"Array","value":[],"description":""}]}],"tempReference":{}}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"llmComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":3943.4751136945915,"y":982.1291139444377,"id":"jadepdt7pq","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":37,"textX":0,"textY":0,"width":108.91451091945146,"hAlign":"center","height":-156.19103628760058,"italic":false,"margin":20,"toShape":"jade9wm99z","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadebywy1i","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":4412.389624614043,"y":825.9380776568371,"id":"jade28pvut","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":38,"textX":0,"textY":0,"width":99.88313411900162,"hAlign":"center","height":80.38974277892953,"italic":false,"margin":20,"toShape":"jadez5nidp","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade9wm99z","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":2918.657887350822,"y":297.6471616509573,"id":"jadeam5lo5","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":39,"textX":0,"textY":0,"width":217.46385789847182,"hAlign":"center","height":113.61431667712702,"italic":false,"margin":20,"toShape":"jadee2orhp","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadeh0ccb7","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-1|6f8c44d7-ad5c-4004-95e0-e01c391be100"},{"x":3504.121745249294,"y":411.2614783280843,"id":"jade13kr3a","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":40,"textX":0,"textY":0,"width":137.02274773089266,"hAlign":"center","height":-33.67339859514516,"italic":false,"margin":20,"toShape":"jadeq2zedq","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadee2orhp","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":4001.1444929801864,"y":377.58807973293915,"id":"jadef977tc","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":41,"textX":0,"textY":0,"width":359.579124810999,"hAlign":"center","height":-10.442800129225702,"italic":false,"margin":20,"toShape":"jade9wr70l","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadeq2zedq","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"}]}],"enableText":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.fitable.FlowInfoCallback"]},"enableOutputScope":true,"exceptionFitables":["modelengine.fit.jober.aipp.fitable.AippFlowExceptionHandler","modelengine.fit.jober.fitable.FlowInfoException"]},"version":"1.0.0"}', 'Jade', '2025-04-19 09:15:55.131413', 'Jade', '2025-04-19 09:15:55.585765', NULL, 'f') ON CONFLICT (id, version) DO NOTHING; + +INSERT INTO "public"."task_new" ("id", "name", "version", "template_id", "tenant_id", "attributes", "created_by", "created_at", "updated_by", "updated_at", "is_deleted") VALUES ('e785d5f9abaa4c5581612a2448c08441', '问界试驾助手', '1.0.0', 'dfe319109bc84f6793645e3483c029ca', '31f20efc7e0848deab6a6bc10fc3021e', '{"app_id": "550177e8d0e34014a2d95988ef1c67c5", "version": "1.0.0", "aipp_type": "NORMAL", "meta_icon": "", "publish_at": "2025-04-19T09:15:56.022104797", "description": "", "meta_status": "active", "unique_name": "2a3141b2-8c83-40c2-b2b6-103746c125d3", "flow_config_id": "5711f3230eb94abdb168e61d2082d1d2", "flow_definition_id": "803b4ba4d163472b81ad2330734e23b9", "publish_update_log": "", "publish_description": "问界试驾助手"}', 'Jade', '2025-04-19 09:15:55.552466', 'Jade', '2025-04-19 09:15:56.035246', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('问界试驾助手', '{"name":"问界试驾助手","description":"","manualIntervention":false,"parameters":{"type":"object","properties":{"aippId":{"description":"the aipp id of the waterFlow tool","default":"dfe319109bc84f6793645e3483c029ca","type":"string"},"tenantId":{"description":"the tenant id of the waterFlow tool","default":"31f20efc7e0848deab6a6bc10fc3021e","type":"string"},"inputParams":{"type":"object","properties":{"Question":{"type":"String","description":"这是用户输入的问题。"}},"required":["Question"],"order":["Question"]},"version":{"description":"the aipp version of the waterFlow tool","default":"1.0.0","type":"string"}},"required":["tenantId","aippId","version","inputParams"]},"return":{"type":"object","properties":{}},"order":["tenantId","aippId","version","inputParams"]}', '{"FIT":{"fitableId":"water.flow.invoke","genericableId":"07b51bd246594c159d403164369ce1db"},"APP":{"aippId":"dfe319109bc84f6793645e3483c029ca","appCategory":"chatbot","version":"1.0.0","appId":"550177e8d0e34014a2d95988ef1c67c5"}}', 'null', '2a3141b2-8c83-40c2-b2b6-103746c125d3', '1.0.0', 't', '2a3141b2-8c83-40c2-b2b6-103746c125d3', '2a3141b2-8c83-40c2-b2b6-103746c125d3', '2a3141b2-8c83-40c2-b2b6-103746c125d3') ON CONFLICT ("unique_name", "version") DO NOTHING; + +INSERT INTO "public"."store_app" ("source", "icon", "app_category", "tool_name", "tool_unique_name") VALUES ('system', '', 'chatbot', '问界试驾助手', '2a3141b2-8c83-40c2-b2b6-103746c125d3') ON CONFLICT ("tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('2a3141b2-8c83-40c2-b2b6-103746c125d3', '{"name":"2a3141b2-8c83-40c2-b2b6-103746c125d3","description":"","manualIntervention":false,"parameters":{"type":"object","properties":{"aippId":{"description":"the aipp id of the waterFlow tool","default":"dfe319109bc84f6793645e3483c029ca","type":"string"},"tenantId":{"description":"the tenant id of the waterFlow tool","default":"31f20efc7e0848deab6a6bc10fc3021e","type":"string"},"inputParams":{"type":"object","properties":{"Question":{"type":"String","description":"这是用户输入的问题。"}},"required":["Question"],"order":["Question"]},"version":{"description":"the aipp version of the waterFlow tool","default":"1.0.0","type":"string"}},"required":["tenantId","aippId","version","inputParams"]},"return":{"type":"object","properties":{}},"order":["tenantId","aippId","version","inputParams"]}', '2a3141b2-8c83-40c2-b2b6-103746c125d3') ON CONFLICT ("definition_group_name", "name") DO NOTHING; + +INSERT INTO "public"."store_definition_group" ("name", "summary", "description", "extensions") VALUES ('2a3141b2-8c83-40c2-b2b6-103746c125d3', 'no summary', 'no desc', 'null') ON CONFLICT ("name") DO NOTHING; + +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('2a3141b2-8c83-40c2-b2b6-103746c125d3', 'APP') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('2a3141b2-8c83-40c2-b2b6-103746c125d3', 'APP_TYPE_4DB152B24F94473AB683B1ACBFE3C865') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; + +INSERT INTO "public"."store_tool_group" ("name", "definition_group_name", "summary", "description", "extensions") VALUES ('2a3141b2-8c83-40c2-b2b6-103746c125d3', '2a3141b2-8c83-40c2-b2b6-103746c125d3', 'no summary', 'no desc', 'null') ON CONFLICT ("name") DO NOTHING; +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('问界产品信息查询', '{"name":"问界产品信息查询","description":"用于查询问界产品信息查询","parameters":{"type":"object","properties":{"args":{"defaultValue":"","description":"预留参数,当前传入空字符串即可","name":"args","type":"string","examples":"","required":true}},"required":["args"]},"order":["args"],"parameterExtensions":null,"return":{"type":"string","convertor":""}}', 'Wenjie') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('问界产品宣传图', '{"name":"问界产品宣传图","description":"用于查询问界产品宣传图","parameters":{"type":"object","properties":{"carType":{"defaultValue":"","description":"车的型号","name":"carType","type":"string","examples":"","required":true}},"required":["carType"]},"order":["carType"],"parameterExtensions":null,"return":{"type":"array","items":{"type":"object"},"convertor":""}}', 'Wenjie') ON CONFLICT ("definition_group_name", "name") DO NOTHING; + +INSERT INTO "public"."store_definition_group" ("name", "summary", "description", "extensions") VALUES ('Wenjie', '', '', '{}') ON CONFLICT ("name") DO NOTHING; + +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin", "source", "icon") VALUES ('90468c455f728a6082d1b1546547748f3afe55e99d27b5e44acc9bd3935e6f13', 'wenjie-cars', '{"uniqueness.groupId":"modelengine.fit.jade.plugin","pluginFullName":"wenjie-data-1.0.0-SNAPSHOT_1745053576903.jar","checksum":"8313760d85dcd3382bf5a2da18251ecd0e1d272626d0054e6df17d37b916c4bb","name":"wenjie-cars","description":"问界的车型介绍","uniqueness.artifactId":"wenjie-data","type":"java"}', 'DEPLOYED', 'f', '', NULL) ON CONFLICT ("plugin_id") DO NOTHING; + +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name", "source", "icon") VALUES ('问界车型信息查询', '90468c455f728a6082d1b1546547748f3afe55e99d27b5e44acc9bd3935e6f13', '7cba6fdd-8c6d-410f-81dc-775ffe96902b', '', NULL) ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name", "source", "icon") VALUES ('问界车型宣传图片', '90468c455f728a6082d1b1546547748f3afe55e99d27b5e44acc9bd3935e6f13', 'e754f978-d236-44fa-aa55-e8eb5d8f8269', '', NULL) ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('e754f978-d236-44fa-aa55-e8eb5d8f8269', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('7cba6fdd-8c6d-410f-81dc-775ffe96902b', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('问界车型信息查询', '{"name":"问界车型信息查询","description":"用于查询问界的车型信息","parameters":{"type":"object","properties":{"args":{"examples":"","defaultValue":"","name":"args","description":"预留参数,当前传入空字符串即可","type":"string","required":false}},"required":["args"]},"return":{"convertor":"","examples":"","name":"","description":"问界车型介绍","type":"string"},"order":["args"]}', '{"FIT":{"genericableId":"modelengine.jober.aipp.AITO.describe","fitableId":"default"}}', '{"tags":["FIT"]}', '7cba6fdd-8c6d-410f-81dc-775ffe96902b', '1.0.0', 't', 'WenjieImpl', '问界产品信息查询', 'Wenjie') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('问界车型宣传图片', '{"name":"问界车型宣传图片","description":"用于查询问界车型宣传图片","parameters":{"type":"object","properties":{"carType":{"examples":"","defaultValue":"","name":"carType","description":"车的型号","type":"string","required":false}},"required":["carType"]},"return":{"convertor":"","examples":"","name":"","description":"问界车型的宣传图片的访问地址","type":"array","items":{"type":"object"}},"order":["carType"]}', '{"FIT":{"genericableId":"modelengine.jober.aipp.AITO.url","fitableId":"default"}}', '{"tags":["FIT"]}', 'e754f978-d236-44fa-aa55-e8eb5d8f8269', '1.0.0', 't', 'WenjieImpl', '问界产品宣传图', 'Wenjie') ON CONFLICT ("unique_name", "version") DO NOTHING; + +INSERT INTO "public"."store_tool_group" ("name", "definition_group_name", "summary", "description", "extensions") VALUES ('WenjieImpl', 'Wenjie', '', '', '{}') ON CONFLICT ("name") DO NOTHING; diff --git a/app-engine/plugins/app-announcement/src/main/resources/sql/app_engine_announcement_create_table.sql b/app-engine/plugins/app-announcement/src/main/resources/sql/schema/create_tables/app_engine_announcement_create_table.sql similarity index 100% rename from app-engine/plugins/app-announcement/src/main/resources/sql/app_engine_announcement_create_table.sql rename to app-engine/plugins/app-announcement/src/main/resources/sql/schema/create_tables/app_engine_announcement_create_table.sql diff --git a/app-engine/plugins/app-base/src/main/resources/sql/07_app_base_creat_table.sql b/app-engine/plugins/app-base/src/main/resources/sql/schema/create_tables/app_base_create_table.sql similarity index 100% rename from app-engine/plugins/app-base/src/main/resources/sql/07_app_base_creat_table.sql rename to app-engine/plugins/app-base/src/main/resources/sql/schema/create_tables/app_base_create_table.sql diff --git a/app-engine/plugins/app-metrics/src/main/resources/sql/app_engine_metrics_create_table.sql b/app-engine/plugins/app-metrics/src/main/resources/sql/schema/create_tables/app_engine_metrics_create_table.sql similarity index 100% rename from app-engine/plugins/app-metrics/src/main/resources/sql/app_engine_metrics_create_table.sql rename to app-engine/plugins/app-metrics/src/main/resources/sql/schema/create_tables/app_engine_metrics_create_table.sql diff --git a/app-eval/plugins/eval-dataset/src/main/resources/sql/app_eval_create_table.sql b/app-eval/plugins/eval-dataset/src/main/resources/sql/schema/create_tables/app_eval_create_table.sql similarity index 100% rename from app-eval/plugins/eval-dataset/src/main/resources/sql/app_eval_create_table.sql rename to app-eval/plugins/eval-dataset/src/main/resources/sql/schema/create_tables/app_eval_create_table.sql diff --git a/app-eval/plugins/eval-task/src/main/resources/sql/app_task_create_table.sql b/app-eval/plugins/eval-task/src/main/resources/sql/schema/create_tables/app_task_create_table.sql similarity index 94% rename from app-eval/plugins/eval-task/src/main/resources/sql/app_task_create_table.sql rename to app-eval/plugins/eval-task/src/main/resources/sql/schema/create_tables/app_task_create_table.sql index 5a7fab2676..967a04cfdf 100644 --- a/app-eval/plugins/eval-task/src/main/resources/sql/app_task_create_table.sql +++ b/app-eval/plugins/eval-task/src/main/resources/sql/schema/create_tables/app_task_create_table.sql @@ -4,8 +4,8 @@ create table if not exists t_app_engine_eval_task "name" varchar(64) not null, "description" varchar(512) not null, "status" varchar(32) not null, - "created_at" timestamp(9) default current_timestamp not null, - "updated_at" timestamp(9) default current_timestamp not null, + "created_at" timestamp default current_timestamp not null, + "updated_at" timestamp default current_timestamp not null, "created_by" varchar(64) default 'system' not null, "updated_by" varchar(64) default 'system' not null, "app_id" varchar(255) not null, @@ -77,9 +77,9 @@ create table if not exists t_app_engine_eval_instance "pass_rate" smallint default -1 not null, "pass_count" smallint default 0 not null, "created_by" varchar(64) default 'system' not null, - "created_at" timestamp(9) default current_timestamp not null, - "updated_at" timestamp(9) default current_timestamp not null, - "finished_at" timestamp(9) default current_timestamp not null, + "created_at" timestamp default current_timestamp not null, + "updated_at" timestamp default current_timestamp not null, + "finished_at" timestamp default current_timestamp not null, "trace_id" varchar(32) not null, "task_id" bigint not null ); diff --git a/app-eval/plugins/simple-uid-generator/src/main/resources/sql/simple_id_generator_create_table.sql b/app-eval/plugins/simple-uid-generator/src/main/resources/sql/schema/sequence/simple_id_generator_create_sequence.sql similarity index 100% rename from app-eval/plugins/simple-uid-generator/src/main/resources/sql/simple_id_generator_create_table.sql rename to app-eval/plugins/simple-uid-generator/src/main/resources/sql/schema/sequence/simple_id_generator_create_sequence.sql diff --git a/app-knowledge/plugins/knowledge-manager/src/main/resources/sql/data/tr_t_knowledge_config.sql b/app-knowledge/plugins/knowledge-manager/src/main/resources/sql/data/tr_t_knowledge_config.sql new file mode 100644 index 0000000000..a413fe00a4 --- /dev/null +++ b/app-knowledge/plugins/knowledge-manager/src/main/resources/sql/data/tr_t_knowledge_config.sql @@ -0,0 +1,72 @@ +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('添加知识库配置', '{"name":"添加知识库配置","description":"增加用户的知识库配置信息","parameters":{"type":"object","properties":{"knowledgeConfigDto":{"examples":"","defaultValue":"","name":"knowledgeConfigDto","description":"知识库配置dto","type":"object","properties":{"isDefault":{"type":"boolean"},"apiKey":{"type":"string"},"groupId":{"type":"string"},"name":{"type":"string"},"id":{"type":"integer"},"userId":{"type":"string"}}}},"required":["knowledgeConfigDto"]},"return":{"convertor":"","examples":"","name":"","description":"增加用户的知识库配置信息","type":"null"},"order":["knowledgeConfigDto"]}', '{"FIT":{"genericableId":"knowledge.center.service.addUserKnowledgeConfig","fitableId":"knowledge.config.service.impl"}}', '{"tags":["FIT","KNOWLEDGE"]}', 'f952e986-a1ee-474d-bd3a-bdf154db58e7', '1.0.0', 't', 'Knowledge_Center_Service_Impl', 'add_user_knowledge_config', 'Knowledge_Center_Service') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('修改知识库配置', '{"name":"修改知识库配置","description":"修改用户的知识库配置信息","parameters":{"type":"object","properties":{"knowledgeConfigDto":{"examples":"","defaultValue":"","name":"knowledgeConfigDto","description":"知识库配置dto","type":"object","properties":{"isDefault":{"type":"boolean"},"apiKey":{"type":"string"},"groupId":{"type":"string"},"name":{"type":"string"},"id":{"type":"integer"},"userId":{"type":"string"}}}},"required":["knowledgeConfigDto"]},"return":{"convertor":"","examples":"","name":"","description":"修改用户的知识库配置信息","type":"null"},"order":["knowledgeConfigDto"]}', '{"FIT":{"genericableId":"knowledge.center.service.editUserKnowledgeConfig","fitableId":"knowledge.config.service.impl"}}', '{"tags":["FIT","KNOWLEDGE"]}', '39eea5b4-034a-409a-935a-e9df7736dda8', '1.0.0', 't', 'Knowledge_Center_Service_Impl', 'edit_user_knowledge_config', 'Knowledge_Center_Service') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('删除知识库配置', '{"name":"删除知识库配置","description":"删除用户的知识库配置信息","parameters":{"type":"object","properties":{"id":{"examples":"","defaultValue":"","name":"id","description":"知识库配置id","type":"integer","required":true}},"required":["id"]},"return":{"convertor":"","examples":"","name":"","description":"删除用户的知识库配置信息","type":"null"},"order":["id"]}', '{"FIT":{"genericableId":"knowledge.center.service.deleteUserKnowledgeConfig","fitableId":"knowledge.config.service.impl"}}', '{"tags":["FIT","KNOWLEDGE"]}', '24146b66-2bbe-46a4-848b-1c48057a4ed7', '1.0.0', 't', 'Knowledge_Center_Service_Impl', 'delete_user_knowledge_config', 'Knowledge_Center_Service') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('查询知识库配置', '{"name":"查询知识库配置","description":"查询用户的知识库配置信息","parameters":{"type":"object","properties":{"userId":{"examples":"","defaultValue":"","name":"userId","description":"用户id","type":"string","required":true}},"required":["userId"]},"return":{"convertor":"","examples":"","name":"","description":"查询用户的知识库配置信息","type":"array","items":{"type":"object","properties":{"isDefault":{"type":"boolean"},"apiKey":{"type":"string"},"groupId":{"type":"string"},"name":{"type":"string"},"id":{"type":"integer"},"userId":{"type":"string"}}}},"order":["userId"]}', '{"FIT":{"genericableId":"knowledge.center.service.listUserKnowledgeConfig","fitableId":"knowledge.config.service.impl"}}', '{"tags":["FIT","KNOWLEDGE"]}', 'b04f2abf-8dbc-4103-b652-b26148838981', '1.0.0', 't', 'Knowledge_Center_Service_Impl', 'list_user_knowledge_config', 'Knowledge_Center_Service') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('查询知识库集列表', '{"name":"查询知识库集列表","description":"获取支持使用的知识库集列表","parameters":{"type":"object","properties":{"userId":{"examples":"","defaultValue":"","name":"userId","description":"用户id","type":"string"}},"required":[]},"return":{"convertor":"","examples":"","name":"","description":"获取支持使用的知识库集列表","type":"array","items":{"type":"object","properties":{"groupId":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}}}},"order":["userId"]}', '{"FIT":{"genericableId":"knowledge.center.service.listSupportKnowledges","fitableId":"knowledge.config.service.impl"}}', '{"tags":["FIT","KNOWLEDGE"]}', 'aed53a7c-4701-437b-b651-a5ec298dd0cf', '1.0.0', 't', 'Knowledge_Center_Service_Impl', 'list_support_knowledges', 'Knowledge_Center_Service') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('知识库配置应用', '{"name":"知识库配置应用","description":"当你想要配置知识库的时候,请使用我!","manualIntervention":false,"parameters":{"type":"object","properties":{"aippId":{"description":"the aipp id of the waterFlow tool","default":"5185dad4c8124522a2612c20f8497cf0","type":"string"},"tenantId":{"description":"the tenant id of the waterFlow tool","default":"31f20efc7e0848deab6a6bc10fc3021e","type":"string"},"inputParams":{"type":"object","properties":{"Question":{"type":"String","description":"这是用户输入的问题。"}},"required":["Question"],"order":["Question"]},"version":{"description":"the aipp version of the waterFlow tool","default":"1.0.0","type":"string"}},"required":["tenantId","aippId","version","inputParams"]},"return":{"type":"object","properties":{}},"order":["tenantId","aippId","version","inputParams"]}', '{"FIT":{"fitableId":"water.flow.invoke","genericableId":"07b51bd246594c159d403164369ce1db"},"APP":{"aippId":"5185dad4c8124522a2612c20f8497cf0","appCategory":"chatbot","version":"1.0.0","appId":"c419cf9d3f2d472da6b376bbb07c0f5a"}}', 'null', '4ff18263-7cc1-40fc-bd96-4c0ee9eb3af0', '1.0.0', 't', '4ff18263-7cc1-40fc-bd96-4c0ee9eb3af0', '4ff18263-7cc1-40fc-bd96-4c0ee9eb3af0', '4ff18263-7cc1-40fc-bd96-4c0ee9eb3af0') ON CONFLICT ("unique_name", "version") DO NOTHING; + +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('add_user_knowledge_config', '{"name":"add_user_knowledge_config","description":"增加用户的知识库配置信息","parameters":{"type":"object","properties":{"knowledgeConfigDto":{"defaultValue":"","description":"知识库配置dto","name":"knowledgeConfigDto","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"userId":{"type":"string"},"apiKey":{"type":"string"},"groupId":{"type":"string"},"isDefault":{"type":"boolean"}},"examples":""}},"required":["knowledgeConfigDto"]},"order":["knowledgeConfigDto"],"parameterExtensions":null,"return":{"type":"null","convertor":""}}', 'Knowledge_Center_Service') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('edit_user_knowledge_config', '{"name":"edit_user_knowledge_config","description":"修改用户的知识库配置信息","parameters":{"type":"object","properties":{"knowledgeConfigDto":{"defaultValue":"","description":"知识库配置dto","name":"knowledgeConfigDto","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"userId":{"type":"string"},"apiKey":{"type":"string"},"groupId":{"type":"string"},"isDefault":{"type":"boolean"}},"examples":""}},"required":["knowledgeConfigDto"]},"order":["knowledgeConfigDto"],"parameterExtensions":null,"return":{"type":"null","convertor":""}}', 'Knowledge_Center_Service') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('delete_user_knowledge_config', '{"name":"delete_user_knowledge_config","description":"删除用户的知识库配置信息","parameters":{"type":"object","properties":{"id":{"defaultValue":"","description":"知识库配置id","name":"id","type":"integer","examples":"","required":true}},"required":["id"]},"order":["id"],"parameterExtensions":null,"return":{"type":"null","convertor":""}}', 'Knowledge_Center_Service') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('list_user_knowledge_config', '{"name":"list_user_knowledge_config","description":"查询用户的知识库配置信息","parameters":{"type":"object","properties":{"userId":{"defaultValue":"","description":"用户id","name":"userId","type":"string","examples":"","required":true}},"required":["userId"]},"order":["userId"],"parameterExtensions":null,"return":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"userId":{"type":"string"},"apiKey":{"type":"string"},"groupId":{"type":"string"},"isDefault":{"type":"boolean"}}},"convertor":""}}', 'Knowledge_Center_Service') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('list_support_knowledges', '{"name":"list_support_knowledges","description":"获取支持使用的知识库集列表","parameters":{"type":"object","properties":{"userId":{"defaultValue":"","description":"用户id","name":"userId","type":"string","examples":""}},"required":[]},"order":["userId"],"parameterExtensions":null,"return":{"type":"array","items":{"type":"object","properties":{"groupId":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}}},"convertor":""}}', 'Knowledge_Center_Service') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('4ff18263-7cc1-40fc-bd96-4c0ee9eb3af0', '{"name":"4ff18263-7cc1-40fc-bd96-4c0ee9eb3af0","description":"当你想要配置知识库的时候,请使用我!","manualIntervention":false,"parameters":{"type":"object","properties":{"aippId":{"description":"the aipp id of the waterFlow tool","default":"5185dad4c8124522a2612c20f8497cf0","type":"string"},"tenantId":{"description":"the tenant id of the waterFlow tool","default":"31f20efc7e0848deab6a6bc10fc3021e","type":"string"},"inputParams":{"type":"object","properties":{"Question":{"type":"String","description":"这是用户输入的问题。"}},"required":["Question"],"order":["Question"]},"version":{"description":"the aipp version of the waterFlow tool","default":"1.0.0","type":"string"}},"required":["tenantId","aippId","version","inputParams"]},"return":{"type":"object","properties":{}},"order":["tenantId","aippId","version","inputParams"]}', '4ff18263-7cc1-40fc-bd96-4c0ee9eb3af0') ON CONFLICT ("definition_group_name", "name") DO NOTHING; + +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('f952e986-a1ee-474d-bd3a-bdf154db58e7', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('f952e986-a1ee-474d-bd3a-bdf154db58e7', 'KNOWLEDGE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('39eea5b4-034a-409a-935a-e9df7736dda8', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('39eea5b4-034a-409a-935a-e9df7736dda8', 'KNOWLEDGE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('24146b66-2bbe-46a4-848b-1c48057a4ed7', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('24146b66-2bbe-46a4-848b-1c48057a4ed7', 'KNOWLEDGE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('b04f2abf-8dbc-4103-b652-b26148838981', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('b04f2abf-8dbc-4103-b652-b26148838981', 'KNOWLEDGE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('aed53a7c-4701-437b-b651-a5ec298dd0cf', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('aed53a7c-4701-437b-b651-a5ec298dd0cf', 'KNOWLEDGE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('4ff18263-7cc1-40fc-bd96-4c0ee9eb3af0', 'APP') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") VALUES ('4ff18263-7cc1-40fc-bd96-4c0ee9eb3af0', 'APP_TYPE_B653EDB7EB5A49BE91ABCD2C5877C6AD') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; + +INSERT INTO "public"."store_plugin_tool" ("like_count", "download_count", "tool_name", "plugin_id", "tool_unique_name", "source", "icon") VALUES (0, 0, '添加知识库配置', '3733674b4180b02ebb49f60193373d38e08753d890d31d41a1ca880cf4364cdd', 'f952e986-a1ee-474d-bd3a-bdf154db58e7', '', NULL) ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("like_count", "download_count", "tool_name", "plugin_id", "tool_unique_name", "source", "icon") VALUES (0, 0, '修改知识库配置', '3733674b4180b02ebb49f60193373d38e08753d890d31d41a1ca880cf4364cdd', '39eea5b4-034a-409a-935a-e9df7736dda8', '', NULL) ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("like_count", "download_count", "tool_name", "plugin_id", "tool_unique_name", "source", "icon") VALUES (0, 0, '删除知识库配置', '3733674b4180b02ebb49f60193373d38e08753d890d31d41a1ca880cf4364cdd', '24146b66-2bbe-46a4-848b-1c48057a4ed7', '', NULL) ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("like_count", "download_count", "tool_name", "plugin_id", "tool_unique_name", "source", "icon") VALUES (0, 0, '查询知识库配置', '3733674b4180b02ebb49f60193373d38e08753d890d31d41a1ca880cf4364cdd', 'b04f2abf-8dbc-4103-b652-b26148838981', '', NULL) ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("like_count", "download_count", "tool_name", "plugin_id", "tool_unique_name", "source", "icon") VALUES (0, 0, '查询知识库集列表', '3733674b4180b02ebb49f60193373d38e08753d890d31d41a1ca880cf4364cdd', 'aed53a7c-4701-437b-b651-a5ec298dd0cf', '', NULL) ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin", "source", "icon") VALUES ('3733674b4180b02ebb49f60193373d38e08753d890d31d41a1ca880cf4364cdd', '用户知识库配置服务', '{"uniqueness.groupId":"store-knowledge-config-service","pluginFullName":"weather-1.0-SNAPSHOT_1745752448118.jar","checksum":"e48217e7e2121849e4dbae4d4c922cbf79802c638a4b0bed71d3d412fa1c88fd","name":"用户知识库配置服务","description":"这是一个用户知识库配置服务工具","uniqueness.artifactId":"jade-knowledge-config-service","type":"java"}', 'DEPLOYED', 'f', '', NULL) ON CONFLICT ("plugin_id") DO NOTHING; + +INSERT INTO "public"."app_builder_form" ("id", "name", "tenant_id", "appearance", "type", "create_by", "create_at", "update_by", "update_at", "is_deleted", "form_suite_id", "version") VALUES ('aed5570845d440c78ed3326f8482483c', '知识库管理表单', '31f20efc7e0848deab6a6bc10fc3021e', '{"imgUrl": "smart_form/17b732c9-5272-42a6-a79d-8d0334a8aa19/form.jpeg", "schema": {"name": "知识库管理表单", "return": {"type": "object", "properties": {"info": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "apiKey": {"type": "string"}, "groupId": {"type": "string"}, "isDefault": {"type": "integer"}}}, "action": {"enum": ["add", "delete", "switch", "quit"], "type": "string"}}}, "parameters": {"type": "object", "required": ["knowledgeList", "knowledgeOptions"], "properties": {"knowledgeList": {"type": "array", "items": {"type": "object", "required": ["groupId", "name", "apiKey", "isDefault"], "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "apiKey": {"type": "string"}, "userId": {"type": "String"}, "groupId": {"type": "string"}, "isDefault": {"type": "integer"}}}}, "knowledgeOptions": {"type": "array", "items": {"type": "object", "required": ["name", "groupId", "description"], "properties": {"name": {"type": "string"}, "groupId": {"type": "string"}, "description": {"type": "string"}}}}}}}, "fileName": "knowledge.zip", "fileSize": 362092, "fileUuid": "904be596a4b94873b22a008ca807cc3b", "iframeUrl": "smart_form/17b732c9-5272-42a6-a79d-8d0334a8aa19/build/index.html", "description": "这是一个知识库管理表单"}', 'runtime', 'Jade', '2025-04-28 02:04:18.174594', 'Jade', '2025-04-28 14:05:47.721196', 0, '83dc556b25544414b88b538281be4d66', '1.0.0') ON CONFLICT ("id") DO NOTHING; + +INSERT INTO "public"."app_builder_app" ("id", "name", "create_by", "create_at", "update_by", "update_at", "config_id", "flow_graph_id", "tenant_id", "type", "version", "attributes", "state", "app_built_type", "app_category", "collection_usr_cnt", "is_deleted", "path", "app_type") VALUES ('c419cf9d3f2d472da6b376bbb07c0f5a', '知识库配置应用', 'Jade', '2025-04-27 11:38:16.181311', 'Jade', '2025-04-28 14:11:01.841006', 'c9a41dd87eb04b89bbfa6de2b221bb5b', '7075f47449504e639571887473986da6', '31f20efc7e0848deab6a6bc10fc3021e', 'app', '1.0.0', '{"icon": "", "name": "知识库配置应用", "app_type": "b653edb7eb5a49be91abcd2c5877c6ad", "greeting": "", "store_id": "4ff18263-7cc1-40fc-bd96-4c0ee9eb3af0", "is_update": false, "description": "当你想要配置知识库的时候,请使用我!", "publishedUpdateLog": "", "publishedDescription": ""}', 'active', 'workflow', 'chatbot', 0, 0, 'z7hFDTDrjuCUHMn4', 'b653edb7eb5a49be91abcd2c5877c6ad') ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_config" ("id", "form_id", "app_id", "tenant_id", "create_by", "create_at", "update_by", "update_at", "is_deleted") VALUES ('c9a41dd87eb04b89bbfa6de2b221bb5b', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'c419cf9d3f2d472da6b376bbb07c0f5a', '31f20efc7e0848deab6a6bc10fc3021e', 'Jade', '2025-04-27 11:38:16.181311', 'Jade', '2025-04-28 14:11:01.841006', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('5b3d5cd9e18c462fa026376f3fea968c', 'jadewdnjbq', 'a80ad3fc2f534efaa0d8d9ce712fb959', 'c9a41dd87eb04b89bbfa6de2b221bb5b', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('9f708d4d918443d28305d24076b53e7b', 'jadewdnjbq', '2b9f6bf4cc8a4fdf8577f244172bd795', 'c9a41dd87eb04b89bbfa6de2b221bb5b', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('e88c66bcc7734a4b8c1c548c906c9887', 'jade6qm5eg', '63053f5ed97b4b3389374fb53f48b622', 'c9a41dd87eb04b89bbfa6de2b221bb5b', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('2eed9c8579b240c1b9f70b644033d4e3', 'jade0pg2ag', '8687c7fa1b6b4880a3a0b398d82b435d', 'c9a41dd87eb04b89bbfa6de2b221bb5b', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('96bd64f1f5a34159a1b38a65877209db', 'jadewdnjbq', 'bfcf1e4ef3e04e57ab3a0e22cb4c3c6a', 'c9a41dd87eb04b89bbfa6de2b221bb5b', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('3c4b023698884a5aa90ae521410b011a', 'jadewdnjbq', '1210169d69fc4a41978677eda6f2fa40', 'c9a41dd87eb04b89bbfa6de2b221bb5b', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('7cbd923586e14bdfb54f7bdb481a1747', 'jadewdnjbq', '8e451697002345d5a41d1dc4f05ce8cd', 'c9a41dd87eb04b89bbfa6de2b221bb5b', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('0f36c6755c724e4191e5167b6f7ad2c3', 'jadewdnjbq', '957e6742fff1494bb25672a808a420d1', 'c9a41dd87eb04b89bbfa6de2b221bb5b', 0) ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_config_property" ("id", "node_id", "form_property_id", "config_id", "is_deleted") VALUES ('53a05f767f34412c9b4fd047da831351', NULL, 'a98380a087f245b588c0d90943dae056', 'c9a41dd87eb04b89bbfa6de2b221bb5b', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_flow_graph" ("id", "name", "create_by", "create_at", "update_by", "update_at", "appearance", "is_deleted") VALUES ('7075f47449504e639571887473986da6', 'LLM模板', 'Jade', '2025-04-27 11:38:16.181311', 'Jade', '2025-04-28 14:11:01.841006', '{"id": "7075f47449504e639571887473986da6", "type": "jadeFlowGraph", "pages": [{"x": -961.4761904761909, "y": 116.92460317460332, "id": "elsa-page:tvp1s6", "bold": false, "mode": "configuration", "text": "newFlowPage", "type": "jadeFlowPage", "dirty": true, "index": 0, "width": 1600, "hAlign": "left", "height": 800, "isPage": true, "italic": false, "scaleX": 0.7, "scaleY": 0.7, "shapes": [{"x": 0, "y": 255, "id": "jade6qm5eg", "pad": 6, "bold": false, "text": "开始", "type": "startNodeStart", "dirty": false, "index": 0, "width": 360, "height": 226, "italic": false, "shadow": "0 2px 4px 0 rgba(0,0,0,.1)", "flowMeta": {"inputParams": [{"id": "91138f09-b635-43df-95c6-1fe3d1745829", "from": "Expand", "name": "input", "type": "Object", "value": [{"id": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "from": "Input", "name": "Question", "type": "String", "value": "", "isVisible": true, "isRequired": true, "description": "这是用户输入的问题。", "displayName": "用户问题", "disableModifiable": true}], "config": [{"allowAdd": true}]}, {"id": "4a770dc6-e3c9-475d-84c7-48dacc74a5b6", "from": "Expand", "name": "memory", "type": "Object", "value": [{"id": "a7675623-7fc7-468c-8910-e73c70e5e468", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": false}, {"id": "cee9a31b-781c-4835-a616-ceed73be22f2", "from": "Input", "name": "type", "type": "String", "value": "ByConversationTurn"}, {"id": "69592622-4291-409d-9d65-9faea83db657", "from": "Input", "name": "value", "type": "Integer", "value": "3"}]}], "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": false, "namespace": "flowable", "autoHeight": true, "emphasized": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "focusShadow": "0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)", "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "startComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 2290, "y": 277, "id": "jadesoux5i", "pad": 6, "bold": false, "text": "退出表单结束", "type": "endNodeEnd", "dirty": false, "index": 1, "width": 360, "height": 182, "italic": false, "shadow": "0 2px 4px 0 rgba(0,0,0,.1)", "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "54dab89c-5693-4082-baa7-12c648d812f7", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "ffad80c2-3f60-4d57-93b2-c2362a5dab9c", "from": "Input", "name": "finalOutput", "type": "String", "value": "已退出,请重新开始对话来发起新的知识库配置请求。", "editable": true, "isRequired": true, "description": ""}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "c26bf2ca-75b3-4a6f-bc47-132c2e170895", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "flowable", "autoHeight": true, "emphasized": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "focusShadow": "0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)", "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 410, "y": 219, "id": "jadecz3u6c", "pad": 6, "bold": false, "text": "查询知识库集列表", "type": "toolInvokeNodeState", "dirty": false, "index": 2, "width": 360, "height": 186, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "userId"}], "return": {"type": "array"}, "uniqueName": "aed53a7c-4701-437b-b651-a5ec298dd0cf"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "userId_19b06f68-cea8-4735-b969-0aaf6b116fc0", "from": "Reference", "name": "userId", "type": "String", "value": ["userId"], "isRequired": false, "description": "用户id", "referenceId": "userId", "referenceKey": "userId", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "output_d4892455-0e93-46b5-aa9c-635c4b0c457b", "name": "output", "type": "Array", "value": []}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28,31,35,.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "toolInvokeComponent", "focusBackColor": "white", "sourcePlatform": "", "enableAnimation": false, "focusBorderWidth": 1, "mouseInBorderColor": "#B1B1B7"}, {"x": 360, "y": 368, "id": "jade89i9gi", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 3, "textX": 0, "textY": 0, "width": 50, "hAlign": "center", "height": -56, "italic": false, "margin": 20, "toShape": "jadecz3u6c", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade6qm5eg", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 820, "y": 275, "id": "jadei19roa", "pad": 6, "bold": false, "text": "查询知识库配置", "type": "toolInvokeNodeState", "dirty": false, "index": 4, "width": 360, "height": 186, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "userId"}], "return": {"type": "array"}, "uniqueName": "b04f2abf-8dbc-4103-b652-b26148838981"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "userId_a70ff0a8-b1be-4f17-91d3-43c54336777b", "from": "Reference", "name": "userId", "type": "String", "value": ["userId"], "isRequired": true, "description": "用户id", "referenceId": "userId", "referenceKey": "userId", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "output_bbe22a56-e6d2-48eb-b8a2-9aedf5efcbca", "name": "output", "type": "Array", "value": []}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "toolInvokeComponent", "focusBackColor": "white", "sourcePlatform": "", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 770, "y": 312, "id": "jaderfoxvl", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 5, "textX": 0, "textY": 0, "width": 50, "hAlign": "center", "height": 56, "italic": false, "margin": 20, "toShape": "jadei19roa", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadecz3u6c", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 1230, "y": 110.5, "id": "jadec9yzdt", "pad": 6, "bold": false, "text": "人工表单", "type": "manualCheckNodeState", "dirty": false, "index": 6, "width": 360, "height": 243, "italic": false, "flowMeta": {"task": {"type": "AIPP_SMART_FORM", "imgUrl": "http://localhost:8001/api/jober/static/smart_form/17b732c9-5272-42a6-a79d-8d0334a8aa19/form.jpeg", "taskId": "aed5570845d440c78ed3326f8482483c", "formName": "知识库管理表单", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "knowledgeList_4b685308-6c69-4003-8c15-58206d58f422", "from": "Reference", "name": "knowledgeList", "type": "Array", "value": ["output"], "isRequired": true, "referenceId": "output_bbe22a56-e6d2-48eb-b8a2-9aedf5efcbca", "referenceKey": "output", "referenceNode": "jadei19roa"}, {"id": "knowledgeOptions_ba5502bb-cf76-4a4d-99ee-24c07a6a0168", "from": "Reference", "name": "knowledgeOptions", "type": "Array", "value": ["output"], "isRequired": true, "referenceId": "output_d4892455-0e93-46b5-aa9c-635c4b0c457b", "referenceKey": "output", "referenceNode": "jadecz3u6c"}], "outputParams": [{"id": "output_8f40ac88-0578-40ba-9e1d-d07c9fbd4895", "name": "output", "type": "Object", "value": [{"id": "output_05328f82-59a9-4d1f-b0a5-abdd91b1c50a", "name": "info", "type": "Object", "value": [{"id": "95faeb9f-cb89-4fd8-84e1-b9456c80cb84", "name": "id", "type": "Integer", "value": "Integer"}, {"id": "3eb51995-476d-4042-b837-7bd386a28e11", "name": "name", "type": "String", "value": "String"}, {"id": "d6f2bc5d-5adf-4694-9604-4649da356592", "name": "apiKey", "type": "String", "value": "String"}, {"id": "05d099fd-c5b3-4637-94b1-e2bf54673e2b", "name": "groupId", "type": "String", "value": "String"}, {"id": "21db3893-26dd-4dd6-97c0-89395c9cff39", "name": "isDefault", "type": "Integer", "value": "Integer"}]}, {"id": "9b5a0c38-1a74-41aa-8b4b-a0a3b2417e50", "name": "action", "type": "String", "value": "String"}]}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "manual"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "manualCheckComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 1180, "y": 368, "id": "jadevfzbzx", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 7, "textX": 0, "textY": 0, "width": 50, "hAlign": "center", "height": -136, "italic": false, "margin": 20, "toShape": "jadec9yzdt", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadei19roa", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 1640, "y": 0, "id": "jadew0e5na", "pad": 6, "bold": false, "text": "条件", "type": "conditionNodeCondition", "dirty": false, "index": 8, "width": 600, "height": 340, "italic": false, "flowMeta": {"joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto", "conditionParams": {"branches": [{"id": "1b529270-f576-4482-9e10-829b5efe8f4c", "type": "if", "runnable": true, "conditions": [{"id": "1a238c89-f75b-434b-9db0-113f795b6948", "value": [{"id": "fa891702-7f64-48d2-a826-240f1f32f15a", "from": "Reference", "name": "left", "type": "String", "value": ["output", "action"], "referenceId": "9b5a0c38-1a74-41aa-8b4b-a0a3b2417e50", "referenceKey": "action", "referenceNode": "jadec9yzdt"}, {"id": "ca213caa-aa28-4d92-b8f9-508a31a535c3", "from": "Input", "name": "right", "type": "String", "value": "add", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "3662b75b-dcd5-4d42-b07e-323b540fed2c", "type": "if", "runnable": true, "conditions": [{"id": "eac5bf57-9a2c-46e9-b399-fbb1cf37767b", "value": [{"id": "89441c12-a9fd-4983-bd18-1afc3c9cc3f3", "from": "Reference", "name": "left", "type": "String", "value": ["output", "action"], "referenceId": "9b5a0c38-1a74-41aa-8b4b-a0a3b2417e50", "referenceKey": "action", "referenceNode": "jadec9yzdt"}, {"id": "73df1184-b2f9-403b-91b2-5be580ad929e", "from": "Input", "name": "right", "type": "String", "value": "delete", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "2a9016e8-dd25-49fd-a20f-8857f53eb5e5", "type": "if", "runnable": true, "conditions": [{"id": "317dbc6b-8d8b-4d1d-acea-7e639435f4ea", "value": [{"id": "4958c0b7-f7f5-4f54-81a2-db350387ea2b", "from": "Reference", "name": "left", "type": "String", "value": ["output", "action"], "referenceId": "9b5a0c38-1a74-41aa-8b4b-a0a3b2417e50", "referenceKey": "action", "referenceNode": "jadec9yzdt"}, {"id": "0da2406c-d0da-4e0e-a0ca-e6e765fe8fb4", "from": "Input", "name": "right", "type": "String", "value": "edit", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "1c79acc0-7a5d-4fe8-a16e-1393eee702ac", "type": "else", "runnable": true, "conditions": [{"id": "034537e5-252b-4f89-9dd9-3a77a634a6f2", "value": [], "condition": "true"}], "conditionRelation": "and"}], "jadeNodeConfigChangeIgnored": true}}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "conditionComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 1590, "y": 232, "id": "jadec1nmlz", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 9, "textX": 0, "textY": 0, "width": 50, "hAlign": "center", "height": -62, "italic": false, "margin": 20, "toShape": "jadew0e5na", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadec9yzdt", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 2290, "y": 499, "id": "jade1s5jcz", "pad": 6, "bold": false, "text": "添加知识库配置", "type": "toolInvokeNodeState", "dirty": false, "index": 10, "width": 360, "height": 186, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "knowledgeConfigDto"}], "return": {"type": "null"}, "uniqueName": "f952e986-a1ee-474d-bd3a-bdf154db58e7"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "knowledgeConfigDto_261d3e3a-dcb8-4c22-a75f-3d3f74cf346c", "from": "Expand", "name": "knowledgeConfigDto", "type": "Object", "props": [{"id": "isDefault_0519a61d-f087-42ec-a936-3b9e8d8cfc85", "from": "Reference", "name": "isDefault", "type": "Boolean", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "apiKey_b70a892d-9e21-4b0b-b1b5-29095c02ee0e", "from": "Reference", "name": "apiKey", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "groupId_8717c66d-1924-481b-bec5-d86c1424db95", "from": "Reference", "name": "groupId", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "name_c3d1f111-e2fc-4e07-a9c8-2847bb76bcf2", "from": "Reference", "name": "name", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "id_13e5c2e6-04b3-45d3-83f0-3f93e5f424eb", "from": "Reference", "name": "id", "type": "Integer", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "userId_5ef13e2a-83df-4ec8-8a01-c3eb535cdbe1", "from": "Reference", "name": "userId", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}], "value": [{"id": "isDefault_0519a61d-f087-42ec-a936-3b9e8d8cfc85", "from": "Reference", "name": "isDefault", "type": "Integer", "value": ["output", "info", "isDefault"], "isRequired": false, "referenceId": "bf487724-94ab-49ee-b6f0-1e513aba1c56", "referenceKey": "isDefault", "referenceNode": "jadec9yzdt"}, {"id": "apiKey_b70a892d-9e21-4b0b-b1b5-29095c02ee0e", "from": "Reference", "name": "apiKey", "type": "String", "value": ["output", "info", "apiKey"], "isRequired": false, "referenceId": "6ffe7076-3c40-4635-b212-d346d19e25c6", "referenceKey": "apiKey", "referenceNode": "jadec9yzdt"}, {"id": "groupId_8717c66d-1924-481b-bec5-d86c1424db95", "from": "Reference", "name": "groupId", "type": "String", "value": ["output", "info", "groupId"], "isRequired": false, "referenceId": "a93a03cf-96a4-41c3-be28-253ac3f08db9", "referenceKey": "groupId", "referenceNode": "jadec9yzdt"}, {"id": "name_c3d1f111-e2fc-4e07-a9c8-2847bb76bcf2", "from": "Reference", "name": "name", "type": "String", "value": ["output", "info", "name"], "isRequired": false, "referenceId": "79f19d08-b670-47ea-9c4e-8cbeb4faafd9", "referenceKey": "name", "referenceNode": "jadec9yzdt"}, {"id": "id_13e5c2e6-04b3-45d3-83f0-3f93e5f424eb", "from": "Reference", "name": "id", "type": "Integer", "value": ["output", "info", "id"], "isRequired": false, "referenceId": "a41cf4ed-2caf-456f-a725-cd9fdd9e6d09", "referenceKey": "id", "referenceNode": "jadec9yzdt"}, {"id": "userId_5ef13e2a-83df-4ec8-8a01-c3eb535cdbe1", "from": "Reference", "name": "userId", "type": "String", "value": ["userId"], "isRequired": false, "referenceId": "userId", "referenceKey": "userId", "referenceNode": "_systemEnv"}], "isRequired": true, "description": "知识库配置dto", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "outputParams": [{"id": "output_9ae5e3ff-b9bd-4324-8772-11b3e41c13b1", "name": "output", "type": "Null", "value": []}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28,31,35,.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "toolInvokeComponent", "focusBackColor": "white", "sourcePlatform": "", "enableAnimation": false, "focusBorderWidth": 1, "mouseInBorderColor": "#B1B1B7"}, {"x": 2228.7142508370534, "y": 121.00000653948103, "id": "jadelnyzxr", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 11, "textX": 0, "textY": 0, "width": 61.28574916294656, "hAlign": "center", "height": 470.99999346051897, "italic": false, "margin": 20, "toShape": "jade1s5jcz", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadew0e5na", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-0|1b529270-f576-4482-9e10-829b5efe8f4c"}, {"x": 2292.857142857144, "y": 715.0000000000002, "id": "jadey43fab", "pad": 6, "bold": false, "text": "删除知识库配置", "type": "toolInvokeNodeState", "dirty": false, "index": 12, "width": 360, "height": 186, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "id"}], "return": {"type": "null"}, "uniqueName": "24146b66-2bbe-46a4-848b-1c48057a4ed7"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "id_304a6dbf-a9e3-40da-8d9f-99a090d65ec2", "from": "Reference", "name": "id", "type": "Integer", "value": ["output", "info", "id"], "isRequired": true, "description": "知识库配置id", "referenceId": "95faeb9f-cb89-4fd8-84e1-b9456c80cb84", "referenceKey": "id", "referenceNode": "jadec9yzdt"}], "outputParams": [{"id": "output_cb31d1c3-94e0-49b9-97ec-4821c259f009", "name": "output", "type": "Null", "value": []}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "toolInvokeComponent", "focusBackColor": "white", "sourcePlatform": "", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 2228.7142508370534, "y": 176.99999128069197, "id": "jadetwo6e9", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 13, "textX": 0, "textY": 0, "width": 64.14289202009058, "hAlign": "center", "height": 631.0000087193082, "italic": false, "margin": 20, "toShape": "jadey43fab", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadew0e5na", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-1|3662b75b-dcd5-4d42-b07e-323b540fed2c"}, {"x": 2297.142857142856, "y": 1001.5714285714284, "id": "jadepkkcxc", "pad": 6, "bold": false, "text": "修改知识库配置", "type": "toolInvokeNodeState", "dirty": false, "index": 14, "width": 360, "height": 186, "italic": false, "flowMeta": {"jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "knowledgeConfigDto"}], "return": {"type": "null"}, "uniqueName": "39eea5b4-034a-409a-935a-e9df7736dda8"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "knowledgeConfigDto_a6cfbc37-5b18-4b23-9d55-b0ba5c66275f", "from": "Expand", "name": "knowledgeConfigDto", "type": "Object", "props": [{"id": "isDefault_829e8f21-d2a9-400f-a397-1f61a63bc138", "from": "Reference", "name": "isDefault", "type": "Boolean", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "apiKey_cb882d6f-fa7f-4af8-8506-f7f38d47fd81", "from": "Reference", "name": "apiKey", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "groupId_fad4545f-0acc-4107-a03b-e1ad4b34efac", "from": "Reference", "name": "groupId", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "name_b6a7768b-41ef-48e7-b8bb-a33f59f8e97d", "from": "Reference", "name": "name", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "id_12af714a-bb40-4709-a0f8-68c900ef96c6", "from": "Reference", "name": "id", "type": "Integer", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "userId_fe3f0968-e107-4346-9bba-feb235e95e36", "from": "Reference", "name": "userId", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}], "value": [{"id": "isDefault_829e8f21-d2a9-400f-a397-1f61a63bc138", "from": "Reference", "name": "isDefault", "type": "Integer", "value": ["output", "info", "isDefault"], "isRequired": false, "referenceId": "bf487724-94ab-49ee-b6f0-1e513aba1c56", "referenceKey": "isDefault", "referenceNode": "jadec9yzdt"}, {"id": "apiKey_cb882d6f-fa7f-4af8-8506-f7f38d47fd81", "from": "Reference", "name": "apiKey", "type": "String", "value": ["output", "info", "apiKey"], "isRequired": false, "referenceId": "6ffe7076-3c40-4635-b212-d346d19e25c6", "referenceKey": "apiKey", "referenceNode": "jadec9yzdt"}, {"id": "groupId_fad4545f-0acc-4107-a03b-e1ad4b34efac", "from": "Reference", "name": "groupId", "type": "String", "value": ["output", "info", "groupId"], "isRequired": false, "referenceId": "a93a03cf-96a4-41c3-be28-253ac3f08db9", "referenceKey": "groupId", "referenceNode": "jadec9yzdt"}, {"id": "name_b6a7768b-41ef-48e7-b8bb-a33f59f8e97d", "from": "Reference", "name": "name", "type": "String", "value": ["output", "info", "name"], "isRequired": false, "referenceId": "79f19d08-b670-47ea-9c4e-8cbeb4faafd9", "referenceKey": "name", "referenceNode": "jadec9yzdt"}, {"id": "id_12af714a-bb40-4709-a0f8-68c900ef96c6", "from": "Reference", "name": "id", "type": "Integer", "value": ["output", "info", "id"], "isRequired": false, "referenceId": "a41cf4ed-2caf-456f-a725-cd9fdd9e6d09", "referenceKey": "id", "referenceNode": "jadec9yzdt"}, {"id": "userId_fe3f0968-e107-4346-9bba-feb235e95e36", "from": "Reference", "name": "userId", "type": "String", "value": ["userId"], "isRequired": false, "referenceId": "userId", "referenceKey": "userId", "referenceNode": "_systemEnv"}], "isRequired": true, "description": "知识库配置dto", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "outputParams": [{"id": "output_112b0398-521f-4e2b-a2db-432d222d8d7b", "name": "output", "type": "Null", "value": []}]}}}, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28,31,35,.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "toolInvokeComponent", "focusBackColor": "white", "sourcePlatform": "", "enableAnimation": false, "focusBorderWidth": 1, "mouseInBorderColor": "#B1B1B7"}, {"x": 2228.7142508370534, "y": 232.999997820173, "id": "jadeq9kd4e", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 15, "textX": 0, "textY": 0, "width": 68.42860630580253, "hAlign": "center", "height": 861.5714307512554, "italic": false, "margin": 20, "toShape": "jadepkkcxc", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadew0e5na", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-2|2a9016e8-dd25-49fd-a20f-8857f53eb5e5"}, {"x": 2228.7142508370534, "y": 280.0000108991351, "id": "jadecfc196", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 16, "textX": 0, "textY": 0, "width": 61.28574916294656, "hAlign": "center", "height": 87.99998910086492, "italic": false, "margin": 20, "toShape": "jadesoux5i", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadew0e5na", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "dynamic-999"}, {"x": 2700, "y": 501, "id": "jadetxz7va", "pad": 6, "bold": false, "text": "添加知识库配置结束", "type": "endNodeEnd", "dirty": false, "index": 17, "width": 360, "height": 182, "italic": false, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "09653288-b85d-473b-aa07-7f45d5d304c1", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "ed672a2c-4646-4159-b1e7-a5bad27f38ba", "from": "Input", "name": "finalOutput", "type": "String", "value": "添加知识库配置结束", "editable": true, "isRequired": true, "description": ""}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "9287a49c-1d31-40d5-aa84-2b41559e5524", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28,31,35,.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderWidth": 1, "mouseInBorderColor": "#B1B1B7"}, {"x": 2650, "y": 592, "id": "jade794yv3", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 18, "textX": 0, "textY": 0, "width": 50, "hAlign": "center", "height": 0, "italic": false, "margin": 20, "toShape": "jadetxz7va", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jade1s5jcz", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 2700, "y": 763, "id": "jadeosexw5", "pad": 6, "bold": false, "text": "删除知识库配置结束", "type": "endNodeEnd", "dirty": false, "index": 19, "width": 360, "height": 182, "italic": false, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "e8f6f23e-5cba-48bc-ac8c-7c586f33e829", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "85f62677-cc62-4b96-a72c-adaf98a41586", "from": "Input", "name": "finalOutput", "type": "String", "value": "刪除知识库配置结束", "editable": true, "isRequired": true, "description": ""}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "9de263fe-b145-49ba-b87d-42a8a9f31fcd", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 2652.857142857144, "y": 808.0000000000002, "id": "jadetzo1lg", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": true, "index": 20, "textX": 0, "textY": 0, "width": 47.14285714285597, "hAlign": "center", "height": 45.99999999999977, "italic": false, "margin": 20, "toShape": "jadeosexw5", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadey43fab", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}, {"x": 2700, "y": 1025, "id": "jadeyg0z15", "pad": 6, "bold": false, "text": "修改知识库配置结束", "type": "endNodeEnd", "dirty": false, "index": 21, "width": 360, "height": 182, "italic": false, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "7bdd90a5-f510-42f7-be02-e01c34292e04", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "76cd9a71-97e4-46c9-8580-9ae21176ba23", "from": "Input", "name": "finalOutput", "type": "String", "value": "修改知识库配置结束", "editable": true, "isRequired": true, "description": ""}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "eddcd9df-7a1c-4ddf-b49a-01b9b8cf5662", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "triggerMode": "auto"}, "hasError": false, "hideText": true, "moveable": true, "runnable": true, "backColor": "white", "container": "elsa-page:tvp1s6", "dashWidth": 0, "deletable": true, "namespace": "jadeFlow", "autoHeight": true, "emphasized": false, "enableMask": false, "rotateAble": false, "borderColor": "rgba(28, 31, 35, 0.08)", "borderWidth": 1, "runningTask": 0, "triggerMode": "auto", "warningTask": 0, "cornerRadius": 8, "outlineColor": "rgba(74, 147, 255, 0.12)", "outlineWidth": 10, "completedTask": 0, "componentName": "endComponent", "focusBackColor": "white", "sourcePlatform": "official", "enableAnimation": false, "focusBorderColor": "rgb(4, 123, 252)", "focusBorderWidth": 1, "mouseInBorderColor": "rgb(4, 123, 252)"}, {"x": 2657.142857142856, "y": 1094.5714285714284, "id": "jade8je5i3", "pad": 0, "bold": false, "text": "", "type": "jadeEvent", "dirty": false, "index": 22, "textX": 0, "textY": 0, "width": 42.85714285714403, "hAlign": "center", "height": 21.42857142857156, "italic": false, "margin": 20, "toShape": "jadeyg0z15", "endArrow": true, "hideText": true, "lineMode": {"type": "auto_curve"}, "runnable": true, "allowLink": false, "backColor": "white", "container": "elsa-page:tvp1s6", "fromShape": "jadepkkcxc", "lineWidth": 2, "namespace": "elsa", "beginArrow": false, "borderColor": "#B1B1B7", "borderWidth": 1, "curvePoint1": {"x": 0, "y": 0}, "curvePoint2": {"x": 0, "y": 0}, "brokenPoints": [], "endArrowSize": 4, "arrowEndPoint": {"x": 0, "y": 0}, "endArrowEmpty": false, "beginArrowSize": 4, "arrowBeginPoint": {"x": 0, "y": 0}, "beginArrowEmpty": false, "definedToConnector": "W", "mouseInBorderColor": "#B1B1B7", "allowSwitchLineMode": false, "definedFromConnector": "E"}], "vAlign": "top", "itemPad": [0, 0, 0, 0], "division": -1, "dockMode": "none", "fontFace": "arial", "fontSize": 18, "hideText": true, "moveable": true, "shapesAs": {}, "backColor": "#fbfbfc", "container": "elsa-page:tvp1s6", "dockAlign": "top", "fontColor": "#ECD0A7", "fontStyle": "normal", "itemSpace": 5, "namespace": "jadeFlow", "fontWeight": "bold", "itemScroll": {"x": 0, "y": 0}, "borderColor": "white", "focusBackColor": "#fbfbfc"}], "title": "7075f47449504e639571887473986da6", "source": "elsa", "tenant": "31f20efc7e0848deab6a6bc10fc3021e", "setting": {"pad": 10, "tag": {}, "code": "", "pDock": "none", "hAlign": "center", "margin": 25, "shadow": "", "shared": false, "vAlign": "top", "itemPad": [5, 5, 5, 5], "visible": true, "autoText": false, "dockMode": "none", "dragable": true, "editable": true, "fontFace": "arial", "fontSize": 12, "infoType": {"name": "none", "next": "INFORMATION"}, "moveable": true, "priority": 0, "allowLink": true, "autoWidth": false, "backAlpha": 0.15, "backColor": "whitesmoke", "dashWidth": 0, "deletable": true, "fontColor": "steelblue", "fontStyle": "normal", "headColor": "steelblue", "lineWidth": 2, "underline": false, "autoHeight": false, "emphasized": false, "fontWeight": "lighter", "itemScroll": {"x": 0, "y": 0}, "lineHeight": 1.5, "resizeable": true, "rotateAble": true, "scrollLock": {"x": false, "y": false}, "selectable": true, "shadowData": "2px 2px 4px", "borderColor": "#047bfc", "borderWidth": 1, "bulletSpeed": 1, "focusMargin": 0, "focusShadow": "", "globalAlpha": 1, "outstanding": false, "bulletedList": false, "cornerRadius": 4, "enableSocial": true, "mouseInColor": "orange", "numberedList": false, "outlineColor": "rgba(74,147,255,0.12)", "outlineWidth": 10, "rotateDegree": 0, "captionhAlign": "center", "strikethrough": false, "focusBackColor": "whitesmoke", "focusFontColor": "darkorange", "progressStatus": {"name": "NONE", "next": "UNKNOWN", "color": "gray"}, "showedProgress": false, "allNodeNumLimit": 99, "captionfontFace": "arial black", "captionfontSize": 14, "enableAnimation": false, "progressPercent": 0.65, "captionfontColor": "whitesmoke", "captionfontStyle": "normal", "focusBorderColor": "#047bfc", "focusBorderWidth": 1, "mouseInBackColor": "whitesmoke", "mouseInFontColor": "orange", "captionfontWeight": "lighter", "captionlineHeight": 1, "mouseInBorderColor": "#047bfc", "sameTypeNodeNumLimit": 19}, "flowMeta": {"callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.fitable.FlowInfoCallback"]}, "enableOutputScope": true, "exceptionFitables": ["modelengine.fit.jober.aipp.fitable.AippFlowExceptionHandler", "modelengine.fit.jober.fitable.FlowInfoException"]}, "enableText": false}', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('2b9f6bf4cc8a4fdf8577f244172bd795', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'ability', 'String', 'null', 'none', 'workflow', '能力配置', 1, 0, 'c419cf9d3f2d472da6b376bbb07c0f5a') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('1210169d69fc4a41978677eda6f2fa40', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'enterWorkflow', 'String', 'null', 'none', 'ability', '进入工作流编排', 2, 0, 'c419cf9d3f2d472da6b376bbb07c0f5a') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('63053f5ed97b4b3389374fb53f48b622', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'chat', 'String', 'null', 'none', 'workflow', '聊天设置', 3, 0, 'c419cf9d3f2d472da6b376bbb07c0f5a') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('bfcf1e4ef3e04e57ab3a0e22cb4c3c6a', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'opening', 'String', '"Hi~你好!"', 'input', 'chat', '开场白', 4, 0, 'c419cf9d3f2d472da6b376bbb07c0f5a') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('a80ad3fc2f534efaa0d8d9ce712fb959', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'workflow', 'String', 'null', 'none', 'null', '工作流编排', 0, 0, 'c419cf9d3f2d472da6b376bbb07c0f5a') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('8687c7fa1b6b4880a3a0b398d82b435d', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'memory', 'List', '["jade6qm5eg","memory"]', 'graph', 'chat', '多轮对话', 5, 0, 'c419cf9d3f2d472da6b376bbb07c0f5a') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('957e6742fff1494bb25672a808a420d1', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'recommend', 'object', '{"showRecommend":false,"list":[]}', 'input', 'chat', '猜你想问', 6, 0, 'c419cf9d3f2d472da6b376bbb07c0f5a') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('8e451697002345d5a41d1dc4f05ce8cd', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'inspiration', 'object', '{"category":[{"title":"root","id":"root","children":[]}],"inspirations":[{"name":"开始配置","description":"当你想要开始配置的时候,请点击。","prompt":"开始配置","promptVarData":[],"category":null,"auto":true,"id":"emgvsx"}],"showInspiration":true}', 'input', 'chat', '创意灵感', 7, 0, 'c419cf9d3f2d472da6b376bbb07c0f5a') ON CONFLICT (id) DO NOTHING; +INSERT INTO "public"."app_builder_form_property" ("id", "form_id", "name", "data_type", "default_value", "data_from", "in_group", "description", "default_index", "is_deleted", "app_id") VALUES ('a98380a087f245b588c0d90943dae056', 'b8986770a6ffef44bbf2a9f26d6fc1be', 'multimodal', 'object', '{"useMultimodal":true,"maxUploadFilesNum":5,"autoChatOnUpload":false}', 'input', 'chat', '多模态', 8, 0, 'c419cf9d3f2d472da6b376bbb07c0f5a') ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."task_new" ("id", "name", "version", "template_id", "tenant_id", "attributes", "created_by", "created_at", "updated_by", "updated_at", "is_deleted") VALUES ('62b2d37c111e4821a0e1e59b5b694a91', '知识库配置应用', '1.0.0', '5185dad4c8124522a2612c20f8497cf0', '31f20efc7e0848deab6a6bc10fc3021e', '{"app_id": "c419cf9d3f2d472da6b376bbb07c0f5a", "version": "1.0.0", "aipp_type": "NORMAL", "meta_icon": "", "publish_at": "2025-04-28T14:11:19.140470668", "description": "当你想要配置知识库的时候,请使用我!", "meta_status": "active", "unique_name": "4ff18263-7cc1-40fc-bd96-4c0ee9eb3af0", "flow_config_id": "7075f47449504e639571887473986da6", "flow_definition_id": "970b4eaf085d44179df6c505d4f96cc8", "publish_update_log": "", "publish_description": ""}', 'Jade', '2025-04-28 14:11:17.767357', 'Jade', '2025-04-28 14:11:19.15666', 0) ON CONFLICT (id) DO NOTHING; + +INSERT INTO "public"."flow_definition" ("definition_id", "meta_id", "name", "tenant", "version", "status", "graph", "created_by", "created_at") VALUES ('970b4eaf085d44179df6c505d4f96cc8', '7075f47449504e639571887473986da6', '7075f47449504e639571887473986da6', '31f20efc7e0848deab6a6bc10fc3021e', '1.0.0', 'active', '{"name": "7075f47449504e639571887473986da6", "nodes": [{"name": "开始", "type": "startNodeStart", "metaId": "jade6qm5eg", "runnable": true, "inputParams": [{"id": "91138f09-b635-43df-95c6-1fe3d1745829", "from": "Expand", "name": "input", "type": "Object", "value": [{"id": "input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb", "from": "Input", "name": "Question", "type": "String", "value": "", "isVisible": true, "isRequired": true, "description": "这是用户输入的问题。", "displayName": "用户问题", "disableModifiable": true}], "config": [{"allowAdd": true}]}, {"id": "4a770dc6-e3c9-475d-84c7-48dacc74a5b6", "from": "Expand", "name": "memory", "type": "Object", "value": [{"id": "a7675623-7fc7-468c-8910-e73c70e5e468", "from": "Input", "name": "memorySwitch", "type": "Boolean", "value": false}, {"id": "cee9a31b-781c-4835-a616-ceed73be22f2", "from": "Input", "name": "type", "type": "String", "value": "ByConversationTurn"}, {"id": "69592622-4291-409d-9d65-9faea83db657", "from": "Input", "name": "value", "type": "Integer", "value": "3"}]}], "triggerMode": "auto"}, {"name": "退出表单结束", "type": "endNodeEnd", "metaId": "jadesoux5i", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "54dab89c-5693-4082-baa7-12c648d812f7", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "ffad80c2-3f60-4d57-93b2-c2362a5dab9c", "from": "Input", "name": "finalOutput", "type": "String", "value": "已退出,请重新开始对话来发起新的知识库配置请求。", "editable": true, "isRequired": true, "description": ""}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "c26bf2ca-75b3-4a6f-bc47-132c2e170895", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"name": "查询知识库集列表", "type": "toolInvokeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "userId"}], "return": {"type": "array"}, "uniqueName": "aed53a7c-4701-437b-b651-a5ec298dd0cf"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "userId_19b06f68-cea8-4735-b969-0aaf6b116fc0", "from": "Reference", "name": "userId", "type": "String", "value": ["userId"], "isRequired": false, "description": "用户id", "referenceId": "userId", "referenceKey": "userId", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "output_d4892455-0e93-46b5-aa9c-635c4b0c457b", "name": "output", "type": "Array", "value": []}]}}}, "metaId": "jadecz3u6c", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadecz3u6c", "from": "jade6qm5eg", "type": "jadeEvent", "metaId": "jade89i9gi", "runnable": true, "fromConnector": "E"}, {"name": "查询知识库配置", "type": "toolInvokeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "userId"}], "return": {"type": "array"}, "uniqueName": "b04f2abf-8dbc-4103-b652-b26148838981"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "userId_a70ff0a8-b1be-4f17-91d3-43c54336777b", "from": "Reference", "name": "userId", "type": "String", "value": ["userId"], "isRequired": true, "description": "用户id", "referenceId": "userId", "referenceKey": "userId", "referenceNode": "_systemEnv"}], "outputParams": [{"id": "output_bbe22a56-e6d2-48eb-b8a2-9aedf5efcbca", "name": "output", "type": "Array", "value": []}]}}}, "metaId": "jadei19roa", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadei19roa", "from": "jadecz3u6c", "type": "jadeEvent", "metaId": "jaderfoxvl", "runnable": true, "fromConnector": "E"}, {"name": "人工表单", "task": {"type": "AIPP_SMART_FORM", "imgUrl": "http://localhost:8001/api/jober/static/smart_form/17b732c9-5272-42a6-a79d-8d0334a8aa19/form.jpeg", "taskId": "aed5570845d440c78ed3326f8482483c", "formName": "知识库管理表单", "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "knowledgeList_4b685308-6c69-4003-8c15-58206d58f422", "from": "Reference", "name": "knowledgeList", "type": "Array", "value": ["output"], "isRequired": true, "referenceId": "output_bbe22a56-e6d2-48eb-b8a2-9aedf5efcbca", "referenceKey": "output", "referenceNode": "jadei19roa"}, {"id": "knowledgeOptions_ba5502bb-cf76-4a4d-99ee-24c07a6a0168", "from": "Reference", "name": "knowledgeOptions", "type": "Array", "value": ["output"], "isRequired": true, "referenceId": "output_d4892455-0e93-46b5-aa9c-635c4b0c457b", "referenceKey": "output", "referenceNode": "jadecz3u6c"}], "outputParams": [{"id": "output_8f40ac88-0578-40ba-9e1d-d07c9fbd4895", "name": "output", "type": "Object", "value": [{"id": "output_05328f82-59a9-4d1f-b0a5-abdd91b1c50a", "name": "info", "type": "Object", "value": [{"id": "95faeb9f-cb89-4fd8-84e1-b9456c80cb84", "name": "id", "type": "Integer", "value": "Integer"}, {"id": "3eb51995-476d-4042-b837-7bd386a28e11", "name": "name", "type": "String", "value": "String"}, {"id": "d6f2bc5d-5adf-4694-9604-4649da356592", "name": "apiKey", "type": "String", "value": "String"}, {"id": "05d099fd-c5b3-4637-94b1-e2bf54673e2b", "name": "groupId", "type": "String", "value": "String"}, {"id": "21db3893-26dd-4dd6-97c0-89395c9cff39", "name": "isDefault", "type": "Integer", "value": "Integer"}]}, {"id": "9b5a0c38-1a74-41aa-8b4b-a0a3b2417e50", "name": "action", "type": "String", "value": "String"}]}]}}}, "type": "manualCheckNodeState", "metaId": "jadec9yzdt", "runnable": true, "triggerMode": "manual"}, {"to": "jadec9yzdt", "from": "jadei19roa", "type": "jadeEvent", "metaId": "jadevfzbzx", "runnable": true, "fromConnector": "E"}, {"name": "条件", "type": "conditionNodeCondition", "metaId": "jadew0e5na", "runnable": true, "triggerMode": "auto", "conditionParams": {"branches": [{"id": "1b529270-f576-4482-9e10-829b5efe8f4c", "type": "if", "runnable": true, "conditions": [{"id": "1a238c89-f75b-434b-9db0-113f795b6948", "value": [{"id": "fa891702-7f64-48d2-a826-240f1f32f15a", "from": "Reference", "name": "left", "type": "String", "value": ["output", "action"], "referenceId": "9b5a0c38-1a74-41aa-8b4b-a0a3b2417e50", "referenceKey": "action", "referenceNode": "jadec9yzdt"}, {"id": "ca213caa-aa28-4d92-b8f9-508a31a535c3", "from": "Input", "name": "right", "type": "String", "value": "add", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "3662b75b-dcd5-4d42-b07e-323b540fed2c", "type": "if", "runnable": true, "conditions": [{"id": "eac5bf57-9a2c-46e9-b399-fbb1cf37767b", "value": [{"id": "89441c12-a9fd-4983-bd18-1afc3c9cc3f3", "from": "Reference", "name": "left", "type": "String", "value": ["output", "action"], "referenceId": "9b5a0c38-1a74-41aa-8b4b-a0a3b2417e50", "referenceKey": "action", "referenceNode": "jadec9yzdt"}, {"id": "73df1184-b2f9-403b-91b2-5be580ad929e", "from": "Input", "name": "right", "type": "String", "value": "delete", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "2a9016e8-dd25-49fd-a20f-8857f53eb5e5", "type": "if", "runnable": true, "conditions": [{"id": "317dbc6b-8d8b-4d1d-acea-7e639435f4ea", "value": [{"id": "4958c0b7-f7f5-4f54-81a2-db350387ea2b", "from": "Reference", "name": "left", "type": "String", "value": ["output", "action"], "referenceId": "9b5a0c38-1a74-41aa-8b4b-a0a3b2417e50", "referenceKey": "action", "referenceNode": "jadec9yzdt"}, {"id": "0da2406c-d0da-4e0e-a0ca-e6e765fe8fb4", "from": "Input", "name": "right", "type": "String", "value": "edit", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "condition": "equal"}], "conditionRelation": "and"}, {"id": "1c79acc0-7a5d-4fe8-a16e-1393eee702ac", "type": "else", "runnable": true, "conditions": [{"id": "034537e5-252b-4f89-9dd9-3a77a634a6f2", "value": [], "condition": "true"}], "conditionRelation": "and"}], "jadeNodeConfigChangeIgnored": true}}, {"to": "jadew0e5na", "from": "jadec9yzdt", "type": "jadeEvent", "metaId": "jadec1nmlz", "runnable": true, "fromConnector": "E"}, {"name": "添加知识库配置", "type": "toolInvokeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "knowledgeConfigDto"}], "return": {"type": "null"}, "uniqueName": "f952e986-a1ee-474d-bd3a-bdf154db58e7"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "knowledgeConfigDto_261d3e3a-dcb8-4c22-a75f-3d3f74cf346c", "from": "Expand", "name": "knowledgeConfigDto", "type": "Object", "props": [{"id": "isDefault_0519a61d-f087-42ec-a936-3b9e8d8cfc85", "from": "Reference", "name": "isDefault", "type": "Boolean", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "apiKey_b70a892d-9e21-4b0b-b1b5-29095c02ee0e", "from": "Reference", "name": "apiKey", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "groupId_8717c66d-1924-481b-bec5-d86c1424db95", "from": "Reference", "name": "groupId", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "name_c3d1f111-e2fc-4e07-a9c8-2847bb76bcf2", "from": "Reference", "name": "name", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "id_13e5c2e6-04b3-45d3-83f0-3f93e5f424eb", "from": "Reference", "name": "id", "type": "Integer", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "userId_5ef13e2a-83df-4ec8-8a01-c3eb535cdbe1", "from": "Reference", "name": "userId", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}], "value": [{"id": "isDefault_0519a61d-f087-42ec-a936-3b9e8d8cfc85", "from": "Reference", "name": "isDefault", "type": "Integer", "value": ["output", "info", "isDefault"], "isRequired": false, "referenceId": "bf487724-94ab-49ee-b6f0-1e513aba1c56", "referenceKey": "isDefault", "referenceNode": "jadec9yzdt"}, {"id": "apiKey_b70a892d-9e21-4b0b-b1b5-29095c02ee0e", "from": "Reference", "name": "apiKey", "type": "String", "value": ["output", "info", "apiKey"], "isRequired": false, "referenceId": "6ffe7076-3c40-4635-b212-d346d19e25c6", "referenceKey": "apiKey", "referenceNode": "jadec9yzdt"}, {"id": "groupId_8717c66d-1924-481b-bec5-d86c1424db95", "from": "Reference", "name": "groupId", "type": "String", "value": ["output", "info", "groupId"], "isRequired": false, "referenceId": "a93a03cf-96a4-41c3-be28-253ac3f08db9", "referenceKey": "groupId", "referenceNode": "jadec9yzdt"}, {"id": "name_c3d1f111-e2fc-4e07-a9c8-2847bb76bcf2", "from": "Reference", "name": "name", "type": "String", "value": ["output", "info", "name"], "isRequired": false, "referenceId": "79f19d08-b670-47ea-9c4e-8cbeb4faafd9", "referenceKey": "name", "referenceNode": "jadec9yzdt"}, {"id": "id_13e5c2e6-04b3-45d3-83f0-3f93e5f424eb", "from": "Reference", "name": "id", "type": "Integer", "value": ["output", "info", "id"], "isRequired": false, "referenceId": "a41cf4ed-2caf-456f-a725-cd9fdd9e6d09", "referenceKey": "id", "referenceNode": "jadec9yzdt"}, {"id": "userId_5ef13e2a-83df-4ec8-8a01-c3eb535cdbe1", "from": "Reference", "name": "userId", "type": "String", "value": ["userId"], "isRequired": false, "referenceId": "userId", "referenceKey": "userId", "referenceNode": "_systemEnv"}], "isRequired": true, "description": "知识库配置dto", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "outputParams": [{"id": "output_9ae5e3ff-b9bd-4324-8772-11b3e41c13b1", "name": "output", "type": "Null", "value": []}]}}}, "metaId": "jade1s5jcz", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jade1s5jcz", "from": "jadew0e5na", "type": "jadeEvent", "metaId": "jadelnyzxr", "runnable": true, "fromConnector": "dynamic-0|1b529270-f576-4482-9e10-829b5efe8f4c"}, {"name": "删除知识库配置", "type": "toolInvokeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "id"}], "return": {"type": "null"}, "uniqueName": "24146b66-2bbe-46a4-848b-1c48057a4ed7"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "id_304a6dbf-a9e3-40da-8d9f-99a090d65ec2", "from": "Reference", "name": "id", "type": "Integer", "value": ["output", "info", "id"], "isRequired": true, "description": "知识库配置id", "referenceId": "95faeb9f-cb89-4fd8-84e1-b9456c80cb84", "referenceKey": "id", "referenceNode": "jadec9yzdt"}], "outputParams": [{"id": "output_cb31d1c3-94e0-49b9-97ec-4821c259f009", "name": "output", "type": "Null", "value": []}]}}}, "metaId": "jadey43fab", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadey43fab", "from": "jadew0e5na", "type": "jadeEvent", "metaId": "jadetwo6e9", "runnable": true, "fromConnector": "dynamic-1|3662b75b-dcd5-4d42-b07e-323b540fed2c"}, {"name": "修改知识库配置", "type": "toolInvokeNodeState", "jober": {"name": "", "type": "STORE_JOBER", "entity": {"params": [{"name": "knowledgeConfigDto"}], "return": {"type": "null"}, "uniqueName": "39eea5b4-034a-409a-935a-e9df7736dda8"}, "fitables": [], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "knowledgeConfigDto_a6cfbc37-5b18-4b23-9d55-b0ba5c66275f", "from": "Expand", "name": "knowledgeConfigDto", "type": "Object", "props": [{"id": "isDefault_829e8f21-d2a9-400f-a397-1f61a63bc138", "from": "Reference", "name": "isDefault", "type": "Boolean", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "apiKey_cb882d6f-fa7f-4af8-8506-f7f38d47fd81", "from": "Reference", "name": "apiKey", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "groupId_fad4545f-0acc-4107-a03b-e1ad4b34efac", "from": "Reference", "name": "groupId", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "name_b6a7768b-41ef-48e7-b8bb-a33f59f8e97d", "from": "Reference", "name": "name", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "id_12af714a-bb40-4709-a0f8-68c900ef96c6", "from": "Reference", "name": "id", "type": "Integer", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "userId_fe3f0968-e107-4346-9bba-feb235e95e36", "from": "Reference", "name": "userId", "type": "String", "value": [], "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}], "value": [{"id": "isDefault_829e8f21-d2a9-400f-a397-1f61a63bc138", "from": "Reference", "name": "isDefault", "type": "Integer", "value": ["output", "info", "isDefault"], "isRequired": false, "referenceId": "bf487724-94ab-49ee-b6f0-1e513aba1c56", "referenceKey": "isDefault", "referenceNode": "jadec9yzdt"}, {"id": "apiKey_cb882d6f-fa7f-4af8-8506-f7f38d47fd81", "from": "Reference", "name": "apiKey", "type": "String", "value": ["output", "info", "apiKey"], "isRequired": false, "referenceId": "6ffe7076-3c40-4635-b212-d346d19e25c6", "referenceKey": "apiKey", "referenceNode": "jadec9yzdt"}, {"id": "groupId_fad4545f-0acc-4107-a03b-e1ad4b34efac", "from": "Reference", "name": "groupId", "type": "String", "value": ["output", "info", "groupId"], "isRequired": false, "referenceId": "a93a03cf-96a4-41c3-be28-253ac3f08db9", "referenceKey": "groupId", "referenceNode": "jadec9yzdt"}, {"id": "name_b6a7768b-41ef-48e7-b8bb-a33f59f8e97d", "from": "Reference", "name": "name", "type": "String", "value": ["output", "info", "name"], "isRequired": false, "referenceId": "79f19d08-b670-47ea-9c4e-8cbeb4faafd9", "referenceKey": "name", "referenceNode": "jadec9yzdt"}, {"id": "id_12af714a-bb40-4709-a0f8-68c900ef96c6", "from": "Reference", "name": "id", "type": "Integer", "value": ["output", "info", "id"], "isRequired": false, "referenceId": "a41cf4ed-2caf-456f-a725-cd9fdd9e6d09", "referenceKey": "id", "referenceNode": "jadec9yzdt"}, {"id": "userId_fe3f0968-e107-4346-9bba-feb235e95e36", "from": "Reference", "name": "userId", "type": "String", "value": ["userId"], "isRequired": false, "referenceId": "userId", "referenceKey": "userId", "referenceNode": "_systemEnv"}], "isRequired": true, "description": "知识库配置dto", "referenceId": "", "referenceKey": "", "referenceNode": ""}], "outputParams": [{"id": "output_112b0398-521f-4e2b-a2db-432d222d8d7b", "name": "output", "type": "Null", "value": []}]}}}, "metaId": "jadepkkcxc", "runnable": true, "joberFilter": {"type": "MINIMUM_SIZE_FILTER", "threshold": 1}, "triggerMode": "auto"}, {"to": "jadepkkcxc", "from": "jadew0e5na", "type": "jadeEvent", "metaId": "jadeq9kd4e", "runnable": true, "fromConnector": "dynamic-2|2a9016e8-dd25-49fd-a20f-8857f53eb5e5"}, {"to": "jadesoux5i", "from": "jadew0e5na", "type": "jadeEvent", "metaId": "jadecfc196", "runnable": true, "fromConnector": "dynamic-999"}, {"name": "添加知识库配置结束", "type": "endNodeEnd", "metaId": "jadetxz7va", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "09653288-b85d-473b-aa07-7f45d5d304c1", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "ed672a2c-4646-4159-b1e7-a5bad27f38ba", "from": "Input", "name": "finalOutput", "type": "String", "value": "添加知识库配置结束", "editable": true, "isRequired": true, "description": ""}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "9287a49c-1d31-40d5-aa84-2b41559e5524", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"to": "jadetxz7va", "from": "jade1s5jcz", "type": "jadeEvent", "metaId": "jade794yv3", "runnable": true, "fromConnector": "E"}, {"name": "删除知识库配置结束", "type": "endNodeEnd", "metaId": "jadeosexw5", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "e8f6f23e-5cba-48bc-ac8c-7c586f33e829", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "85f62677-cc62-4b96-a72c-adaf98a41586", "from": "Input", "name": "finalOutput", "type": "String", "value": "刪除知识库配置结束", "editable": true, "isRequired": true, "description": ""}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "9de263fe-b145-49ba-b87d-42a8a9f31fcd", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"to": "jadeosexw5", "from": "jadey43fab", "type": "jadeEvent", "metaId": "jadetzo1lg", "runnable": true, "fromConnector": "E"}, {"name": "修改知识库配置结束", "type": "endNodeEnd", "metaId": "jadeyg0z15", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"], "converter": {"type": "mapping_converter", "entity": {"inputParams": [{"id": "7bdd90a5-f510-42f7-be02-e01c34292e04", "from": "Expand", "name": "finalOutput", "type": "Object", "value": [{"id": "76cd9a71-97e4-46c9-8580-9ae21176ba23", "from": "Input", "name": "finalOutput", "type": "String", "value": "修改知识库配置结束", "editable": true, "isRequired": true, "description": ""}], "editable": false, "isRequired": false, "referenceId": "", "referenceKey": "", "referenceNode": ""}, {"id": "eddcd9df-7a1c-4ddf-b49a-01b9b8cf5662", "from": "Input", "name": "enableLog", "type": "Boolean", "value": true}], "outputParams": [{}]}}}, "runnable": true, "triggerMode": "auto"}, {"to": "jadeyg0z15", "from": "jadepkkcxc", "type": "jadeEvent", "metaId": "jade8je5i3", "runnable": true, "fromConnector": "E"}], "metaId": "7075f47449504e639571887473986da6", "status": "active", "version": "1.0.0", "callback": {"name": "通知回调", "type": "general_callback", "fitables": ["modelengine.fit.jober.fitable.FlowInfoCallback"]}, "enableOutputScope": true, "exceptionFitables": ["modelengine.fit.jober.aipp.fitable.AippFlowExceptionHandler", "modelengine.fit.jober.fitable.FlowInfoException"]}', 'Jade', '2025-04-28 14:11:17.785057') ON CONFLICT (definition_id) DO NOTHING; + +INSERT INTO "public"."flow_graph" ("id", "version", "tenant", "status", "name", "data", "created_by", "created_at", "updated_by", "updated_at", "previous", "is_deleted") VALUES ('7075f47449504e639571887473986da6', '1.0.0', '31f20efc7e0848deab6a6bc10fc3021e', 'active', '7075f47449504e639571887473986da6', '{"id":"7075f47449504e639571887473986da6","title":"7075f47449504e639571887473986da6","source":"elsa","type":"jadeFlowGraph","tenant":"31f20efc7e0848deab6a6bc10fc3021e","setting":{"borderColor":"#047bfc","backColor":"whitesmoke","headColor":"steelblue","fontColor":"steelblue","captionfontColor":"whitesmoke","fontFace":"arial","captionfontFace":"arial black","fontSize":12,"captionfontSize":14,"fontStyle":"normal","captionfontStyle":"normal","fontWeight":"lighter","captionfontWeight":"lighter","hAlign":"center","vAlign":"top","captionhAlign":"center","lineHeight":1.5,"lineWidth":2,"captionlineHeight":1,"focusMargin":0,"focusBorderColor":"#047bfc","focusFontColor":"darkorange","focusBackColor":"whitesmoke","mouseInColor":"orange","mouseInBorderColor":"#047bfc","mouseInFontColor":"orange","mouseInBackColor":"whitesmoke","borderWidth":1,"focusBorderWidth":1,"globalAlpha":1,"backAlpha":0.15,"cornerRadius":4,"dashWidth":0,"autoText":false,"autoHeight":false,"autoWidth":false,"margin":25,"pad":10,"code":"","rotateDegree":0,"shadow":"","focusShadow":"","shadowData":"2px 2px 4px","outstanding":false,"pDock":"none","dockMode":"none","priority":0,"infoType":{"name":"none","next":"INFORMATION"},"progressStatus":{"name":"NONE","next":"UNKNOWN","color":"gray"},"progressPercent":0.65,"showedProgress":false,"itemPad":[5,5,5,5],"itemScroll":{"x":0,"y":0},"scrollLock":{"x":false,"y":false},"resizeable":true,"selectable":true,"rotateAble":true,"editable":true,"moveable":true,"dragable":true,"visible":true,"deletable":true,"allowLink":true,"shared":false,"strikethrough":false,"underline":false,"numberedList":false,"bulletedList":false,"enableAnimation":false,"enableSocial":true,"emphasized":false,"bulletSpeed":1,"tag":{},"allNodeNumLimit":99,"sameTypeNodeNumLimit":19,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10},"pages":[{"x":-961.4761904761909,"y":116.92460317460332,"id":"elsa-page:tvp1s6","bold":false,"mode":"configuration","text":"newFlowPage","type":"jadeFlowPage","dirty":true,"index":0,"width":1600,"hAlign":"left","height":800,"isPage":true,"italic":false,"scaleX":0.7,"scaleY":0.7,"vAlign":"top","itemPad":[0,0,0,0],"division":-1,"dockMode":"none","fontFace":"arial","fontSize":18,"hideText":true,"moveable":true,"shapesAs":{},"backColor":"#fbfbfc","container":"elsa-page:tvp1s6","dockAlign":"top","fontColor":"#ECD0A7","fontStyle":"normal","itemSpace":5,"namespace":"jadeFlow","fontWeight":"bold","itemScroll":{"x":0,"y":0},"borderColor":"white","focusBackColor":"#fbfbfc","shapes":[{"x":0,"y":255,"id":"jade6qm5eg","pad":6,"bold":false,"text":"开始","type":"startNodeStart","dirty":false,"index":0,"width":360,"height":226,"italic":false,"shadow":"0 2px 4px 0 rgba(0,0,0,.1)","flowMeta":{"inputParams":[{"id":"91138f09-b635-43df-95c6-1fe3d1745829","from":"Expand","name":"input","type":"Object","value":[{"id":"input_ae2ffd6e-2b9e-4e73-9d7f-0e661ec3dbdb","from":"Input","name":"Question","type":"String","value":"","isVisible":true,"isRequired":true,"description":"这是用户输入的问题。","displayName":"用户问题","disableModifiable":true}],"config":[{"allowAdd":true}]},{"id":"4a770dc6-e3c9-475d-84c7-48dacc74a5b6","from":"Expand","name":"memory","type":"Object","value":[{"id":"a7675623-7fc7-468c-8910-e73c70e5e468","from":"Input","name":"memorySwitch","type":"Boolean","value":false},{"id":"cee9a31b-781c-4835-a616-ceed73be22f2","from":"Input","name":"type","type":"String","value":"ByConversationTurn"},{"id":"69592622-4291-409d-9d65-9faea83db657","from":"Input","name":"value","type":"Integer","value":"3"}]}],"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":false,"namespace":"flowable","autoHeight":true,"emphasized":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"focusShadow":"0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)","runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"startComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","mouseInBorderColor":"rgb(4, 123, 252)"},{"x":2290,"y":277,"id":"jadesoux5i","pad":6,"bold":false,"text":"退出表单结束","type":"endNodeEnd","dirty":false,"index":1,"width":360,"height":182,"italic":false,"shadow":"0 2px 4px 0 rgba(0,0,0,.1)","flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"54dab89c-5693-4082-baa7-12c648d812f7","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"ffad80c2-3f60-4d57-93b2-c2362a5dab9c","from":"Input","name":"finalOutput","type":"String","value":"已退出,请重新开始对话来发起新的知识库配置请求。","editable":true,"isRequired":true,"description":""}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"c26bf2ca-75b3-4a6f-bc47-132c2e170895","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"flowable","autoHeight":true,"emphasized":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"focusShadow":"0 0 1px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.1)","runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","mouseInBorderColor":"rgb(4, 123, 252)"},{"x":410,"y":219,"id":"jadecz3u6c","pad":6,"bold":false,"text":"查询知识库集列表","type":"toolInvokeNodeState","dirty":false,"index":2,"width":360,"height":186,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"userId"}],"return":{"type":"array"},"uniqueName":"aed53a7c-4701-437b-b651-a5ec298dd0cf"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"userId_19b06f68-cea8-4735-b969-0aaf6b116fc0","from":"Reference","name":"userId","type":"String","value":["userId"],"isRequired":false,"description":"用户id","referenceId":"userId","referenceKey":"userId","referenceNode":"_systemEnv"}],"outputParams":[{"id":"output_d4892455-0e93-46b5-aa9c-635c4b0c457b","name":"output","type":"Array","value":[]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10,"completedTask":0,"componentName":"toolInvokeComponent","focusBackColor":"white","sourcePlatform":"","enableAnimation":false,"focusBorderWidth":1,"mouseInBorderColor":"#B1B1B7"},{"x":360,"y":368,"id":"jade89i9gi","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":3,"textX":0,"textY":0,"width":50,"hAlign":"center","height":-56,"italic":false,"margin":20,"toShape":"jadecz3u6c","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade6qm5eg","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":820,"y":275,"id":"jadei19roa","pad":6,"bold":false,"text":"查询知识库配置","type":"toolInvokeNodeState","dirty":false,"index":4,"width":360,"height":186,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"userId"}],"return":{"type":"array"},"uniqueName":"b04f2abf-8dbc-4103-b652-b26148838981"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"userId_a70ff0a8-b1be-4f17-91d3-43c54336777b","from":"Reference","name":"userId","type":"String","value":["userId"],"isRequired":true,"description":"用户id","referenceId":"userId","referenceKey":"userId","referenceNode":"_systemEnv"}],"outputParams":[{"id":"output_bbe22a56-e6d2-48eb-b8a2-9aedf5efcbca","name":"output","type":"Array","value":[]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"toolInvokeComponent","focusBackColor":"white","sourcePlatform":"","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":770,"y":312,"id":"jaderfoxvl","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":5,"textX":0,"textY":0,"width":50,"hAlign":"center","height":56,"italic":false,"margin":20,"toShape":"jadei19roa","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadecz3u6c","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":1230,"y":110.5,"id":"jadec9yzdt","pad":6,"bold":false,"text":"人工表单","type":"manualCheckNodeState","dirty":false,"index":6,"width":360,"height":243,"italic":false,"flowMeta":{"task":{"type":"AIPP_SMART_FORM","imgUrl":"http://localhost:8001/api/jober/static/smart_form/17b732c9-5272-42a6-a79d-8d0334a8aa19/form.jpeg","taskId":"aed5570845d440c78ed3326f8482483c","formName":"知识库管理表单","converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"knowledgeList_4b685308-6c69-4003-8c15-58206d58f422","from":"Reference","name":"knowledgeList","type":"Array","value":["output"],"isRequired":true,"referenceId":"output_bbe22a56-e6d2-48eb-b8a2-9aedf5efcbca","referenceKey":"output","referenceNode":"jadei19roa"},{"id":"knowledgeOptions_ba5502bb-cf76-4a4d-99ee-24c07a6a0168","from":"Reference","name":"knowledgeOptions","type":"Array","value":["output"],"isRequired":true,"referenceId":"output_d4892455-0e93-46b5-aa9c-635c4b0c457b","referenceKey":"output","referenceNode":"jadecz3u6c"}],"outputParams":[{"id":"output_8f40ac88-0578-40ba-9e1d-d07c9fbd4895","name":"output","type":"Object","value":[{"id":"output_05328f82-59a9-4d1f-b0a5-abdd91b1c50a","name":"info","type":"Object","value":[{"id":"95faeb9f-cb89-4fd8-84e1-b9456c80cb84","name":"id","type":"Integer","value":"Integer"},{"id":"3eb51995-476d-4042-b837-7bd386a28e11","name":"name","type":"String","value":"String"},{"id":"d6f2bc5d-5adf-4694-9604-4649da356592","name":"apiKey","type":"String","value":"String"},{"id":"05d099fd-c5b3-4637-94b1-e2bf54673e2b","name":"groupId","type":"String","value":"String"},{"id":"21db3893-26dd-4dd6-97c0-89395c9cff39","name":"isDefault","type":"Integer","value":"Integer"}]},{"id":"9b5a0c38-1a74-41aa-8b4b-a0a3b2417e50","name":"action","type":"String","value":"String"}]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"manual"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"manualCheckComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":1180,"y":368,"id":"jadevfzbzx","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":7,"textX":0,"textY":0,"width":50,"hAlign":"center","height":-136,"italic":false,"margin":20,"toShape":"jadec9yzdt","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadei19roa","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":1640,"y":0,"id":"jadew0e5na","pad":6,"bold":false,"text":"条件","type":"conditionNodeCondition","dirty":false,"index":8,"width":600,"height":340,"italic":false,"flowMeta":{"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto","conditionParams":{"branches":[{"id":"1b529270-f576-4482-9e10-829b5efe8f4c","type":"if","runnable":true,"conditions":[{"id":"1a238c89-f75b-434b-9db0-113f795b6948","value":[{"id":"fa891702-7f64-48d2-a826-240f1f32f15a","from":"Reference","name":"left","type":"String","value":["output","action"],"referenceId":"9b5a0c38-1a74-41aa-8b4b-a0a3b2417e50","referenceKey":"action","referenceNode":"jadec9yzdt"},{"id":"ca213caa-aa28-4d92-b8f9-508a31a535c3","from":"Input","name":"right","type":"String","value":"add","referenceId":"","referenceKey":"","referenceNode":""}],"condition":"equal"}],"conditionRelation":"and"},{"id":"3662b75b-dcd5-4d42-b07e-323b540fed2c","type":"if","runnable":true,"conditions":[{"id":"eac5bf57-9a2c-46e9-b399-fbb1cf37767b","value":[{"id":"89441c12-a9fd-4983-bd18-1afc3c9cc3f3","from":"Reference","name":"left","type":"String","value":["output","action"],"referenceId":"9b5a0c38-1a74-41aa-8b4b-a0a3b2417e50","referenceKey":"action","referenceNode":"jadec9yzdt"},{"id":"73df1184-b2f9-403b-91b2-5be580ad929e","from":"Input","name":"right","type":"String","value":"delete","referenceId":"","referenceKey":"","referenceNode":""}],"condition":"equal"}],"conditionRelation":"and"},{"id":"2a9016e8-dd25-49fd-a20f-8857f53eb5e5","type":"if","runnable":true,"conditions":[{"id":"317dbc6b-8d8b-4d1d-acea-7e639435f4ea","value":[{"id":"4958c0b7-f7f5-4f54-81a2-db350387ea2b","from":"Reference","name":"left","type":"String","value":["output","action"],"referenceId":"9b5a0c38-1a74-41aa-8b4b-a0a3b2417e50","referenceKey":"action","referenceNode":"jadec9yzdt"},{"id":"0da2406c-d0da-4e0e-a0ca-e6e765fe8fb4","from":"Input","name":"right","type":"String","value":"edit","referenceId":"","referenceKey":"","referenceNode":""}],"condition":"equal"}],"conditionRelation":"and"},{"id":"1c79acc0-7a5d-4fe8-a16e-1393eee702ac","type":"else","runnable":true,"conditions":[{"id":"034537e5-252b-4f89-9dd9-3a77a634a6f2","value":[],"condition":"true"}],"conditionRelation":"and"}],"jadeNodeConfigChangeIgnored":true}},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"conditionComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":1590,"y":232,"id":"jadec1nmlz","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":9,"textX":0,"textY":0,"width":50,"hAlign":"center","height":-62,"italic":false,"margin":20,"toShape":"jadew0e5na","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadec9yzdt","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":2290,"y":499,"id":"jade1s5jcz","pad":6,"bold":false,"text":"添加知识库配置","type":"toolInvokeNodeState","dirty":false,"index":10,"width":360,"height":186,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"knowledgeConfigDto"}],"return":{"type":"null"},"uniqueName":"f952e986-a1ee-474d-bd3a-bdf154db58e7"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"knowledgeConfigDto_261d3e3a-dcb8-4c22-a75f-3d3f74cf346c","from":"Expand","name":"knowledgeConfigDto","type":"Object","props":[{"id":"isDefault_0519a61d-f087-42ec-a936-3b9e8d8cfc85","from":"Reference","name":"isDefault","type":"Boolean","value":[],"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"apiKey_b70a892d-9e21-4b0b-b1b5-29095c02ee0e","from":"Reference","name":"apiKey","type":"String","value":[],"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"groupId_8717c66d-1924-481b-bec5-d86c1424db95","from":"Reference","name":"groupId","type":"String","value":[],"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"name_c3d1f111-e2fc-4e07-a9c8-2847bb76bcf2","from":"Reference","name":"name","type":"String","value":[],"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"id_13e5c2e6-04b3-45d3-83f0-3f93e5f424eb","from":"Reference","name":"id","type":"Integer","value":[],"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"userId_5ef13e2a-83df-4ec8-8a01-c3eb535cdbe1","from":"Reference","name":"userId","type":"String","value":[],"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""}],"value":[{"id":"isDefault_0519a61d-f087-42ec-a936-3b9e8d8cfc85","from":"Reference","name":"isDefault","type":"Integer","value":["output","info","isDefault"],"isRequired":false,"referenceId":"bf487724-94ab-49ee-b6f0-1e513aba1c56","referenceKey":"isDefault","referenceNode":"jadec9yzdt"},{"id":"apiKey_b70a892d-9e21-4b0b-b1b5-29095c02ee0e","from":"Reference","name":"apiKey","type":"String","value":["output","info","apiKey"],"isRequired":false,"referenceId":"6ffe7076-3c40-4635-b212-d346d19e25c6","referenceKey":"apiKey","referenceNode":"jadec9yzdt"},{"id":"groupId_8717c66d-1924-481b-bec5-d86c1424db95","from":"Reference","name":"groupId","type":"String","value":["output","info","groupId"],"isRequired":false,"referenceId":"a93a03cf-96a4-41c3-be28-253ac3f08db9","referenceKey":"groupId","referenceNode":"jadec9yzdt"},{"id":"name_c3d1f111-e2fc-4e07-a9c8-2847bb76bcf2","from":"Reference","name":"name","type":"String","value":["output","info","name"],"isRequired":false,"referenceId":"79f19d08-b670-47ea-9c4e-8cbeb4faafd9","referenceKey":"name","referenceNode":"jadec9yzdt"},{"id":"id_13e5c2e6-04b3-45d3-83f0-3f93e5f424eb","from":"Reference","name":"id","type":"Integer","value":["output","info","id"],"isRequired":false,"referenceId":"a41cf4ed-2caf-456f-a725-cd9fdd9e6d09","referenceKey":"id","referenceNode":"jadec9yzdt"},{"id":"userId_5ef13e2a-83df-4ec8-8a01-c3eb535cdbe1","from":"Reference","name":"userId","type":"String","value":["userId"],"isRequired":false,"referenceId":"userId","referenceKey":"userId","referenceNode":"_systemEnv"}],"isRequired":true,"description":"知识库配置dto","referenceId":"","referenceKey":"","referenceNode":""}],"outputParams":[{"id":"output_9ae5e3ff-b9bd-4324-8772-11b3e41c13b1","name":"output","type":"Null","value":[]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10,"completedTask":0,"componentName":"toolInvokeComponent","focusBackColor":"white","sourcePlatform":"","enableAnimation":false,"focusBorderWidth":1,"mouseInBorderColor":"#B1B1B7"},{"x":2228.7142508370534,"y":121.00000653948103,"id":"jadelnyzxr","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":11,"textX":0,"textY":0,"width":61.28574916294656,"hAlign":"center","height":470.99999346051897,"italic":false,"margin":20,"toShape":"jade1s5jcz","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadew0e5na","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-0|1b529270-f576-4482-9e10-829b5efe8f4c"},{"x":2292.857142857144,"y":715.0000000000002,"id":"jadey43fab","pad":6,"bold":false,"text":"删除知识库配置","type":"toolInvokeNodeState","dirty":false,"index":12,"width":360,"height":186,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"id"}],"return":{"type":"null"},"uniqueName":"24146b66-2bbe-46a4-848b-1c48057a4ed7"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"id_304a6dbf-a9e3-40da-8d9f-99a090d65ec2","from":"Reference","name":"id","type":"Integer","value":["output","info","id"],"isRequired":true,"description":"知识库配置id","referenceId":"95faeb9f-cb89-4fd8-84e1-b9456c80cb84","referenceKey":"id","referenceNode":"jadec9yzdt"}],"outputParams":[{"id":"output_cb31d1c3-94e0-49b9-97ec-4821c259f009","name":"output","type":"Null","value":[]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"toolInvokeComponent","focusBackColor":"white","sourcePlatform":"","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":2228.7142508370534,"y":176.99999128069197,"id":"jadetwo6e9","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":13,"textX":0,"textY":0,"width":64.14289202009058,"hAlign":"center","height":631.0000087193082,"italic":false,"margin":20,"toShape":"jadey43fab","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadew0e5na","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-1|3662b75b-dcd5-4d42-b07e-323b540fed2c"},{"x":2297.142857142856,"y":1001.5714285714284,"id":"jadepkkcxc","pad":6,"bold":false,"text":"修改知识库配置","type":"toolInvokeNodeState","dirty":false,"index":14,"width":360,"height":186,"italic":false,"flowMeta":{"jober":{"name":"","type":"STORE_JOBER","entity":{"params":[{"name":"knowledgeConfigDto"}],"return":{"type":"null"},"uniqueName":"39eea5b4-034a-409a-935a-e9df7736dda8"},"fitables":[],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"knowledgeConfigDto_a6cfbc37-5b18-4b23-9d55-b0ba5c66275f","from":"Expand","name":"knowledgeConfigDto","type":"Object","props":[{"id":"isDefault_829e8f21-d2a9-400f-a397-1f61a63bc138","from":"Reference","name":"isDefault","type":"Boolean","value":[],"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"apiKey_cb882d6f-fa7f-4af8-8506-f7f38d47fd81","from":"Reference","name":"apiKey","type":"String","value":[],"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"groupId_fad4545f-0acc-4107-a03b-e1ad4b34efac","from":"Reference","name":"groupId","type":"String","value":[],"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"name_b6a7768b-41ef-48e7-b8bb-a33f59f8e97d","from":"Reference","name":"name","type":"String","value":[],"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"id_12af714a-bb40-4709-a0f8-68c900ef96c6","from":"Reference","name":"id","type":"Integer","value":[],"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"userId_fe3f0968-e107-4346-9bba-feb235e95e36","from":"Reference","name":"userId","type":"String","value":[],"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""}],"value":[{"id":"isDefault_829e8f21-d2a9-400f-a397-1f61a63bc138","from":"Reference","name":"isDefault","type":"Integer","value":["output","info","isDefault"],"isRequired":false,"referenceId":"bf487724-94ab-49ee-b6f0-1e513aba1c56","referenceKey":"isDefault","referenceNode":"jadec9yzdt"},{"id":"apiKey_cb882d6f-fa7f-4af8-8506-f7f38d47fd81","from":"Reference","name":"apiKey","type":"String","value":["output","info","apiKey"],"isRequired":false,"referenceId":"6ffe7076-3c40-4635-b212-d346d19e25c6","referenceKey":"apiKey","referenceNode":"jadec9yzdt"},{"id":"groupId_fad4545f-0acc-4107-a03b-e1ad4b34efac","from":"Reference","name":"groupId","type":"String","value":["output","info","groupId"],"isRequired":false,"referenceId":"a93a03cf-96a4-41c3-be28-253ac3f08db9","referenceKey":"groupId","referenceNode":"jadec9yzdt"},{"id":"name_b6a7768b-41ef-48e7-b8bb-a33f59f8e97d","from":"Reference","name":"name","type":"String","value":["output","info","name"],"isRequired":false,"referenceId":"79f19d08-b670-47ea-9c4e-8cbeb4faafd9","referenceKey":"name","referenceNode":"jadec9yzdt"},{"id":"id_12af714a-bb40-4709-a0f8-68c900ef96c6","from":"Reference","name":"id","type":"Integer","value":["output","info","id"],"isRequired":false,"referenceId":"a41cf4ed-2caf-456f-a725-cd9fdd9e6d09","referenceKey":"id","referenceNode":"jadec9yzdt"},{"id":"userId_fe3f0968-e107-4346-9bba-feb235e95e36","from":"Reference","name":"userId","type":"String","value":["userId"],"isRequired":false,"referenceId":"userId","referenceKey":"userId","referenceNode":"_systemEnv"}],"isRequired":true,"description":"知识库配置dto","referenceId":"","referenceKey":"","referenceNode":""}],"outputParams":[{"id":"output_112b0398-521f-4e2b-a2db-432d222d8d7b","name":"output","type":"Null","value":[]}]}}},"joberFilter":{"type":"MINIMUM_SIZE_FILTER","threshold":1},"triggerMode":"auto"},"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10,"completedTask":0,"componentName":"toolInvokeComponent","focusBackColor":"white","sourcePlatform":"","enableAnimation":false,"focusBorderWidth":1,"mouseInBorderColor":"#B1B1B7"},{"x":2228.7142508370534,"y":232.999997820173,"id":"jadeq9kd4e","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":15,"textX":0,"textY":0,"width":68.42860630580253,"hAlign":"center","height":861.5714307512554,"italic":false,"margin":20,"toShape":"jadepkkcxc","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadew0e5na","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-2|2a9016e8-dd25-49fd-a20f-8857f53eb5e5"},{"x":2228.7142508370534,"y":280.0000108991351,"id":"jadecfc196","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":16,"textX":0,"textY":0,"width":61.28574916294656,"hAlign":"center","height":87.99998910086492,"italic":false,"margin":20,"toShape":"jadesoux5i","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadew0e5na","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"dynamic-999"},{"x":2700,"y":501,"id":"jadetxz7va","pad":6,"bold":false,"text":"添加知识库配置结束","type":"endNodeEnd","dirty":false,"index":17,"width":360,"height":182,"italic":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"09653288-b85d-473b-aa07-7f45d5d304c1","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"ed672a2c-4646-4159-b1e7-a5bad27f38ba","from":"Input","name":"finalOutput","type":"String","value":"添加知识库配置结束","editable":true,"isRequired":true,"description":""}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"9287a49c-1d31-40d5-aa84-2b41559e5524","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28,31,35,.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74,147,255,0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderWidth":1,"mouseInBorderColor":"#B1B1B7"},{"x":2650,"y":592,"id":"jade794yv3","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":18,"textX":0,"textY":0,"width":50,"hAlign":"center","height":0,"italic":false,"margin":20,"toShape":"jadetxz7va","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jade1s5jcz","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":2700,"y":763,"id":"jadeosexw5","pad":6,"bold":false,"text":"删除知识库配置结束","type":"endNodeEnd","dirty":false,"index":19,"width":360,"height":182,"italic":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"e8f6f23e-5cba-48bc-ac8c-7c586f33e829","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"85f62677-cc62-4b96-a72c-adaf98a41586","from":"Input","name":"finalOutput","type":"String","value":"刪除知识库配置结束","editable":true,"isRequired":true,"description":""}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"9de263fe-b145-49ba-b87d-42a8a9f31fcd","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":2652.857142857144,"y":808.0000000000002,"id":"jadetzo1lg","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":true,"index":20,"textX":0,"textY":0,"width":47.14285714285597,"hAlign":"center","height":45.99999999999977,"italic":false,"margin":20,"toShape":"jadeosexw5","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadey43fab","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"},{"x":2700,"y":1025,"id":"jadeyg0z15","pad":6,"bold":false,"text":"修改知识库配置结束","type":"endNodeEnd","dirty":false,"index":21,"width":360,"height":182,"italic":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.aipp.fitable.AippFlowEndCallback"],"converter":{"type":"mapping_converter","entity":{"inputParams":[{"id":"7bdd90a5-f510-42f7-be02-e01c34292e04","from":"Expand","name":"finalOutput","type":"Object","value":[{"id":"76cd9a71-97e4-46c9-8580-9ae21176ba23","from":"Input","name":"finalOutput","type":"String","value":"修改知识库配置结束","editable":true,"isRequired":true,"description":""}],"editable":false,"isRequired":false,"referenceId":"","referenceKey":"","referenceNode":""},{"id":"eddcd9df-7a1c-4ddf-b49a-01b9b8cf5662","from":"Input","name":"enableLog","type":"Boolean","value":true}],"outputParams":[{}]}}},"triggerMode":"auto"},"hasError":false,"hideText":true,"moveable":true,"runnable":true,"backColor":"white","container":"elsa-page:tvp1s6","dashWidth":0,"deletable":true,"namespace":"jadeFlow","autoHeight":true,"emphasized":false,"enableMask":false,"rotateAble":false,"borderColor":"rgba(28, 31, 35, 0.08)","borderWidth":1,"runningTask":0,"triggerMode":"auto","warningTask":0,"cornerRadius":8,"outlineColor":"rgba(74, 147, 255, 0.12)","outlineWidth":10,"completedTask":0,"componentName":"endComponent","focusBackColor":"white","sourcePlatform":"official","enableAnimation":false,"focusBorderColor":"rgb(4, 123, 252)","focusBorderWidth":1,"mouseInBorderColor":"rgb(4, 123, 252)"},{"x":2657.142857142856,"y":1094.5714285714284,"id":"jade8je5i3","pad":0,"bold":false,"text":"","type":"jadeEvent","dirty":false,"index":22,"textX":0,"textY":0,"width":42.85714285714403,"hAlign":"center","height":21.42857142857156,"italic":false,"margin":20,"toShape":"jadeyg0z15","endArrow":true,"hideText":true,"lineMode":{"type":"auto_curve"},"runnable":true,"allowLink":false,"backColor":"white","container":"elsa-page:tvp1s6","fromShape":"jadepkkcxc","lineWidth":2,"namespace":"elsa","beginArrow":false,"borderColor":"#B1B1B7","borderWidth":1,"curvePoint1":{"x":0,"y":0},"curvePoint2":{"x":0,"y":0},"brokenPoints":[],"endArrowSize":4,"arrowEndPoint":{"x":0,"y":0},"endArrowEmpty":false,"beginArrowSize":4,"arrowBeginPoint":{"x":0,"y":0},"beginArrowEmpty":false,"definedToConnector":"W","mouseInBorderColor":"#B1B1B7","allowSwitchLineMode":false,"definedFromConnector":"E"}]}],"enableText":false,"flowMeta":{"callback":{"name":"通知回调","type":"general_callback","fitables":["modelengine.fit.jober.fitable.FlowInfoCallback"]},"enableOutputScope":true,"exceptionFitables":["modelengine.fit.jober.aipp.fitable.AippFlowExceptionHandler","modelengine.fit.jober.fitable.FlowInfoException"]},"version":"1.0.0"}', 'Jade', '2025-04-28 14:11:17.230199', 'Jade', '2025-04-28 14:11:17.789046', NULL, 'f') ON CONFLICT (id, version) DO NOTHING; + +INSERT INTO "public"."store_app" ("like_count", "download_count", "source", "icon", "app_category", "tool_name", "tool_unique_name") VALUES (0, 0, 'system', '', 'chatbot', '知识库配置应用', '4ff18263-7cc1-40fc-bd96-4c0ee9eb3af0') ON CONFLICT ("tool_unique_name") DO NOTHING; + + diff --git a/app-knowledge/plugins/knowledge-manager/src/main/resources/sql/aipp_user_knowledge.sql b/app-knowledge/plugins/knowledge-manager/src/main/resources/sql/schema/create_tables/aipp_user_knowledge.sql similarity index 92% rename from app-knowledge/plugins/knowledge-manager/src/main/resources/sql/aipp_user_knowledge.sql rename to app-knowledge/plugins/knowledge-manager/src/main/resources/sql/schema/create_tables/aipp_user_knowledge.sql index ce303addb3..adbf5133ad 100644 --- a/app-knowledge/plugins/knowledge-manager/src/main/resources/sql/aipp_user_knowledge.sql +++ b/app-knowledge/plugins/knowledge-manager/src/main/resources/sql/schema/create_tables/aipp_user_knowledge.sql @@ -1,8 +1,8 @@ create table if not exists t_app_engine_user_knowledge ( "id" bigserial primary key not null, - "created_at" timestamp(9) default current_timestamp not null, - "updated_at" timestamp(9) default current_timestamp not null, + "created_at" timestamp default current_timestamp not null, + "updated_at" timestamp default current_timestamp not null, "created_by" varchar(64) default 'system' not null, "updated_by" varchar(64) default 'system' not null, "user_id" varchar(64) not null, diff --git a/carver/plugins/tool-repository-postgresql/src/main/resources/sql/definition-group.sql b/carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/create_tables/definition-group.sql similarity index 89% rename from carver/plugins/tool-repository-postgresql/src/main/resources/sql/definition-group.sql rename to carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/create_tables/definition-group.sql index 39ad7cb27d..931444eacd 100644 --- a/carver/plugins/tool-repository-postgresql/src/main/resources/sql/definition-group.sql +++ b/carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/create_tables/definition-group.sql @@ -4,8 +4,8 @@ begin create table if not exists store_definition_group ( "id" bigserial primary key not null, - "created_time" timestamp(9) default current_timestamp not null, - "updated_time" timestamp(9) default current_timestamp not null, + "created_time" timestamp default current_timestamp not null, + "updated_time" timestamp default current_timestamp not null, "creator" varchar(30) default 'system' not null, "modifier" varchar(30) default 'system' not null, "name" varchar(256) not null, diff --git a/carver/plugins/tool-repository-postgresql/src/main/resources/sql/definition.sql b/carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/create_tables/definition.sql similarity index 88% rename from carver/plugins/tool-repository-postgresql/src/main/resources/sql/definition.sql rename to carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/create_tables/definition.sql index 35581cc760..12523a5537 100644 --- a/carver/plugins/tool-repository-postgresql/src/main/resources/sql/definition.sql +++ b/carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/create_tables/definition.sql @@ -4,8 +4,8 @@ begin create table if not exists store_definition ( "id" bigserial primary key not null, - "created_time" timestamp(9) default current_timestamp not null, - "updated_time" timestamp(9) default current_timestamp not null, + "created_time" timestamp default current_timestamp not null, + "updated_time" timestamp default current_timestamp not null, "creator" varchar(30) default 'system' not null, "modifier" varchar(30) default 'system' not null, "name" varchar(256) not null, diff --git a/carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema-tool.sql b/carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-tool.sql similarity index 93% rename from carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema-tool.sql rename to carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-tool.sql index f2342680a2..609a497a51 100644 --- a/carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema-tool.sql +++ b/carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-tool.sql @@ -4,8 +4,8 @@ begin create table if not exists store_tool ( "id" bigserial primary key not null, - "created_time" timestamp(9) default current_timestamp not null, - "updated_time" timestamp(9) default current_timestamp not null, + "created_time" timestamp default current_timestamp not null, + "updated_time" timestamp default current_timestamp not null, "creator" varchar(30) default 'system' not null, "modifier" varchar(30) default 'system' not null, "name" varchar(256) not null, diff --git a/carver/plugins/tool-repository-postgresql/src/main/resources/sql/tool-group.sql b/carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/create_tables/tool-group.sql similarity index 90% rename from carver/plugins/tool-repository-postgresql/src/main/resources/sql/tool-group.sql rename to carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/create_tables/tool-group.sql index 315153a19e..f20da9132f 100644 --- a/carver/plugins/tool-repository-postgresql/src/main/resources/sql/tool-group.sql +++ b/carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/create_tables/tool-group.sql @@ -4,8 +4,8 @@ begin create table if not exists store_tool_group ( "id" bigserial primary key not null, - "created_time" timestamp(9) default current_timestamp not null, - "updated_time" timestamp(9) default current_timestamp not null, + "created_time" timestamp default current_timestamp not null, + "updated_time" timestamp default current_timestamp not null, "creator" varchar(30) default 'system' not null, "modifier" varchar(30) default 'system' not null, "name" varchar(256) not null, diff --git a/carver/plugins/tool-repository-postgresql/src/main/resources/sql/function.sql b/carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/function/function.sql similarity index 100% rename from carver/plugins/tool-repository-postgresql/src/main/resources/sql/function.sql rename to carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/function/function.sql diff --git a/carver/plugins/tool-repository-postgresql/src/main/resources/sql/trigger-tool.sql b/carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-tool.sql similarity index 100% rename from carver/plugins/tool-repository-postgresql/src/main/resources/sql/trigger-tool.sql rename to carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-tool.sql diff --git a/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/definition-group.sql b/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/definition-group.sql index a937fc3907..0b787bd017 100644 --- a/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/definition-group.sql +++ b/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/definition-group.sql @@ -3,8 +3,8 @@ drop table if exists store_definition_group; create table if not exists store_definition_group ( "id" bigserial primary key not null, - "created_time" timestamp(9) default current_timestamp not null, - "updated_time" timestamp(9) default current_timestamp not null, + "created_time" timestamp default current_timestamp not null, + "updated_time" timestamp default current_timestamp not null, "creator" varchar(30) default 'system' not null, "modifier" varchar(30) default 'system' not null, "name" varchar(256) not null, diff --git a/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/definition.sql b/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/definition.sql index e22266fb7f..c11b9648e9 100644 --- a/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/definition.sql +++ b/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/definition.sql @@ -3,8 +3,8 @@ drop table if exists store_definition; create table if not exists store_definition ( "id" bigserial primary key not null, - "created_time" timestamp(9) default current_timestamp not null, - "updated_time" timestamp(9) default current_timestamp not null, + "created_time" timestamp default current_timestamp not null, + "updated_time" timestamp default current_timestamp not null, "creator" varchar(30) default 'system' not null, "modifier" varchar(30) default 'system' not null, "name" varchar(256) not null, diff --git a/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/tool-group.sql b/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/tool-group.sql index 328a54bfa5..c69a89c5c0 100644 --- a/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/tool-group.sql +++ b/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/tool-group.sql @@ -3,8 +3,8 @@ drop table if exists store_tool_group; create table if not exists store_tool_group ( "id" bigserial primary key not null, - "created_time" timestamp(9) default current_timestamp not null, - "updated_time" timestamp(9) default current_timestamp not null, + "created_time" timestamp default current_timestamp not null, + "updated_time" timestamp default current_timestamp not null, "creator" varchar(30) default 'system' not null, "modifier" varchar(30) default 'system' not null, "name" varchar(256) not null, diff --git a/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/tool.sql b/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/tool.sql index a0e24ec7d5..8049f0429f 100644 --- a/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/tool.sql +++ b/carver/plugins/tool-repository-postgresql/src/test/resources/sql/create/tool.sql @@ -3,8 +3,8 @@ drop table if exists store_tool; create table if not exists store_tool ( "id" bigserial primary key not null, - "created_time" timestamp(9) default current_timestamp not null, - "updated_time" timestamp(9) default current_timestamp not null, + "created_time" timestamp default current_timestamp not null, + "updated_time" timestamp default current_timestamp not null, "creator" varchar(30) default 'system' not null, "modifier" varchar(30) default 'system' not null, "name" varchar(256) not null, diff --git a/examples/app-demo/sql/insert.sql b/examples/app-demo/sql/insert.sql deleted file mode 100644 index 1afb0b09aa..0000000000 --- a/examples/app-demo/sql/insert.sql +++ /dev/null @@ -1,45 +0,0 @@ -INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name") -VALUES ('AI简历解析插件', - '{"name":"AI简历解析插件","description":"解析简历内容,填充提示词模板,输出大模型提示词","parameters":{"type":"object","properties":{"fileUrl":{"type":"string","description":"简历文件URL"},"instanceId":{"type":"string","description":"实例ID"}},"required":["fileUrl","instanceId"]},"order":["fileUrl","instanceId"],"return":{"description":"Map结构包含提示词,插件处理过文件的标志位以及错误信息","type":"object","properties":{"isFileHandled":{"type":"boolean"},"cvAnalyzerPrompt":{"type":"string"},"errorMessage":{"type":"string"}},"converter":""}}', - '{"FIT":{"fitableId":"cv.analyzer","genericableId":"modelengine.fit.jober.aipp.tool.cv.analyzer"}}', - '8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8', - '8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8', '8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8', - '8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8') ON CONFLICT ("unique_name", "version") DO NOTHING; -INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") -VALUES ('8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8', - '{"name":"AI简历解析插件","description":"解析简历内容,填充提示词模板,输出大模型提示词","parameters":{"type":"object","properties":{"fileUrl":{"type":"string","description":"简历文件URL"},"instanceId":{"type":"string","description":"实例ID"}},"required":["fileUrl","instanceId"]},"order":["fileUrl","instanceId"],"return":{"description":"Map结构包含提示词,插件处理过文件的标志位以及错误信息","type":"object","properties":{"isFileHandled":{"type":"boolean"},"cvAnalyzerPrompt":{"type":"string"},"errorMessage":{"type":"string"}},"converter":""}}', - '8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8') ON CONFLICT ("definition_group_name", "name") DO NOTHING; -INSERT INTO "public"."store_tag" ("tool_unique_name", "name") -VALUES ('8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; -INSERT INTO "public"."store_tag" ("tool_unique_name", "name") -VALUES ('8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8', 'BUILTIN') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; -INSERT INTO "public"."store_plugin_tool" ("tool_name", "tool_unique_name", "plugin_id") -VALUES ('AI简历解析插件', '8b7e54b7-ce07-40ed-ad93-5d608aa8f6d8', - 'f13a2bd6bdb5afdb2ce166fb2da6c445057b7e092791c743f9b8238dd78a62dd') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; -INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin") -VALUES ('f13a2bd6bdb5afdb2ce166fb2da6c445057b7e092791c743f9b8238dd78a62dd', 'AI简历解析插件', - '{"artifactId":"aipp-plugin","groupId":"modelengine.fit.jober","checksum":"aba5bd4a9ad359ede54794a189d36a2e77c6d611af6a4aef6c63bbd588c61b24","type":"java","description":"AI简历解析插件","pluginFullName":"aipp-plugin-0.1.0-SNAPSHOT_1726059364182.jar","pluginName":"AI简历解析插件"}', - 'DEPLOYED', TRUE) ON CONFLICT ("plugin_id") DO NOTHING; - - - -INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name") -VALUES ('AI提示词拼接工具', - '{"name":"AI提示词拼接工具","description":"这是一个对用户输入提示词进行拼接的工具。","parameters":{"type":"object","properties":{"appId":{"type":"string","description":"应用ID"},"instanceId":{"type":"string","description":"实例ID"},"input":{"type":"string","description":"用户输入"}},"required":["appId","instanceId","input"],"order":["appId","instanceId","input"]},"return":{"type":"string"}}', - '{"FIT":{"genericableId":"modelengine.fit.jober.aipp.tool.prompt.word.splice","fitableId":"prompt.word.splice","alias":"prompt.word.splice"}}', - 'bdc009dc-969e-4839-b5d7-e9599009d50d', - 'bdc009dc-969e-4839-b5d7-e9599009d50d', 'bdc009dc-969e-4839-b5d7-e9599009d50d', - 'bdc009dc-969e-4839-b5d7-e9599009d50d') ON CONFLICT ("unique_name", "version") DO NOTHING; -INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") -VALUES ('bdc009dc-969e-4839-b5d7-e9599009d50d', - '{"name":"AI提示词拼接工具","description":"这是一个对用户输入提示词进行拼接的工具。","parameters":{"type":"object","properties":{"appId":{"type":"string","description":"应用ID"},"instanceId":{"type":"string","description":"实例ID"},"input":{"type":"string","description":"用户输入"}},"required":["appId","instanceId","input"],"order":["appId","instanceId","input"]},"return":{"type":"string"}}', - 'bdc009dc-969e-4839-b5d7-e9599009d50d') ON CONFLICT ("definition_group_name", "name") DO NOTHING; -INSERT INTO "public"."store_tag" ("tool_unique_name", "name") -VALUES ('bdc009dc-969e-4839-b5d7-e9599009d50d', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; -INSERT INTO "public"."store_tag" ("tool_unique_name", "name") -VALUES ('bdc009dc-969e-4839-b5d7-e9599009d50d', 'BUILTIN') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; -INSERT INTO "public"."store_plugin_tool" ("tool_name", "tool_unique_name", "plugin_id") -VALUES ('AI提示词拼接工具', 'bdc009dc-969e-4839-b5d7-e9599009d50d', - 'eb5adfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce8') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; -INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin") -VALUES ('eb5adfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce8', 'AI提示词拼接工具', '{}', 'DEPLOYED', TRUE) ON CONFLICT ("plugin_id") DO NOTHING; \ No newline at end of file diff --git a/shell/sql_exec.sh b/shell/sql_exec.sh new file mode 100644 index 0000000000..e3f0c9abfb --- /dev/null +++ b/shell/sql_exec.sh @@ -0,0 +1,214 @@ +#!/bin/bash + +directory="./sql" # 替换为实际目录路径 + +# 创建目录(若不存在) +mkdir -p "$directory" + +# 清空目录内容(仅在目录存在时执行) +if [ -d "$directory" ]; then + find "$directory" -mindepth 1 -delete +fi + +mkdir -p "$directory/schema" +mkdir -p "$directory/data" + +# app plugin相关sql语句 +app_plugin_schema_sql_list=$(find ../app-builder/jane/plugins/aipp-plugin/src/main/resources/sql/schema -name "*.sql") +echo "${app_plugin_schema_sql_list}" +for i in ${app_plugin_schema_sql_list} +do + cp "$i" sql/schema +done + +app_plugin_data_sql_list=$(find ../app-builder/jane/plugins/aipp-plugin/src/main/resources/sql/data -name "*.sql") +echo "${app_plugin_data_sql_list}" +for i in ${app_plugin_data_sql_list} +do + cp "$i" sql/data +done + +# store相关sql语句 +store_schema_sql_list=$(find ../carver/plugins/tool-repository-postgresql/src/main/resources/sql/schema -name "*.sql") +echo "${store_schema_sql_list}" +for i in ${store_schema_sql_list} +do + cp "$i" sql/schema +done + +store_schema_sql_list_task=$(find ../store/plugins/store-repository-postgresql/src/main/resources/sql/schema -name "*.sql") +echo "${store_schema_sql_list_task}" +for i in ${store_schema_sql_list_task} +do + cp "$i" sql/schema +done + +store_data_sql_list_task=$(find ../store/plugins/store-repository-postgresql/src/main/resources/sql/data -name "*.sql") +echo "${store_data_sql_list_task}" +for i in ${store_data_sql_list_task} +do + cp "$i" sql/data +done + +# app-engine-announcement 相关sql 脚本 +app_announcement_schema_sql_list=$(find ../app-engine/plugins/app-announcement/src/main/resources/sql/schema -name "*.sql") +echo "${app_announcement_schema_sql_list}" +for i in ${app_announcement_schema_sql_list} +do + cp "$i" sql/schema +done + +# app-engine-metrics 相关sql 脚本 +app_metrics_schema_sql_list=$(find ../app-engine/plugins/app-metrics/src/main/resources/sql/schema -name "*.sql") +echo "${app_metrics_schema_sql_list}" +for i in ${app_metrics_schema_sql_list} +do + cp "$i" sql/schema +done + +app_base_schema_sql_list=$(find ../app-engine/plugins/app-base/src/main/resources/sql/schema -name "*.sql") +echo "${app_base_schema_sql_list}" +for i in ${app_base_schema_sql_list} +do + cp "$i" sql/schema +done + +# app-eval 相关 sql 脚本 +eval_dataset_schema_sql_list=$(find ../app-eval/plugins/eval-dataset/src/main/resources/sql/schema -name "*.sql") +echo "${eval_dataset_schema_sql_list}" +for i in ${eval_dataset_schema_sql_list} +do + cp "$i" sql/schema +done + +eval_task_schema_sql_list=$(find ../app-eval/plugins/eval-task/src/main/resources/sql/schema -name "*.sql") +echo "${eval_task_schema_sql_list}" +for i in ${eval_task_schema_sql_list} +do + cp "$i" sql/schema +done + +app_worker_schema_sql_list=$(find ../app-eval/plugins/simple-uid-generator/src/main/resources/sql/schema -name "*.sql") +echo "${app_worker_schema_sql_list}" +for i in ${app_worker_schema_sql_list} +do + cp "$i" sql/schema +done + +# 自定义模型相关 sql 脚本 +app_model_center_schema_sql_list=$(find ../app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/schema -name "*.sql") +echo "${app_model_center_schema_sql_list}" +for i in ${app_model_center_schema_sql_list} +do + cp "$i" sql/schema +done + +app_model_center_data_sql_list=$(find ../app-builder/plugins/aipp-custom-model-center/src/main/resources/sql/data -name "*.sql") +echo "${app_model_center_data_sql_list}" +for i in ${app_model_center_data_sql_list} +do + cp "$i" sql/data +done + +# 自定义知识库相关 sql 脚本 +app_knowledge_schema_sql_list=$(find ../app-knowledge/plugins/knowledge-manager/src/main/resources/sql/schema -name "*.sql") +echo "${app_knowledge_schema_sql_list}" +for i in ${app_knowledge_schema_sql_list} +do + cp "$i" sql/schema +done + +app_knowledge_data_sql_list=$(find ../app-knowledge/plugins/knowledge-manager/src/main/resources/sql/data -name "*.sql") +echo "${app_knowledge_data_sql_list}" +for i in ${app_knowledge_data_sql_list} +do + cp "$i" sql/data +done + +# wenjie 相关 sql 脚本 +app_wenjie_data_sql_list=$(find ../app-builder/plugins/plugins-show-case-parent/aito-data/src/main/resources/sql/data -name "*.sql") +echo "${app_wenjie_data_sql_list}" +for i in ${app_wenjie_data_sql_list} +do + cp "$i" sql/data +done + +DB_HOST=$1 +DB_PORT=$2 +DB_USER=$3 +SCHEMA_SQL_DIR=sql/schema +DATA_SQL_DIR=sql/data +DB_NAME=app_builder + +export PGPASSWORD=$4 +export PGCLIENTENCODING="utf8" + +# 检查变量是否设置 +if [ -z "$DB_HOST" ]; then + echo "数据库主机名未配置" + exit 1 +fi +if [ -z "$DB_PORT" ]; then + echo "数据库端口未配置" + exit 1 +fi +if [ -z "$DB_USER" ]; then + echo "数据库用户未配置" + exit 1 +fi +if [ -z "$PGPASSWORD" ]; then + echo "数据库密码未配置" + exit 1 +fi + +# 尝试连接数据库 +while true +do + psql -h ${DB_HOST} -p ${DB_PORT} -U ${DB_USER} -c "\dn" + if [ "$?" -eq 0 ];then + if [ "$( psql -h ${DB_HOST} -p ${DB_PORT} -U ${DB_USER} -c "SELECT 1 FROM pg_database WHERE datname='${DB_NAME}'" )" = '1' ];then + echo "Database ${DB_NAME} already exists" + else + psql -h ${DB_HOST} -p ${DB_PORT} -U ${DB_USER} -c "CREATE DATABASE ${DB_NAME};" + echo "Database ${DB_NAME} already created" + fi + echo "Connect ${DB_HOST} success and check db ${DB_NAME} is exists" + break + fi + + sleep 1 +done +echo "----------------" + +if [ ! -z "${SCHEMA_SQL_DIR}" ]; then + files=$(ls ${SCHEMA_SQL_DIR}/*.sql | sort) + for sql_file in $files;do + echo "Executing $sql_file..." + # 执行 schema 相关的 sql 文件 + psql -h ${DB_HOST} -p ${DB_PORT} -U ${DB_USER} -d ${DB_NAME} -f ${sql_file} -v ON_ERROR_STOP=1 + if [ "$?" -ne 0 ]; then + echo "Error: executing $sql_file failed" + exit 1 + fi + done +fi +echo "----------------" + +if [ ! -z "${DATA_SQL_DIR}" ]; then + files=$(ls ${DATA_SQL_DIR}/*.sql | sort) + for sql_file in $files;do + echo "Executing $sql_file..." + # 执行 data 相关的 sql 文件 + psql -h ${DB_HOST} -p ${DB_PORT} -U ${DB_USER} -d ${DB_NAME} -f ${sql_file} -v ON_ERROR_STOP=1 + if [ "$?" -ne 0 ]; then + echo "Error: executing $sql_file failed" + exit 1 + fi + done +fi +echo "----------------" + +echo "Completed init DB ${DB_NAME}" +exit 0 + + diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/data/tr_init_tools.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/data/tr_init_tools.sql new file mode 100644 index 0000000000..1845202c36 --- /dev/null +++ b/store/plugins/store-repository-postgresql/src/main/resources/sql/data/tr_init_tools.sql @@ -0,0 +1,188 @@ +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name") +VALUES ('应用创建工具', '{"name":"应用创建工具","description":"这是一个用于应用创建的工具。","parameters":{"type":"object","properties":{"appInfo":{"type":"string","description":"应用创建的信息。"},"userId": {"type": "string","description": "应用id。"}},"required":["appInfo","userId"]},"order":["appInfo","userId"],"return":{"type":"string"}}', '{"FIT":{"fitableId":"default","genericableId":"modelengine.fit.jober.aipp.tool.create.app"}}', '1afdab63-62e3-4965-ac91-a7a66099f068', 'application-create-tool-group-name', 'application-create-tool-def-name', 'application-create-tool-def-group-name') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_definition" ( "name", "schema", "definition_group_name" ) +VALUES( 'application-create-tool-def-name', '{"name":"应用创建工具","description":"这是一个用于应用创建的工具。","parameters":{"type":"object","properties":{"appInfo":{"type":"string","description":"应用创建的信息。"},"userId": {"type": "string","description": "应用id。"}},"required":["appInfo","userId"]},"order":["appInfo","userId"],"return":{"type":"string"}}', 'application-create-tool-def-group-name') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('1afdab63-62e3-4965-ac91-a7a66099f068', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('1afdab63-62e3-4965-ac91-a7a66099f068', 'BUILTIN') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "is_builtin") VALUES ('1256dfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce0', '应用创建工具', '{"name":"应用创建工具","version":"1.0.0","type":"python","description":"","pluginFullName":"python_plugin3.zip"}', TRUE) ON CONFLICT ("plugin_id") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name") VALUES ('应用创建工具', '1256dfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce0', '1afdab63-62e3-4965-ac91-a7a66099f068') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name") +VALUES ('创建应用', '{"fitableId":"water.flow.invoke","name":"创建应用","description":"根据用户问题智能生成应用配置信息,并自动创建应用,支持创建助手、数字人、智能体、机器人等。","manualIntervention":true,"parameters":{"type":"object","properties":{"aippId":{"description":"the aipp id of the waterFlow tool","default":"a35828ed08974b1b96be55f4e0f47bbe","type":"string"},"tenantId":{"description":"the tenant id of the waterFlow tool","default":"31f20efc7e0848deab6a6bc10fc3021e","type":"string"},"inputParams":{"type":"object","properties":{"traceId":{"type":"string"},"callbackId":{"type":"string"},"query":{"type":"String","description":"这是用户输入的问题"}}},"version":{"description":"the aipp version of the waterFlow tool","default":"1.0.0","type":"string"}},"required":["tenantId","aippId","version","inputParams"]},"order":["tenantId","aippId","version","inputParams"],"return":{"type":"string"}}', '{"FIT":{"fitableId": "water.flow.invoke","genericableId":"07b51bd246594c159d403164369ce1db"},"APP":{"appId":"4a1d6b117b7d4c8f8c5b6c3358608c9c"}}', 'c04cee50-13e4-499b-a008-077459a2e552', 'application-create-app-group-name', 'application-create-app-def-name', 'application-create-app-def-group-name') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_definition" ( "name", "schema", "definition_group_name" ) +VALUES( 'application-create-app-def-name', '{"fitableId":"water.flow.invoke","name":"创建应用","description":"根据用户问题智能生成应用配置信息,并自动创建应用,支持创建助手、数字人、智能体、机器人等。","manualIntervention":true,"parameters":{"type":"object","properties":{"aippId":{"description":"the aipp id of the waterFlow tool","default":"a35828ed08974b1b96be55f4e0f47bbe","type":"string"},"tenantId":{"description":"the tenant id of the waterFlow tool","default":"31f20efc7e0848deab6a6bc10fc3021e","type":"string"},"inputParams":{"type":"object","properties":{"traceId":{"type":"string"},"callbackId":{"type":"string"},"query":{"type":"String","description":"这是用户输入的问题"}}},"version":{"description":"the aipp version of the waterFlow tool","default":"1.0.0","type":"string"}},"required":["tenantId","aippId","version","inputParams"]},"order":["tenantId","aippId","version","inputParams"],"return":{"type":"string"}}', 'application-create-app-def-group-name') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('c04cee50-13e4-499b-a008-077459a2e552', 'WATERFLOW') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('c04cee50-13e4-499b-a008-077459a2e552', 'BUILTIN') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "is_builtin", "source") VALUES ('5678dfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce0', '创建应用', '{"name":"创建应用","version":"1.0.0","type":"python","description":"","pluginFullName":"python_plugin3.zip"}', TRUE, 'huawei') ON CONFLICT ("plugin_id") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name", "source") VALUES ('创建应用', '5678dfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce0', 'c04cee50-13e4-499b-a008-077459a2e552', 'huawei') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name") +VALUES ('代码', '{"name":"代码","description":"执行用户定义的代码,生成用户定义的配置","parameters":{"type":"object","properties":{"args":{"type":"object","description":"代码节点引用的流程中的参数。"},"code":{"type":"string","description":"用户定义的数据处理代码"},"language":{"type":"string", "description":"用户代码语言"}, "output":{"type":"object","description":"代码节点返参校验规范。"}},"required":["args","code","language"]},"order":["args","code","language", "output"],"return":{"type":"object"}}','{"FIT":{"fitableId":"default","genericableId":"modelengine.fit.jober.aipp.code.execute"}}','e147f301-957a-4335-a155-1e86d1a45ae5', 'code-group-name', 'code-def-name', 'code-def-group-name') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_definition" ( "name", "schema", "definition_group_name" ) +VALUES( 'code-def-name', '{"name":"代码","description":"执行用户定义的代码,生成用户定义的配置","parameters":{"type":"object","properties":{"args":{"type":"object","description":"代码节点引用的流程中的参数。"},"code":{"type":"string","description":"用户定义的数据处理代码"},"language":{"type":"string", "description":"用户代码语言"}, "output":{"type":"object","description":"代码节点返参校验规范。"}},"required":["args","code","language"]},"order":["args","code","language", "output"],"return":{"type":"object"}}', 'code-def-group-name') ON CONFLICT ("definition_group_name", "name") DO NOTHING;; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('e147f301-957a-4335-a155-1e86d1a45ae5', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('e147f301-957a-4335-a155-1e86d1a45ae5', 'CODENODESTATE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('e147f301-957a-4335-a155-1e86d1a45ae5', 'BASIC') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin") VALUES ('6789dfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce0', '代码', '{"name":"代码","version":"1.0.0","type":"python","description":"","pluginFullName":"python_plugin3.zip"}', 'DEPLOYED', TRUE) ON CONFLICT ("plugin_id") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name") VALUES ('代码', '6789dfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce0', 'e147f301-957a-4335-a155-1e86d1a45ae5') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name") +VALUES ('问题优化', '{"name":"问题优化","description":"用户可使用默认模板进行问题优化,或进行自定义优化","parameters":{"type":"object","properties":{"rewriteParam":{"type":"object","properties":{"strategy":{"type":"string","description":"重写策略,有内置和自定义两种","enum":["builtin","custom"]},"args":{"type":"object","description": "输入参数,必须包含 `query`"},"template":{"type":"string","description": "模板,内置模式代表问题背景、自定义模式代表提示词模板"},"model":{"type":"string","description":"模型名"},"temperature":{"type":"number","description":"温度"}},"required":["strategy","args","template","model","temperature"]},"memoryConfig":{"type":"object","properties":{"windowAlg":{"type":"string","description":"历史记录消费策略","enum":["buffer_window","token_window"]},"serializeAlg":{"type":"string","description":"历史记录序列化策略","enum":["full","question_only"]},"property":{"type":"integer","description":"配置参数,对话轮次或者最大 token 数目"}},"required":["windowAlg","serializeAlg","property"]},"histories":{"type":"array","item":{"type":"object","properties":{"question":{"type":"string","description":"用户问题"},"answer":{"type":"string","description":"模型输出"}},"required":["question","answer"]}}},"required": ["rewriteParam","memoryConfig","histories"]},"order":["rewriteParam","memoryConfig","histories"],"return":{"type":"array","item":{"type":"string","description":"重写后的问题"}}}','{"FIT":{"fitableId":"aipp","genericableId":"modelengine.jober.aipp.rewrite.query"}}','6e5f0019-f8a5-4ca3-a73a-6b8512388587', 'query-optimization-group-name', 'query-optimization-def-name', 'query-optimization-def-group-name') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_definition" ( "name", "schema", "definition_group_name" ) +VALUES( 'query-optimization-def-name', '{"name":"问题优化","description":"用户可使用默认模板进行问题优化,或进行自定义优化","parameters":{"type":"object","properties":{"rewriteParam":{"type":"object","properties":{"strategy":{"type":"string","description":"重写策略,有内置和自定义两种","enum":["builtin","custom"]},"args":{"type":"object","description": "输入参数,必须包含 `query`"},"template":{"type":"string","description": "模板,内置模式代表问题背景、自定义模式代表提示词模板"},"model":{"type":"string","description":"模型名"},"temperature":{"type":"number","description":"温度"}},"required":["strategy","args","template","model","temperature"]},"memoryConfig":{"type":"object","properties":{"windowAlg":{"type":"string","description":"历史记录消费策略","enum":["buffer_window","token_window"]},"serializeAlg":{"type":"string","description":"历史记录序列化策略","enum":["full","question_only"]},"property":{"type":"integer","description":"配置参数,对话轮次或者最大 token 数目"}},"required":["windowAlg","serializeAlg","property"]},"histories":{"type":"array","item":{"type":"object","properties":{"question":{"type":"string","description":"用户问题"},"answer":{"type":"string","description":"模型输出"}},"required":["question","answer"]}}},"required": ["rewriteParam","memoryConfig","histories"]},"order":["rewriteParam","memoryConfig","histories"],"return":{"type":"array","item":{"type":"string","description":"重写后的问题"}}}', 'query-optimization-def-group-name') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('6e5f0019-f8a5-4ca3-a73a-6b8512388587', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('6e5f0019-f8a5-4ca3-a73a-6b8512388587', 'QUERYOPTIMIZATIONNODESTATE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('6e5f0019-f8a5-4ca3-a73a-6b8512388587', 'BASIC') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin") VALUES ('5525dfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce0', '问题优化', '{"name":"问题优化","version":"1.0.0","type":"java","description":"","pluginFullName":"java_plugin3.zip"}', 'DEPLOYED', TRUE) ON CONFLICT ("plugin_id") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name") VALUES ('问题优化', '5525dfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce0', '6e5f0019-f8a5-4ca3-a73a-6b8512388587') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "extensions", "unique_name", "version", "is_latest", "group_name", "definition_name", "definition_group_name") VALUES ('知识检索', '{"name":"知识检索","description":"通过用户问题和知识库配置检索知识文档。","parameters":{"properties":{"query":{"description":"用户问题","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"knowledgeRepos":{"description":"知识库标识","type":"array","items":{"type":"object"}},"option":{"description":"检索参数配置","type":"object","properties":{"indexType":{"type":"object","properties":{"type":{"description":"检索方式类型","type":"string"},"name":{"description":"检索方式名称","type":"string"},"description":{"description":"检索方式描述","type":"string"}}},"referenceLimit":{"type":"object","properties":{"type":{"description":"引用上限类型","type":"string"},"value":{"description":"引用上限数值","type":"integer"}}},"similarityThreshold":{"type":"number","description":"检索相似度阈值"},"rerankParam":{"type":"object","properties":{"enableRerank":{"description":"重排使能标记","type":"boolean"},"model":{"description":"重排模型的名称","type":"string"},"baseUri":{"description":"重排模型的资源标识符","type":"string"},"topK":{"description":"重排后保留最相关的文档数量","type":"integer"}}}}},"userId":{"type":"string","description":"用户id"}},"required":["query","knowledgeRepos","option","userId"],"type":"object"},"return":{"type":"array","items":{"type":"object","description":"知识文档","properties":{"id":{"description":"文档标识","type":"string"},"text":{"description":"文档内容","type":"string"},"score":{"description":"文档分数","type":"number"},"metadata":{"type":"object","description":"知识文档","properties":{"fileName":{"description":"文档名称","type":"string"}}}}}}}', '{"FIT":{"fitableId":"knowledge.service.invoke","genericableId":"modelengine.jade.knowledge.service.retrieve"}}', '{}', '25887d76-e358-4121-800c-31eb3390fdbd', '1.0.0', 't', 'knowledge-retrieval-group-name', 'knowledge-retrieval-def-name', 'knowledge-retrieval-def-group-name') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") VALUES ('knowledge-retrieval-def-name', '{"name":"知识检索","description":"通过用户问题和知识库配置检索知识文档。","parameters":{"properties":{"query":{"description":"用户问题","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"knowledgeRepos":{"description":"知识库标识","type":"array","items":{"type":"object"}},"option":{"description":"检索参数配置","type":"object","properties":{"indexType":{"type":"object","properties":{"type":{"description":"检索方式类型","type":"string"},"name":{"description":"检索方式名称","type":"string"},"description":{"description":"检索方式描述","type":"string"}}},"referenceLimit":{"type":"object","properties":{"type":{"description":"引用上限类型","type":"string"},"value":{"description":"引用上限数值","type":"integer"}}},"similarityThreshold":{"type":"number","description":"检索相似度阈值"},"rerankParam":{"type":"object","properties":{"enableRerank":{"description":"重排使能标记","type":"boolean"},"model":{"description":"重排模型的名称","type":"string"},"baseUri":{"description":"重排模型的资源标识符","type":"string"},"topK":{"description":"重排后保留最相关的文档数量","type":"integer"}}}}},"userId":{"type":"string","description":"用户id"}},"required":["query","knowledgeRepos","option","userId"],"type":"object"},"return":{"type":"array","items":{"type":"object","description":"知识文档","properties":{"id":{"description":"文档标识","type":"string"},"text":{"description":"文档内容","type":"string"},"score":{"description":"文档分数","type":"number"},"metadata":{"type":"object","description":"知识文档","properties":{"fileName":{"description":"文档名称","type":"string"}}}}}}}', 'knowledge-retrieval-def-group-name') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('25887d76-e358-4121-800c-31eb3390fdbd', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('25887d76-e358-4121-800c-31eb3390fdbd', 'KNOWLEDGERETRIEVALNODESTATE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('25887d76-e358-4121-800c-31eb3390fdbd', 'BASIC') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin") VALUES ('a125dfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce0', '知识检索', '{"name":"知识检索","version":"1.0.0","type":"java","description":"","pluginFullName":"java_plugin3.zip"}', 'DEPLOYED', TRUE) ON CONFLICT ("plugin_id") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name") VALUES ('知识检索', 'a125dfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce0', '25887d76-e358-4121-800c-31eb3390fdbd') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name") +VALUES ('问题分类', '{"name":"问题分类","description":"用户可使用默认模板进行问题分类,或进行自定义优化","parameters":{"type":"object","properties":{"classifyQuestionParam":{"type":"object","properties":{"accessInfo":{"type":"object","description":"模型信息","properties":{"serviceName":{"type":"string","description":"模型名称"},"tag":{"type":"string","description":"模型标签"}},"required":["serviceName","tag"]},"temperature":{"type":"number","description":"温度"},"template":{"type":"string","description":"模板,内置模式代表问题背景、自定义模式代表提示词模板"},"args":{"type":"object","description":"输入参数,必须包含 `query`"},"questionTypeList":{"type":"array","item":{"type":"object","properties":{"id":{"type":"string","description":"问题分类ID"},"questionTypeDesc":{"type":"string","description":"问题分类描述"}},"required":["id","questionTypeDesc"]}}},"required":["accessInfo","temperature","args","questionTypeList"]},"memoryConfig":{"type":"object","properties":{"windowAlg":{"type":"string","description":"历史记录消费策略","enum":["buffer_window","token_window"]},"serializeAlg":{"type":"string","description":"历史记录序列化策略","enum":["full","question_only"]},"property":{"type":"integer","description":"配置参数,对话轮次或者最大 token 数目"}},"required":["windowAlg","serializeAlg","property"]},"histories":{"type":"array","item":{"type":"object","properties":{"question":{"type":"string","description":"用户问题"},"answer":{"type":"string","description":"模型输出"}},"required":["question","answer"]}}},"required":["classifyQuestionParam","memoryConfig","histories"]},"order":["classifyQuestionParam","memoryConfig","histories"],"return":{"type":"string","description":"分类后返回的类型ID"}}','{"FIT":{"fitableId":"aipp","genericableId":"modelengine.jober.aipp.classify.question"}}','70d1adbd-3421-4cb0-9231-fa357688b706', 'application-question-classification-group-name', 'application-question-classification-def-name', 'application-question-classification-def-group-name') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_definition" ( "name", "schema", "definition_group_name" ) +VALUES( 'application-question-classification-def-name', '{"name":"问题分类","description":"用户可使用默认模板进行问题分类,或进行自定义优化","parameters":{"type":"object","properties":{"classifyQuestionParam":{"type":"object","properties":{"accessInfo":{"type":"object","description":"模型信息","properties":{"serviceName":{"type":"string","description":"模型名称"},"tag":{"type":"string","description":"模型标签"}},"required":["serviceName","tag"]},"temperature":{"type":"number","description":"温度"},"template":{"type":"string","description":"模板,内置模式代表问题背景、自定义模式代表提示词模板"},"args":{"type":"object","description":"输入参数,必须包含 `query`"},"questionTypeList":{"type":"array","item":{"type":"object","properties":{"id":{"type":"string","description":"问题分类ID"},"questionTypeDesc":{"type":"string","description":"问题分类描述"}},"required":["id","questionTypeDesc"]}}},"required":["accessInfo","temperature","args","questionTypeList"]},"memoryConfig":{"type":"object","properties":{"windowAlg":{"type":"string","description":"历史记录消费策略","enum":["buffer_window","token_window"]},"serializeAlg":{"type":"string","description":"历史记录序列化策略","enum":["full","question_only"]},"property":{"type":"integer","description":"配置参数,对话轮次或者最大 token 数目"}},"required":["windowAlg","serializeAlg","property"]},"histories":{"type":"array","item":{"type":"object","properties":{"question":{"type":"string","description":"用户问题"},"answer":{"type":"string","description":"模型输出"}},"required":["question","answer"]}}},"required":["classifyQuestionParam","memoryConfig","histories"]},"order":["classifyQuestionParam","memoryConfig","histories"],"return":{"type":"string","description":"分类后返回的类型ID"}}', 'application-question-classification-def-group-name') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('70d1adbd-3421-4cb0-9231-fa357688b706', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('70d1adbd-3421-4cb0-9231-fa357688b706', 'QUESTIONCLASSIFICATIONNODECONDITION') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('70d1adbd-3421-4cb0-9231-fa357688b706', 'BASIC') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin") VALUES ('08e4eb332c227346b98a37e614577a0b44ff7dbcdc1d79a27b4412def29af226', '问题分类', '{"name":"问题分类","version":"1.0.0","type":"java","description":"","pluginFullName":"java_plugin3.zip"}', 'DEPLOYED', TRUE) ON CONFLICT ("plugin_id") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name") VALUES ('问题分类', '08e4eb332c227346b98a37e614577a0b44ff7dbcdc1d79a27b4412def29af226', '70d1adbd-3421-4cb0-9231-fa357688b706') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name") +VALUES ('文本提取', '{"name":"文本提取","description":"从文本中提取结构化数据。","parameters":{"type":"object","properties":{"extractParam":{"type":"object","properties":{"text":{"type":"string","description":"需要提取的文本"},"desc":{"type":"string","description":"提取要求描述"},"outputSchema":{"type":"string","description":"输出结构描述"},"accessInfo":{"type":"object","properties":{"serviceName":{"type":"string"},"tag":{"type":"string"}}},"temperature":{"type":"number","description":"温度"}},"required":["text","outputSchema","model","temperature"]},"memoryConfig":{"type":"object","properties":{"windowAlg":{"type":"string","description":"历史记录消费策略","enum":["buffer_window","token_window"]},"serializeAlg":{"type":"string","description":"历史记录序列化策略","default":"full","enum":["full"]},"property":{"type":"integer","description":"配置参数,对话轮次或者最大 token 数目"}},"required":["windowAlg","property"]},"histories":{"type":"array","item":{"type":"object","properties":{"question":{"type":"string","description":"用户问题"},"answer":{"type":"string","description":"模型输出"}},"required":["question","answer"]}}},"required":["extractParam","memoryConfig","histories"]},"return":{"type":"object","properties":{"success":{"type":"boolean","description":"是否提取成功"},"data":{"type":"object"},"required":["success","data"]}}}', '{"FIT":{"fitableId":"aipp","genericableId":"modelengine.jober.aipp.extract"}}','3bca6a3f-9623-4228-b120-1a5e0d41dc14', 'application-text-extraction-group-name', 'application-text-extraction-def-name', 'application-text-extraction-def-group-name') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_definition" ( "name", "schema", "definition_group_name" ) +VALUES( 'application-text-extraction-def-name', '{"name":"文本提取","description":"从文本中提取结构化数据。","parameters":{"type":"object","properties":{"extractParam":{"type":"object","properties":{"text":{"type":"string","description":"需要提取的文本"},"desc":{"type":"string","description":"提取要求描述"},"outputSchema":{"type":"string","description":"输出结构描述"},"accessInfo":{"type":"object","properties":{"serviceName":{"type":"string"},"tag":{"type":"string"}}},"temperature":{"type":"number","description":"温度"}},"required":["text","outputSchema","model","temperature"]},"memoryConfig":{"type":"object","properties":{"windowAlg":{"type":"string","description":"历史记录消费策略","enum":["buffer_window","token_window"]},"serializeAlg":{"type":"string","description":"历史记录序列化策略","default":"full","enum":["full"]},"property":{"type":"integer","description":"配置参数,对话轮次或者最大 token 数目"}},"required":["windowAlg","property"]},"histories":{"type":"array","item":{"type":"object","properties":{"question":{"type":"string","description":"用户问题"},"answer":{"type":"string","description":"模型输出"}},"required":["question","answer"]}}},"required":["extractParam","memoryConfig","histories"]},"return":{"type":"object","properties":{"success":{"type":"boolean","description":"是否提取成功"},"data":{"type":"object"},"required":["success","data"]}}}', 'application-text-extraction-def-group-name') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('3bca6a3f-9623-4228-b120-1a5e0d41dc14', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('3bca6a3f-9623-4228-b120-1a5e0d41dc14', 'TEXTEXTRACTIONNODESTATE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('3bca6a3f-9623-4228-b120-1a5e0d41dc14', 'BASIC') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin") VALUES ('6d5622e67c96b0fcd0cdccc90b38c31b876e4f1e4d6c6e57dc39de62eebfee17', '文本提取', '{"name":"文本提取","version":"1.0.0","type":"java","description":"","pluginFullName":"java_plugin3.zip"}', 'DEPLOYED', TRUE) ON CONFLICT ("plugin_id") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name") VALUES ('文本提取', '6d5622e67c96b0fcd0cdccc90b38c31b876e4f1e4d6c6e57dc39de62eebfee17', '3bca6a3f-9623-4228-b120-1a5e0d41dc14') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name") +VALUES ('http调用', '{"name":"http调用","description":"用户可使用该工具进行http调用","parameters":{"type":"object","properties":{"httpRequest":{"type":"object","properties":{"httpMethod":{"type":"string","description":"http调用方法"},"url":{"type":"string","description":"http调用路径"},"timeout":{"type":"integer","description":"http调用超时时间"},"args":{"type":"object","description":"引用参数"},"headers":{"type":"object","description":"http请求头"},"params":{"type":"object","description":"http请求参数"},"requestBody":{"type":"object","properties":{"type":{"type":"string","description":"http请求体类型,form-data/json/text等"},"data":{"type":"object","description":"http请求体数据"}}},"authentication":{"type":"object","properties":{"type":{"type":"string","description":"http鉴权类型"},"header":{"type":"string","description":"http鉴权请求头"},"authKey":{"type":"string","description":"http鉴权key"}}}},"required":["httpMethod","url"]}},"required":["httpRequest"]},"order":["httpRequest"],"return":{"type":"object","properties":{"status":{"type":"integer","description":"http响应码"},"errorMsg":{"type":"string","description":"http错误信息"},"data":{"type":"object","description":"原始http返回信息"}},"description":"http调用结果"}}', '{"FIT":{"fitableId":"aipp","genericableId":"modelengine.jober.aipp.http.call"}}','1d68d2a4-0410-4a72-93f4-9a5a3d8def27', 'application-http-call-group-name', 'application-http-call-def-name', 'application-http-call-def-group-name') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_definition" ( "name", "schema", "definition_group_name" ) +VALUES( 'application-http-call-def-name', '{"name":"http调用","description":"用户可使用该工具进行http调用","parameters":{"type":"object","properties":{"httpRequest":{"type":"object","properties":{"httpMethod":{"type":"string","description":"http调用方法"},"url":{"type":"string","description":"http调用路径"},"timeout":{"type":"integer","description":"http调用超时时间"},"args":{"type":"object","description":"引用参数"},"headers":{"type":"object","description":"http请求头"},"params":{"type":"object","description":"http请求参数"},"requestBody":{"type":"object","properties":{"type":{"type":"string","description":"http请求体类型,form-data/json/text等"},"data":{"type":"object","description":"http请求体数据"}}},"authentication":{"type":"object","properties":{"type":{"type":"string","description":"http鉴权类型"},"header":{"type":"string","description":"http鉴权请求头"},"authKey":{"type":"string","description":"http鉴权key"}}}},"required":["httpMethod","url"]}},"required":["httpRequest"]},"order":["httpRequest"],"return":{"type":"object","properties":{"status":{"type":"integer","description":"http响应码"},"errorMsg":{"type":"string","description":"http错误信息"},"data":{"type":"object","description":"原始http返回信息"}},"description":"http调用结果"}}', 'application-http-call-def-group-name') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('1d68d2a4-0410-4a72-93f4-9a5a3d8def27', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('1d68d2a4-0410-4a72-93f4-9a5a3d8def27', 'HTTPNODESTATE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('1d68d2a4-0410-4a72-93f4-9a5a3d8def27', 'BASIC') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin") VALUES ('3a781117bcf93338fcf58e94c40779ea01cf9176973f718224bcaa6e269e3b4b', 'http调用', '{"name":"http调用","version":"1.0.0","type":"java","description":"","pluginFullName":"java_plugin3.zip"}', 'DEPLOYED', TRUE) ON CONFLICT ("plugin_id") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name") VALUES ('http调用', '3a781117bcf93338fcf58e94c40779ea01cf9176973f718224bcaa6e269e3b4b', '1d68d2a4-0410-4a72-93f4-9a5a3d8def27') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name") +VALUES ('变量聚合', '{"name":"变量聚合","description":"对多个变量聚合返回合适的变量","parameters":{"type":"object","properties":{"variables":{"type":"array","item":{"type":"object","description":"变量列表"}}},"required":["variables"]},"order":["variables"],"return":{"type":"object","description":"返回的变量"}}', '{"FIT":{"fitableId":"aipp","genericableId":"modelengine.jober.aipp.variable.aggregation"}}','c71f3d85-d69e-45e4-9549-479e46dc3167', 'application-variable-aggregation-group-name', 'application-variable-aggregation-def-name', 'application-variable-aggregation-def-group-name') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_definition" ( "name", "schema", "definition_group_name" ) +VALUES( 'application-variable-aggregation-def-name', '{"name":"变量聚合","description":"对多个变量聚合返回合适的变量","parameters":{"type":"object","properties":{"variables":{"type":"array","item":{"type":"object","description":"变量列表"}}},"required":["variables"]},"order":["variables"],"return":{"type":"object","description":"返回的变量"}}', 'application-variable-aggregation-def-group-name') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('c71f3d85-d69e-45e4-9549-479e46dc3167', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('c71f3d85-d69e-45e4-9549-479e46dc3167', 'VARIABLEAGGREGATIONNODESTATE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('c71f3d85-d69e-45e4-9549-479e46dc3167', 'BASIC') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin") VALUES ('3b65a7aed166416a9823aac1fe66b2447dd12c9092ca4649b7876b50bd677424', '变量聚合', '{"name":"变量聚合","version":"1.0.0","type":"java","description":"","pluginFullName":"java_plugin3.zip"}', 'DEPLOYED', TRUE) ON CONFLICT ("plugin_id") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name") VALUES ('变量聚合', '3b65a7aed166416a9823aac1fe66b2447dd12c9092ca4649b7876b50bd677424', 'c71f3d85-d69e-45e4-9549-479e46dc3167') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name") +VALUES ('多模态文件提取', '{"name":"多模态文件提取","description":"提取文档、图片和音频中的内容。","parameters":{"properties":{"filePath":{"description":"文件路径","type":"string"}},"required":["filePath"],"type":"object"},"return":{"type":"object","properties":{"success":{"type":"boolean","description":"是否提取成功"},"data":{"type":"string"},"required":["success","data"]}}}', '{"FIT":{"fitableId":"document.service.extract","genericableId":"modelengine.jade.document.service.extract"}}', 'e1d24716-9ffa-46e5-bd36-d3a8d8142559', 'document-extractor-group-name', 'document-extractor-def-name', 'document-extractor-def-group-name') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_definition" ( "name", "schema", "definition_group_name" ) +VALUES( 'document-extractor-def-name', '{"name":"多模态文件提取","description":"提取文档、图片和音频中的内容。","parameters":{"properties":{"filePath":{"description":"文件路径","type":"string"}},"required":["filePath"],"type":"object"},"return":{"type":"object","properties":{"success":{"type":"boolean","description":"是否提取成功"},"data":{"type":"string"},"required":["success","data"]}}}', 'document-extractor-def-group-name') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('e1d24716-9ffa-46e5-bd36-d3a8d8142559', 'DOCUMENTEXTRACTORNODE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('e1d24716-9ffa-46e5-bd36-d3a8d8142559', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name")VALUES ('e1d24716-9ffa-46e5-bd36-d3a8d8142559', 'DOCUMENTEXTRACTORNODE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('e1d24716-9ffa-46e5-bd36-d3a8d8142559', 'BASIC') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin") +VALUES ('b125dfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce0', '多模态文件提取', '{"name":"多模态文件提取","version":"1.0.0","type":"java","description":"","pluginFullName":"java_plugin3.zip"}', 'DEPLOYED', TRUE) ON CONFLICT ("plugin_id") DO NOTHING;INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name") VALUES ('多模态文件提取', 'b125dfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce0', 'e1d24716-9ffa-46e5-bd36-d3a8d8142559') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name") +VALUES ('多模态文件提取', 'b125dfcef2355b7b4e76dc53626a98a4b863c3e33c12c43221d03907c025bce0', 'e1d24716-9ffa-46e5-bd36-d3a8d8142559') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name") +VALUES ('文件提取', '{"name":"impl-aipp-file-tool-extract","description":"解析文件内容","parameters":{"type":"object","properties":{"filePath":{"name":"filePath","type":"string","required":false}},"required":[]},"order":["filePath"],"return":{"type":"string","convertor":""}}', '{"FIT":{"genericableId":"modelengine.fit.jober.aipp.tool.extract.file","fitableId":"extract.multi.type"}}', 'c2a796db-afa5-45c9-bd36-008426347988', 'implGroup-aipp-file-tool', 'def-aipp-file-tool-extract', 'defGroup-aipp-file-tool') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_definition" ( "name", "schema", "definition_group_name" ) +VALUES( 'def-aipp-file-tool-extract', '{"name":"impl-aipp-file-tool-extract","description":"解析文件内容","parameters":{"type":"object","properties":{"filePath":{"name":"filePath","type":"string","required":false}},"required":[]},"order":["filePath"],"return":{"type":"string","convertor":""}}', 'defGroup-aipp-file-tool') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('c2a796db-afa5-45c9-bd36-008426347988', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('c2a796db-afa5-45c9-bd36-008426347988', 'FILETOOL') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('c2a796db-afa5-45c9-bd36-008426347988', 'BASIC') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin") +VALUES ('e325dfcef2352b7b4e76dc53626a93a4b86323e33c12c43221d03907c025bce0', '文件提取', '{"name":"文件提取","version":"1.0.0","type":"java","description":"","pluginFullName":"java_plugin3.zip"}', 'DEPLOYED', TRUE) ON CONFLICT ("plugin_id") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name") +VALUES ('文件提取', 'e325dfcef2352b7b4e76dc53626a93a4b86323e33c12c43221d03907c025bce0', 'c2a796db-afa5-45c9-bd36-008426347988') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name") +VALUES ('文生图', '{ "name": "文生图", "description": "从文本中生成图片。", "parameters": { "type": "object", "properties": { "imageParam": { "type": "object", "properties": { "args": { "type": "object", "description": "需求描述中的填充字段" }, "description": { "type": "string", "description": "图片生成需求描述" }, "imageCount": { "type": "integer", "description": "生成图片数量" } }, "required": [ "args", "description", "imageCount" ] } }, "required": [ "imageParam" ] }, "return": { "type": "array" } }', '{"FIT":{"fitableId":"default","genericableId":"modelengine.jade.app.engine.image.service.generateImage"}}','eeedf03c-10aa-41f1-b5e3-6623914242c8', 'image-generation-group-name', 'image-generation-def-name', 'image-generation-def-group-name') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_definition" ( "name", "schema", "definition_group_name" ) +VALUES( 'image-generation-def-name', '{ "name": "文生图", "description": "从文本中生成图片。", "parameters": { "type": "object", "properties": { "imageParam": { "type": "object", "properties": { "args": { "type": "object", "description": "需求描述中的填充字段" }, "description": { "type": "string", "description": "图片生成需求描述" }, "imageCount": { "type": "integer", "description": "生成图片数量" } }, "required": [ "args", "description", "imageCount" ] } }, "required": [ "imageParam" ] }, "return": { "type": "array" } }', 'image-generation-def-group-name') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('eeedf03c-10aa-41f1-b5e3-6623914242c8', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('eeedf03c-10aa-41f1-b5e3-6623914242c8', 'TEXTTOIMAGENODESTATE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('eeedf03c-10aa-41f1-b5e3-6623914242c8', 'BASIC') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin") +VALUES ('58e0885b5c2509e83fce7b46ec88689dd3e3decdbf085362e42c93b2126bc390', '文生图', '{"name":"文生图","version":"1.0.0","type":"java","description":"","pluginFullName":"java_plugin3.zip"}', 'DEPLOYED', TRUE) ON CONFLICT ("plugin_id") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name") VALUES ('文生图', '58e0885b5c2509e83fce7b46ec88689dd3e3decdbf085362e42c93b2126bc390', 'eeedf03c-10aa-41f1-b5e3-6623914242c8') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name") +VALUES ('多模态文档提取', '{ "name": "多模态文档提取", "description": "从多模态文档提取内容。", "parameters": { "type": "object", "properties": { "fileExtractionParam": { "type": "object", "properties": { "files": { "type": "array", "description": "文件链接" }, "prompt": { "type": "string", "description": "文档提取提示词" } }, "required": [ "files", "prompt" ] } }, "required": [ "fileExtractionParam" ] }, "return": { "type": "string" } }', '{"FIT":{"fitableId":"document.service.extract","genericableId":"modelengine.jade.document.service.extract"}}','e2bd847f-2cfa-4cdc-b326-4d15a15c6a0d', 'document-extraction-group-name', 'document-extraction-def-name', 'document-extraction-def-group-name') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_definition" ( "name", "schema", "definition_group_name" ) +VALUES('document-extraction-def-name', '{ "name": "多模态文档提取", "description": "从多模态文档提取内容。", "parameters": { "type": "object", "properties": { "fileExtractionParam": { "type": "object", "properties": { "files": { "type": "array", "description": "文件链接" }, "prompt": { "type": "string", "description": "文档提取提示词" } }, "required": [ "files", "prompt" ] } }, "required": [ "fileExtractionParam" ] }, "return": { "type": "string" } }', 'document-extraction-def-group-name') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('e2bd847f-2cfa-4cdc-b326-4d15a15c6a0d', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('e2bd847f-2cfa-4cdc-b326-4d15a15c6a0d', 'FILEEXTRACTNODESTATE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('e2bd847f-2cfa-4cdc-b326-4d15a15c6a0d', 'BASIC') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin") +VALUES ('3b0be5ee63ed30ff58e4760847cada0a6a2a84fbff1ddb73de71fb65a38df32c', '多模态文档提取', '{"name":"多模态文档提取","version":"1.0.0","type":"java","description":"","pluginFullName":"java_plugin3.zip"}', 'DEPLOYED', TRUE) ON CONFLICT ("plugin_id") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name") +VALUES ('多模态文档提取', '3b0be5ee63ed30ff58e4760847cada0a6a2a84fbff1ddb73de71fb65a38df32c', 'e2bd847f-2cfa-4cdc-b326-4d15a15c6a0d') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; + +DELETE FROM "public"."store_tool" WHERE unique_name = 'ec122366-4fd2-4e6f-b8ec-2c17706432f4' AND version='1.0.0'; +DELETE FROM "public"."store_definition" WHERE definition_group_name = 'LoopTool' AND name = 'loopTool'; + +INSERT INTO "public"."store_tool" ("name", "schema", "runnables", "unique_name", "group_name", "definition_name", "definition_group_name", "version") +VALUES ('loopToolDefault', '{"name":"loopTool","description":"用于循环执行工具","parameters":{"type":"object","properties":{"args":{"defaultValue":"","description":"循环调用工具时的入参","name":"args","type":"object","examples":"","required":true},"config":{"defaultValue":"","description":"循环调用的配置,指定循环的字段","name":"config","type":"object","properties":{"loopKeys":{"type":"array","items":{"type":"string"}}},"examples":"","required":true},"toolInfo":{"defaultValue":"","description":"循环调用的工具信息","name":"toolInfo","type":"object","properties":{"uniqueName":{"type":"string"},"params":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"}}}}},"examples":"","required":true},"context":{"defaultValue":"","description":"循环调用的上下文","name":"context","type":"object","properties":{},"examples":"","required":false}},"required":["args","config","toolInfo"]},"order":["args","config","toolInfo","context"],"parameterExtensions":null,"return":{"type":"array","items":{"type":"object"},"convertor":""}}', '{"FIT":{"genericableId":"modelengine.jober.aipp.tool.loop","fitableId":"default"}}', 'ec122366-4fd2-4e6f-b8ec-2c17706432f4', 'LoopToolImpl', 'loopTool', 'LoopTool', '1.0.0') ON CONFLICT ("unique_name", "version") DO NOTHING; +INSERT INTO "public"."store_definition" ("name", "schema", "definition_group_name") +VALUES ('loopTool', '{"name":"loopTool","description":"用于循环执行工具","parameters":{"type":"object","properties":{"args":{"defaultValue":"","description":"循环调用工具时的入参","name":"args","type":"object","examples":"","required":true},"config":{"defaultValue":"","description":"循环调用的配置,指定循环的字段","name":"config","type":"object","properties":{"loopKeys":{"type":"array","items":{"type":"string"}}},"examples":"","required":true},"toolInfo":{"defaultValue":"","description":"循环调用的工具信息","name":"toolInfo","type":"object","properties":{"uniqueName":{"type":"string"},"params":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"}}}}},"examples":"","required":true},"context":{"defaultValue":"","description":"循环调用的上下文","name":"context","type":"object","properties":{},"examples":"","required":false}},"required":["args","config","toolInfo"]},"order":["args","config","toolInfo","context"],"parameterExtensions":null,"return":{"type":"array","items":{"type":"object"},"convertor":""}}', 'LoopTool') ON CONFLICT ("definition_group_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('ec122366-4fd2-4e6f-b8ec-2c17706432f4', 'FIT') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('ec122366-4fd2-4e6f-b8ec-2c17706432f4', 'LOOPNODESTATE') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_tag" ("tool_unique_name", "name") +VALUES ('ec122366-4fd2-4e6f-b8ec-2c17706432f4', 'BASIC') ON CONFLICT ("tool_unique_name", "name") DO NOTHING; +INSERT INTO "public"."store_plugin" ("plugin_id", "plugin_name", "extension", "deploy_status", "is_builtin") +VALUES ('b5ef98e2c8f3966e51eadd47e1dad9bc8b7a96b4ec91208fac65e2c0688564d4', '循环执行工具', '{"uniqueness.groupId":"modelengine.fit.default","pluginFullName":"aipp-loop-tool-1.0.0-SNAPSHOT_1741760172729.jar","checksum":"5758b70a3cf60f0a7fe5517c51b21a9e9cab2a470e0df1a7d12f25072f5e4c84","name":"循环执行工具","description":"循环执行工具","uniqueness.artifactId":"tool.loop","type":"java"}', 'DEPLOYED', TRUE) ON CONFLICT ("plugin_id") DO NOTHING; +INSERT INTO "public"."store_plugin_tool" ("tool_name", "plugin_id", "tool_unique_name") +VALUES ('loopToolDefault', 'b5ef98e2c8f3966e51eadd47e1dad9bc8b7a96b4ec91208fac65e2c0688564d4', 'ec122366-4fd2-4e6f-b8ec-2c17706432f4') ON CONFLICT ("plugin_id", "tool_unique_name") DO NOTHING; \ No newline at end of file diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/create/schema-app.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-app.sql similarity index 100% rename from store/plugins/store-repository-postgresql/src/main/resources/sql/create/schema-app.sql rename to store/plugins/store-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-app.sql diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/create/schema-collection.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-collection.sql similarity index 100% rename from store/plugins/store-repository-postgresql/src/main/resources/sql/create/schema-collection.sql rename to store/plugins/store-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-collection.sql diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/create/schema-model.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-model.sql similarity index 100% rename from store/plugins/store-repository-postgresql/src/main/resources/sql/create/schema-model.sql rename to store/plugins/store-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-model.sql diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/create/schema-plugin-tool.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-plugin-tool.sql similarity index 100% rename from store/plugins/store-repository-postgresql/src/main/resources/sql/create/schema-plugin-tool.sql rename to store/plugins/store-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-plugin-tool.sql diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/create/schema-plugin.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-plugin.sql similarity index 100% rename from store/plugins/store-repository-postgresql/src/main/resources/sql/create/schema-plugin.sql rename to store/plugins/store-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-plugin.sql diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/create/schema-tag.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-tag.sql similarity index 100% rename from store/plugins/store-repository-postgresql/src/main/resources/sql/create/schema-tag.sql rename to store/plugins/store-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-tag.sql diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/create/schema-task.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-task.sql similarity index 100% rename from store/plugins/store-repository-postgresql/src/main/resources/sql/create/schema-task.sql rename to store/plugins/store-repository-postgresql/src/main/resources/sql/schema/create_tables/schema-task.sql diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/trigger/trigger-app.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-app.sql similarity index 100% rename from store/plugins/store-repository-postgresql/src/main/resources/sql/trigger/trigger-app.sql rename to store/plugins/store-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-app.sql diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/trigger/trigger-collection.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-collection.sql similarity index 100% rename from store/plugins/store-repository-postgresql/src/main/resources/sql/trigger/trigger-collection.sql rename to store/plugins/store-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-collection.sql diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/trigger/trigger-model.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-model.sql similarity index 100% rename from store/plugins/store-repository-postgresql/src/main/resources/sql/trigger/trigger-model.sql rename to store/plugins/store-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-model.sql diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/trigger/trigger-plugin-tool.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-plugin-tool.sql similarity index 100% rename from store/plugins/store-repository-postgresql/src/main/resources/sql/trigger/trigger-plugin-tool.sql rename to store/plugins/store-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-plugin-tool.sql diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/trigger/trigger-plugin.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-plugin.sql similarity index 100% rename from store/plugins/store-repository-postgresql/src/main/resources/sql/trigger/trigger-plugin.sql rename to store/plugins/store-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-plugin.sql diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/trigger/trigger-tag.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-tag.sql similarity index 100% rename from store/plugins/store-repository-postgresql/src/main/resources/sql/trigger/trigger-tag.sql rename to store/plugins/store-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-tag.sql diff --git a/store/plugins/store-repository-postgresql/src/main/resources/sql/trigger/trigger-task.sql b/store/plugins/store-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-task.sql similarity index 100% rename from store/plugins/store-repository-postgresql/src/main/resources/sql/trigger/trigger-task.sql rename to store/plugins/store-repository-postgresql/src/main/resources/sql/schema/trigger/trigger-task.sql diff --git a/store/plugins/store-repository-postgresql/src/test/resources/sql/create/definition.sql b/store/plugins/store-repository-postgresql/src/test/resources/sql/create/definition.sql index e22266fb7f..c11b9648e9 100644 --- a/store/plugins/store-repository-postgresql/src/test/resources/sql/create/definition.sql +++ b/store/plugins/store-repository-postgresql/src/test/resources/sql/create/definition.sql @@ -3,8 +3,8 @@ drop table if exists store_definition; create table if not exists store_definition ( "id" bigserial primary key not null, - "created_time" timestamp(9) default current_timestamp not null, - "updated_time" timestamp(9) default current_timestamp not null, + "created_time" timestamp default current_timestamp not null, + "updated_time" timestamp default current_timestamp not null, "creator" varchar(30) default 'system' not null, "modifier" varchar(30) default 'system' not null, "name" varchar(256) not null, From c1e28bb3c9985eb4189c6314d9b6b45c5fcd7377 Mon Sep 17 00:00:00 2001 From: Msquittto <73996387+Msquittto@users.noreply.github.com> Date: Fri, 9 May 2025 11:40:02 +0800 Subject: [PATCH 02/25] =?UTF-8?q?=E6=8E=A5=E5=85=A5=E7=9F=A5=E8=AF=86?= =?UTF-8?q?=E5=BA=93=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96=20(#177)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [app-platform] 优化知识库配置表单 * [app-platform] 增加QianfanRepoServiceImpl类测试用例 * [app-platform] 增加QianfanKnowledgeBaseManager类测试用例 * [app-platform] 检视意见修改 --------- Co-authored-by: 陈潇文 --- .../plugins/qianfan-knowledge/pom.xml | 20 ++ ...edQianfanKnowledgeBaseInnerController.java | 58 ++++++ .../MockedQianfanKnowledgeListQueryParam.java | 36 ++++ .../MockedQianfanRetrievalParam.java | 48 +++++ .../QianfanKnowledgeBaseManagerTest.java | 116 ++++++++++++ .../knowledge/QianfanRepoServiceImplTest.java | 172 ++++++++++++++++++ .../src/test/resources/listRepoResult.json | 34 ++++ .../src/test/resources/retrieveResult.json | 111 +++++++++++ .../build/index.js | 2 +- .../build/vendors.js | 2 +- 10 files changed, 597 insertions(+), 2 deletions(-) create mode 100644 app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/MockedQianfanKnowledgeBaseInnerController.java create mode 100644 app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/MockedQianfanKnowledgeListQueryParam.java create mode 100644 app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/MockedQianfanRetrievalParam.java create mode 100644 app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/QianfanKnowledgeBaseManagerTest.java create mode 100644 app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/QianfanRepoServiceImplTest.java create mode 100644 app-knowledge/plugins/qianfan-knowledge/src/test/resources/listRepoResult.json create mode 100644 app-knowledge/plugins/qianfan-knowledge/src/test/resources/retrieveResult.json diff --git a/app-knowledge/plugins/qianfan-knowledge/pom.xml b/app-knowledge/plugins/qianfan-knowledge/pom.xml index a749a710d7..a4620c5fbc 100644 --- a/app-knowledge/plugins/qianfan-knowledge/pom.xml +++ b/app-knowledge/plugins/qianfan-knowledge/pom.xml @@ -40,10 +40,30 @@ org.mapstruct mapstruct-processor + + com.fasterxml.jackson.core jackson-databind + + + + org.fitframework + fit-test-framework + + + org.junit.jupiter + junit-jupiter + + + org.mockito + mockito-core + + + org.assertj + assertj-core + diff --git a/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/MockedQianfanKnowledgeBaseInnerController.java b/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/MockedQianfanKnowledgeBaseInnerController.java new file mode 100644 index 0000000000..dffcfed78a --- /dev/null +++ b/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/MockedQianfanKnowledgeBaseInnerController.java @@ -0,0 +1,58 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) 2025 Huawei Technologies Co., Ltd. All rights reserved. + * This file is a part of the ModelEngine Project. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +package modelengine.jade.knowledge; + +import static modelengine.fitframework.util.IoUtils.content; + +import modelengine.fit.http.annotation.PostMapping; +import modelengine.fit.http.annotation.RequestBody; +import modelengine.fit.http.annotation.RequestMapping; +import modelengine.fit.http.annotation.RequestQuery; +import modelengine.fit.http.client.HttpClientException; +import modelengine.fitframework.annotation.Component; +import modelengine.fitframework.serialization.ObjectSerializer; +import modelengine.jade.knowledge.entity.QianfanResponse; + +import java.io.IOException; +import java.util.Map; + +/** + * 表示千帆内部接口的打桩实现。 + * + * @author 陈潇文 + * @since 2025-05-07 + */ +@Component +@RequestMapping(path = "/v2", group = "千帆知识库内部接口打桩") +public class MockedQianfanKnowledgeBaseInnerController { + private final ObjectSerializer serializer; + + public MockedQianfanKnowledgeBaseInnerController(ObjectSerializer serializer) { + this.serializer = serializer; + } + + @PostMapping(path = "/knowledgeBase") + public Map listRepos(@RequestBody MockedQianfanKnowledgeListQueryParam param, + @RequestQuery(name = "Action", defaultValue = "DescribeKnowledgeBases") String action) throws IOException { + if (param.getKeyword().equals("error")) { + throw new HttpClientException("error"); + } + String resourceName = "/listRepoResult.json"; + String jsonContent = content(QianfanResponse.class, resourceName); + return serializer.deserialize(jsonContent, Map.class); + } + + @PostMapping(path = "/knowledgebases/query") + public Map listRepos(@RequestBody MockedQianfanRetrievalParam param) throws IOException { + if (param.getQuery().equals("error")) { + throw new HttpClientException("error"); + } + String resourceName = "/retrieveResult.json"; + String jsonContent = content(QianfanResponse.class, resourceName); + return serializer.deserialize(jsonContent, Map.class); + } +} diff --git a/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/MockedQianfanKnowledgeListQueryParam.java b/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/MockedQianfanKnowledgeListQueryParam.java new file mode 100644 index 0000000000..0d3eea3a34 --- /dev/null +++ b/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/MockedQianfanKnowledgeListQueryParam.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2025 Huawei Technologies Co., Ltd. All rights reserved. + * This file is a part of the ModelEngine Project. + * Licensed under the MIT License. See License.txt in the project root for license information. + */ + +package modelengine.jade.knowledge; + +import lombok.Data; +import modelengine.fitframework.serialization.annotation.SerializeStrategy; +import modelengine.jade.knowledge.dto.QianfanKnowledgeListQueryParam; + +/** + * 表示 {@link QianfanKnowledgeListQueryParam} 类的测试类实现。 + * + * @author 陈潇文 + * @since 2025-05-08 + */ +@Data +@SerializeStrategy(include = SerializeStrategy.Include.NON_NULL) +public class MockedQianfanKnowledgeListQueryParam { + /** + * 知识库查询的起始id。 + */ + private String marker; + + /** + * 知识库查询的关键字。 + */ + private String keyword; + + /** + * 查询的知识库数量上限。 + */ + private Integer maxKeys; +} diff --git a/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/MockedQianfanRetrievalParam.java b/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/MockedQianfanRetrievalParam.java new file mode 100644 index 0000000000..b6f4d26610 --- /dev/null +++ b/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/MockedQianfanRetrievalParam.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2025 Huawei Technologies Co., Ltd. All rights reserved. + * This file is a part of the ModelEngine Project. + * Licensed under the MIT License. See License.txt in the project root for license information. + */ + +package modelengine.jade.knowledge; + +import lombok.Data; +import modelengine.fitframework.annotation.Property; +import modelengine.fitframework.serialization.annotation.SerializeStrategy; +import modelengine.jade.knowledge.dto.QianfanPipelineConfigQueryParam; +import modelengine.jade.knowledge.dto.QianfanRetrievalParam; + +import java.util.List; + +/** + * 表示 {@link QianfanRetrievalParam} 类的测试类实现。 + * + * @author 陈潇文 + * @since 2025-05-08 + */ +@Data +@SerializeStrategy(include = SerializeStrategy.Include.NON_NULL) +public class MockedQianfanRetrievalParam { + /** + * 返回前多少的条目。 + */ + private int top; + /** + * 检索策略。 + */ + private String type; + /** + * 检索query。 + */ + private String query; + /** + * 指定知识库的id集合。 + */ + @Property(description = "knowledgebase_ids", name = "knowledgebase_ids") + private List knowledgebaseIds; + /** + * 检索配置。 + */ + @Property(description = "pipeline_config", name = "pipeline_config") + private QianfanPipelineConfigQueryParam pipelineConfig; +} diff --git a/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/QianfanKnowledgeBaseManagerTest.java b/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/QianfanKnowledgeBaseManagerTest.java new file mode 100644 index 0000000000..f3526c448e --- /dev/null +++ b/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/QianfanKnowledgeBaseManagerTest.java @@ -0,0 +1,116 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) 2025 Huawei Technologies Co., Ltd. All rights reserved. + * This file is a part of the ModelEngine Project. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +package modelengine.jade.knowledge; + +import modelengine.fit.http.client.HttpClassicClientResponse; +import modelengine.fitframework.annotation.Fit; +import modelengine.fitframework.test.annotation.MvcTest; +import modelengine.fitframework.test.domain.mvc.MockMvc; +import modelengine.jade.knowledge.dto.QianfanKnowledgeListQueryParam; +import modelengine.jade.knowledge.dto.QianfanRetrievalParam; +import modelengine.jade.knowledge.entity.QianfanKnowledgeEntity; +import modelengine.jade.knowledge.entity.QianfanKnowledgeListEntity; +import modelengine.jade.knowledge.entity.QianfanRetrievalChunksEntity; +import modelengine.jade.knowledge.entity.QianfanRetrievalResult; +import modelengine.jade.knowledge.exception.KnowledgeException; +import modelengine.jade.knowledge.external.QianfanKnowledgeBaseManager; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +import java.io.IOException; +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; + +/** + * 表示 {@link QianfanKnowledgeBaseManager} 的测试集。 + * + * @author 陈潇文 + * @since 2025-05-06 + */ +@MvcTest(classes = {MockedQianfanKnowledgeBaseInnerController.class, QianfanKnowledgeBaseManager.class}) +public class QianfanKnowledgeBaseManagerTest { + private String apiKey = "123"; + + @Fit + QianfanKnowledgeBaseManager manager; + + @Fit + private MockMvc mockMvc; + + private HttpClassicClientResponse response; + + @BeforeEach + void setUp() throws Exception { + Field qianfanUrls = manager.getClass().getDeclaredField("qianfanUrls"); + qianfanUrls.setAccessible(true); + Map urls = new HashMap<>(); + urls.put("knowledgeList", + "http://localhost:" + mockMvc.getPort() + "/v2/knowledgeBase?Action=DescribeKnowledgeBases"); + urls.put("knowledgeRetrieve", "http://localhost:" + mockMvc.getPort() + "/v2/knowledgebases/query"); + qianfanUrls.set(manager, urls); + } + + @AfterEach + void teardown() throws IOException { + if (this.response != null) { + this.response.close(); + } + } + + @Test + @DisplayName("查询知识库列表成功") + public void shouldOkWhenListRepo() { + QianfanKnowledgeListQueryParam param = QianfanKnowledgeListQueryParam.builder().keyword("ok").build(); + QianfanKnowledgeListEntity entity = this.manager.listRepos(apiKey, param); + assertThat(entity.getData().size()).isEqualTo(2); + assertThat(entity.getData().get(0)).extracting(QianfanKnowledgeEntity::getId, + QianfanKnowledgeEntity::getName, + QianfanKnowledgeEntity::getDescription).containsExactly("1", "test1", "test1知识库"); + assertThat(entity.getData().get(1)).extracting(QianfanKnowledgeEntity::getId, + QianfanKnowledgeEntity::getName, + QianfanKnowledgeEntity::getDescription).containsExactly("2", "test2", "test2知识库"); + } + + @Test + @DisplayName("查询知识库列表失败,抛出异常") + public void shouldFailWhenListRepoThrowException() { + QianfanKnowledgeListQueryParam param = QianfanKnowledgeListQueryParam.builder().keyword("error").build(); + assertThatThrownBy(() -> this.manager.listRepos(apiKey, param)).isInstanceOf(KnowledgeException.class) + .extracting("code") + .isEqualTo(130703005); + } + + @Test + @DisplayName("检索知识库成功") + public void shouldOkWhenRetrieve() { + QianfanRetrievalParam param = QianfanRetrievalParam.builder().query("ok").build(); + QianfanRetrievalResult result = this.manager.retrieve(apiKey, param); + assertThat(result.getTotalCount()).isEqualTo(3); + assertThat(result.getChunks().get(0)).extracting(QianfanRetrievalChunksEntity::getChunkId, + QianfanRetrievalChunksEntity::getContent, + QianfanRetrievalChunksEntity::getDocumentId, + QianfanRetrievalChunksEntity::getDocumentName, + QianfanRetrievalChunksEntity::getKnowledgebaseId) + .containsExactly("chunk1", "content1", "doc1", "doc1.txt", "know1"); + } + + @Test + @DisplayName("检索知识库失败,抛出异常") + public void shouldFailWhenRetrieveThrowException() { + QianfanRetrievalParam param = QianfanRetrievalParam.builder().query("error").build(); + assertThatThrownBy(() -> this.manager.retrieve(apiKey, param)).isInstanceOf(KnowledgeException.class) + .extracting("code") + .isEqualTo(130703005); + } +} diff --git a/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/QianfanRepoServiceImplTest.java b/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/QianfanRepoServiceImplTest.java new file mode 100644 index 0000000000..f3f8f225d3 --- /dev/null +++ b/app-knowledge/plugins/qianfan-knowledge/src/test/java/modelengine/jade/knowledge/QianfanRepoServiceImplTest.java @@ -0,0 +1,172 @@ +/* + * Copyright (c) 2025 Huawei Technologies Co., Ltd. All rights reserved. + * This file is a part of the ModelEngine Project. + * Licensed under the MIT License. See License.txt in the project root for license information. + */ + +package modelengine.jade.knowledge; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.when; + +import modelengine.fitframework.annotation.Fit; +import modelengine.fitframework.test.annotation.FitTestWithJunit; +import modelengine.fitframework.test.annotation.Mock; +import modelengine.jade.common.vo.PageVo; +import modelengine.jade.knowledge.document.KnowledgeDocument; +import modelengine.jade.knowledge.entity.QianfanKnowledgeEntity; +import modelengine.jade.knowledge.entity.QianfanKnowledgeListEntity; +import modelengine.jade.knowledge.entity.QianfanRetrievalChunksEntity; +import modelengine.jade.knowledge.entity.QianfanRetrievalResult; +import modelengine.jade.knowledge.enums.FilterType; +import modelengine.jade.knowledge.enums.IndexType; +import modelengine.jade.knowledge.external.QianfanKnowledgeBaseManager; +import modelengine.jade.knowledge.service.QianfanKnowledgeRepoServiceImpl; +import modelengine.jade.knowledge.support.FlatKnowledgeOption; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import java.time.LocalDateTime; +import java.util.Collections; +import java.util.List; + +/** + * 表示 {@link QianfanKnowledgeRepoServiceImpl} 的测试集。 + * + * @author 陈潇文 + * @since 2025-05-06 + */ +@FitTestWithJunit(includeClasses = {QianfanKnowledgeRepoServiceImpl.class}) +public class QianfanRepoServiceImplTest { + private static final String apiKey = "123"; + + @Mock + private QianfanKnowledgeBaseManager knowledgeBaseManager; + + @Fit + private QianfanKnowledgeRepoServiceImpl knowledgeRepoService; + + @Mock + private KnowledgeI18nService knowledgeI18nService; + + @Test + @DisplayName("查询知识库列表成功") + void shouldOkWhenListRepo() { + QianfanKnowledgeEntity.QianfanKnowledgeConfigIndexEntity index = + new QianfanKnowledgeEntity.QianfanKnowledgeConfigIndexEntity(); + index.setType("type"); + index.setEsUrl(""); + + QianfanKnowledgeEntity.QianfanKnowledgeConfigEntity config = + new QianfanKnowledgeEntity.QianfanKnowledgeConfigEntity(); + config.setIndex(index); + + LocalDateTime time = LocalDateTime.now(); + QianfanKnowledgeEntity entity = QianfanKnowledgeEntity.builder() + .id("1") + .name("test1") + .description("test1") + .createdAt(time.toString()) + .config(config) + .build(); + + QianfanKnowledgeListEntity listEntity = QianfanKnowledgeListEntity.builder() + .isTruncated(false) + .total(1) + .data(Collections.singletonList(entity)) + .build(); + + ListRepoQueryParam param = new ListRepoQueryParam(); + param.setPageIndex(1); + param.setPageSize(10); + + when(this.knowledgeBaseManager.listRepos(anyString(), any())).thenReturn(listEntity); + + PageVo repos = this.knowledgeRepoService.listRepos(apiKey, param); + assertThat(repos.getTotal()).isEqualTo(1); + assertThat(repos.getItems().get(0)).extracting(KnowledgeRepo::id, + KnowledgeRepo::name, + KnowledgeRepo::description, + KnowledgeRepo::createdAt, + KnowledgeRepo::type).containsExactly("1", "test1", "test1", time, "type"); + } + + @Test + @DisplayName("检索知识库成功") + void shouldOkWhenRetrieve() { + QianfanRetrievalResult retrievalResult = this.buildQianfanRetrievalResult(); + + when(this.knowledgeBaseManager.retrieve(anyString(), any())).thenReturn(retrievalResult); + + ReferenceLimit referenceLimit = new ReferenceLimit(); + referenceLimit.setValue(3); + referenceLimit.setType(FilterType.REFERENCE_TOP_K.value()); + + FlatKnowledgeOption flatOption = new FlatKnowledgeOption(KnowledgeOption.custom() + .query("query") + .repoIds(Collections.emptyList()) + .indexType(IndexType.SEMANTIC) + .similarityThreshold(0.5f) + .referenceLimit(referenceLimit) + .build()); + List result = this.knowledgeRepoService.retrieve(apiKey, flatOption); + assertThat(result.size()).isEqualTo(1); + assertThat(result.get(0)).extracting(KnowledgeDocument::id, KnowledgeDocument::text, KnowledgeDocument::score) + .containsExactly("1", "content", 0.5); + assertThat(result.get(0).getMetadata()).containsEntry("datasetName", "knowledge1") + .containsEntry("datasetVersionId", "knowledge1") + .containsEntry("fileId", "document1") + .containsEntry("fileName", "documentName1"); + } + + private QianfanRetrievalResult buildQianfanRetrievalResult() { + QianfanRetrievalChunksEntity chunk = new QianfanRetrievalChunksEntity(); + chunk.setChunkId("1"); + chunk.setContent("content"); + chunk.setChunkType("type"); + chunk.setKnowledgebaseId("knowledge1"); + chunk.setDocumentId("document1"); + chunk.setDocumentName("documentName1"); + chunk.setRetrievalScore(0.5f); + chunk.setRankScore(0.6f); + + QianfanRetrievalResult retrievalResult = new QianfanRetrievalResult(); + retrievalResult.setTotalCount(1); + retrievalResult.setChunks(Collections.singletonList(chunk)); + return retrievalResult; + } + + @Test + @DisplayName("获取检索配置成功") + void shouldOkWhenGetProperty() { + when(this.knowledgeI18nService.localizeText(any(IndexType.class))).thenReturn(new KnowledgeI18nInfo("语义检索", + "基于文本的含义检索出最相关的内容")); + doAnswer(arguments -> { + if (arguments.getArgument(0) == FilterType.REFERENCE_TOP_K) { + return new KnowledgeI18nInfo("引用上限", "最大召回知识条数"); + } + if (arguments.getArgument(0) == FilterType.SIMILARITY_THRESHOLD) { + return new KnowledgeI18nInfo("最低相关度", "检索文本的最低相关度"); + } + return null; + }).when(this.knowledgeI18nService).localizeText(any(FilterType.class)); + when(this.knowledgeI18nService.localizeText("rerankParam")).thenReturn("结果重排"); + when(this.knowledgeI18nService.localizeText("rerankParam.description")).thenReturn( + "将初步检索到的候选文档按照与用户查询的相关性进行重新排序"); + + KnowledgeProperty property = this.knowledgeRepoService.getProperty(apiKey); + assertThat(property.getIndexType().size()).isEqualTo(3); + assertThat(property.getIndexType()).extracting(KnowledgeProperty.IndexInfo::type) + .containsExactly(IndexType.SEMANTIC.value(), IndexType.FULL_TEXT.value(), IndexType.HYBRID.value()); + assertThat(property.getIndexType().get(0)).extracting(KnowledgeProperty.IndexInfo::type, + KnowledgeProperty.IndexInfo::name, + KnowledgeProperty.IndexInfo::description) + .containsExactly(IndexType.SEMANTIC.value(), "语义检索", "基于文本的含义检索出最相关的内容"); + assertThat(property.getFilterConfig().size()).isEqualTo(2); + assertThat(property.getRerankConfig().size()).isEqualTo(1); + } +} diff --git a/app-knowledge/plugins/qianfan-knowledge/src/test/resources/listRepoResult.json b/app-knowledge/plugins/qianfan-knowledge/src/test/resources/listRepoResult.json new file mode 100644 index 0000000000..14bff4600f --- /dev/null +++ b/app-knowledge/plugins/qianfan-knowledge/src/test/resources/listRepoResult.json @@ -0,0 +1,34 @@ +{ + "requestId": "123", + "data": [ + { + "id": "1", + "name": "test1", + "description": "test1知识库", + "config": { + "index": { + "type": "official", + "esUrl": "" + } + }, + "createdAt": "2025-04-22T14:27:17Z" + }, + { + "id": "2", + "name": "test2", + "description": "test2知识库", + "config": { + "index": { + "type": "official", + "esUrl": "" + } + }, + "createdAt": "2023-10-25T08:06:19Z" + } + ], + "marker": "", + "isTruncated": false, + "nextMarker": "2", + "maxKeys": 2, + "total": 2 +} \ No newline at end of file diff --git a/app-knowledge/plugins/qianfan-knowledge/src/test/resources/retrieveResult.json b/app-knowledge/plugins/qianfan-knowledge/src/test/resources/retrieveResult.json new file mode 100644 index 0000000000..8541115cc6 --- /dev/null +++ b/app-knowledge/plugins/qianfan-knowledge/src/test/resources/retrieveResult.json @@ -0,0 +1,111 @@ +{ + "chunks": [ + { + "chunk_id": "chunk1", + "knowledgebase_id": "know1", + "document_id": "doc1", + "document_name": "doc1.txt", + "meta": { + "coord": "{\"box\": [[20, 435, 275, 25], [20, 465, 275, 10], [20, 480, 330, 25], [20, 510, 205, 10], [20, 525, 5, 10], [20, 540, 35, 10], [20, 555, 45, 10], [20, 570, 35, 10], [20, 585, 25, 10], [20, 600, 5, 10], [20, 615, 45, 10], [20, 630, 5, 10], [20, 645, 45, 10], [20, 660, 105, 10], [20, 675, 45, 10], [20, 690, 5, 10], [20, 705, 45, 10], [20, 720, 75, 10], [20, 735, 45, 10], [20, 750, 45, 10], [20, 765, 65, 10], [20, 30, 45, 10], [20, 45, 65, 10]], \"page_num\": [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5], \"parent_list\": [], \"parent_last\": 0}", + "page_nums": [], + "tokens": 257, + "word_count": 335, + "title": "msg", + "para_format": "txt", + "para_type": "text", + "chart_img_key_id": "", + "left_neighbors": [ + "b3884dd6-f23b-4590-a48e-0e7afab94d84" + ], + "right_neighbors": [], + "position": 6, + "segment_id": "d235f87d-2dcf-4dd5-9283-4d38ce077a6b" + }, + "chunk_type": "paragraph", + "content": "content1", + "create_time": "2025-04-22T14:59:50.711000", + "update_time": "2025-04-22T14:59:50.711000", + "retrieval_score": 0, + "rank_score": 0.46465864777565, + "locations": { + "page_num": [], + "box": [] + }, + "children": [], + "position": 6 + }, + { + "chunk_id": "chunk2", + "knowledgebase_id": "know2", + "document_id": "doc2", + "document_name": "doc2.txt", + "meta": { + "coord": "{\"box\": [[20, 405, 375, 10], [20, 420, 105, 10], [20, 435, 65, 10], [20, 450, 75, 10], [20, 465, 95, 10], [20, 480, 45, 10], [20, 495, 45, 10], [20, 510, 45, 10], [20, 525, 45, 10], [20, 540, 45, 10], [20, 555, 45, 10], [20, 570, 45, 10], [20, 585, 55, 10], [20, 600, 60, 10], [20, 615, 55, 10], [20, 630, 55, 10], [20, 645, 75, 10], [20, 660, 45, 10], [20, 675, 40, 10], [20, 690, 60, 10], [20, 705, 45, 10], [20, 720, 25, 10], [20, 735, 45, 10], [20, 750, 35, 10], [20, 765, 25, 10], [20, 30, 25, 10], [20, 45, 55, 10], [20, 60, 60, 10], [20, 75, 20, 10], [20, 90, 55, 10], [20, 105, 45, 10], [20, 120, 30, 10], [20, 135, 75, 10], [20, 150, 30, 10], [20, 165, 40, 10], [20, 180, 30, 10], [20, 195, 35, 10], [20, 210, 65, 10], [20, 225, 5, 10], [20, 240, 35, 10], [20, 255, 35, 10], [20, 270, 45, 10], [20, 285, 55, 10], [20, 300, 75, 10], [20, 315, 35, 10], [20, 330, 105, 10], [20, 345, 55, 10], [20, 360, 535, 25]], \"page_num\": [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3], \"parent_list\": [], \"parent_last\": 0}", + "page_nums": [], + "tokens": 262, + "word_count": 341, + "title": "msg", + "para_format": "txt", + "para_type": "text", + "chart_img_key_id": "", + "left_neighbors": [ + "f489ab6d-f65f-4f91-8219-0cebe0286133" + ], + "right_neighbors": [ + "55933d95-7340-48fd-8a97-7de5a5053fba" + ], + "position": 2, + "segment_id": "c5479400-ec6e-4b9e-b7b2-ef085895ee98" + }, + "chunk_type": "paragraph", + "content": "content2", + "create_time": "2025-04-22T14:59:50.710000", + "update_time": "2025-04-22T14:59:50.710000", + "retrieval_score": 0, + "rank_score": 0.4540485143661499, + "locations": { + "page_num": [], + "box": [] + }, + "children": [], + "position": 2 + }, + { + "chunk_id": "chunk3", + "knowledgebase_id": "know3", + "document_id": "doc3", + "document_name": "doc3.txt", + "meta": { + "coord": "{\"box\": [[20, 30, 540, 40], [20, 75, 5, 10], [20, 90, 520, 40]], \"page_num\": [0, 0, 0], \"parent_list\": [], \"parent_last\": 0}", + "page_nums": [ + 0, + 0, + 0 + ], + "tokens": 213, + "word_count": 277, + "title": "msg", + "para_format": "txt", + "para_type": "text", + "chart_img_key_id": "", + "left_neighbors": [], + "right_neighbors": [], + "position": 1, + "segment_id": "1983b910-3f09-4ead-aaad-a3ca0503cf78" + }, + "chunk_type": "paragraph", + "content": "content3", + "create_time": "2025-04-22T14:31:10.173000", + "update_time": "2025-04-22T14:31:10.173000", + "retrieval_score": 0, + "rank_score": 0.44625335931777954, + "locations": { + "page_num": [], + "box": [] + }, + "children": [], + "position": 1 + } + ], + "total_count": 3 +} \ No newline at end of file diff --git a/examples/app-demo/normal-form/17b732c9-5272-42a6-a79d-8d0334a8aa19/build/index.js b/examples/app-demo/normal-form/17b732c9-5272-42a6-a79d-8d0334a8aa19/build/index.js index 046a30330e..e3cebd240f 100644 --- a/examples/app-demo/normal-form/17b732c9-5272-42a6-a79d-8d0334a8aa19/build/index.js +++ b/examples/app-demo/normal-form/17b732c9-5272-42a6-a79d-8d0334a8aa19/build/index.js @@ -1 +1 @@ -(()=>{"use strict";var e,t,r,n={1333:(e,t,r)=>{var n=r(7294),o=r(745),i=(0,n.createContext)({data:{},terminateClick:function(e){},resumingClick:function(e){},restartClick:function(e){}}),a=r(6170),l=r(7079),u=r(0),c=r(9381),f=r(2028),d=r(1133),s=r(5516),m=r(3449),p=r(1577),y=r(2239),g=r(5019),b=r(7119),A=r(9101),v=r(5035),w=r(3379),h=r.n(w),O=r(1399);function x(e){return x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},x(e)}function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function E(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r0&&void 0!==arguments[0]?arguments[0]:[])[0],t=e?e.groupId:"",r=e?e.name:"";K({id:"",apiKey:"",isDefault:!1,groupId:t,name:r})},Q=function(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if("add"===(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"edit"))e.isDefault&&r.forEach((function(t){e.groupId===t.groupId&&(t.isDefault=!1)})),r=[].concat(function(e){if(Array.isArray(e))return k(e)}(t=r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||S(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[e]);else{var n=r.findIndex((function(t){return t.id===e.id}));-1!==n&&(e.serial=r[n].serial,r.splice(n,1,e)),e.isDefault&&r.forEach((function(t){e.groupId===t.groupId&&(t.isDefault=!1,e.id===t.id&&(t.isDefault=!0))}))}w(JSON.parse(JSON.stringify(r)))},F=function(e,t){var n=R(E(E({},t),{},{isDefault:e}));r({params:{action:"edit",info:n}}),Q(n,a)},G=[{title:"序列号",dataIndex:"serial",key:"serial",align:"center",width:60},{title:"知识库名称",dataIndex:"name",key:"name",align:"center",render:function(e){return n.createElement(c.Z,{title:e},n.createElement("div",{style:{maxWidth:"300px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",margin:"0 auto"}},e))}},{title:"API_KEY",dataIndex:"apiKey",key:"apiKey",align:"center",render:function(e){return n.createElement(c.Z,{title:e},n.createElement("div",{style:{maxWidth:"300px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",margin:"0 auto"}},e))}},{title:"是否默认",dataIndex:"isDefault",key:"isDefault",align:"center",width:120,render:function(e,t){return n.createElement(f.Z,{checked:t.isDefault,onChange:function(e){return function(e,t){e?T({title:"切换默认模型",icon:n.createElement(b.Z,null),content:"是否将 “".concat(t.name,"” 设置为默认模型?"),okText:"确认",cancelText:"取消",onOk:function(){F(e,t)}}):F(e,t)}(e,t)},disabled:q})}},{title:"操作",key:"action",align:"center",width:120,render:function(e,t){return n.createElement(n.Fragment,null,n.createElement(N,{style:{marginRight:"12px"},onClick:function(){return function(e){Y.current=e.id,K(E({},e)),B("edit"),P(!0)}(t)},disabled:q},"编辑"),n.createElement(N,{onClick:function(){return function(e){T({title:"删除确认",icon:n.createElement(b.Z,null),content:n.createElement(n.Fragment,null,n.createElement("p",null,"你确定要删除这个知识库吗?"),n.createElement("p",null,n.createElement("strong",null,"知识库名称:"),e.name)),okText:"确认删除",cancelText:"取消",okType:"danger",onOk:function(){r({params:{action:"delete",info:{id:e.id}}}),w((function(){return a.filter((function(t){return t.id!==e.id}))}))}}),U(!0)}(t)},disabled:q},"删除"))}}];return n.createElement("div",{className:"form-wrap",style:{padding:"24px",background:"#f5f5f5"}},n.createElement(d.Z,{bordered:!1,style:{maxWidth:1200,margin:"0 auto"}},n.createElement(M,{level:3,style:{textAlign:"center"}},"知识库配置"),n.createElement(D,{type:"secondary",style:{display:"block",textAlign:"center",marginBottom:24}},"以下是系统中已注册的知识库配置,可进行添加修改或删除。"),n.createElement(s.Z,{columns:G,dataSource:a,rowKey:"serial",pagination:!1,bordered:!0,size:"middle",locale:{emptyText:"暂无知识库数据,请点击“添加知识库”"}}),n.createElement("div",{style:{marginTop:32,textAlign:"center"}},n.createElement(m.Z,{size:"large"},n.createElement(p.Z,{type:"primary",icon:n.createElement(A.Z,null),onClick:function(){J(O),B("add"),P(!0)},disabled:q},"添加知识库"),n.createElement(p.Z,{icon:n.createElement(v.Z,null),onClick:function(){var e=R({});r({params:{action:"quit",info:e}}),U(!0)},disabled:q},"退出")))),n.createElement(l.Z,{className:"knowledge-modal",title:"add"===L?"添加知识库":"编辑知识库",open:j,onOk:function(){var e=W.id,t=W.name,n=W.isDefault,o=W.apiKey,i=W.groupId;if(o.trim())if(a.filter((function(e){return e.groupId===i})).filter((function(t){return t.apiKey===o&&t.id!==e})).length)u.ZP.warning("选中相同的知识库后请填写不同的api_key");else{var l=R({name:t,isDefault:n,apiKey:o,groupId:i});if("edit"===L&&(l.id=Y.current),r({params:{action:L,info:l}}),"add"===L){var c=a.length,f=E(E({},l),{},{serial:c+1});Q(f,a,"add")}else Q(l,a);P(!1),J(O),U(!0)}else u.ZP.warning("请填写完整知识库信息")},onCancel:function(){return P(!1)},okText:"确认",cancelText:"取消"},n.createElement("div",{className:"form-item"},n.createElement("label",null,"平台:"),n.createElement(y.Z,{options:O,value:W.groupId,fieldNames:{label:"name",value:"groupId"},onChange:function(e){return function(e){var t=O.filter((function(t){return t.groupId===e}))[0],r=t.groupId,n=t.name;K(E(E({},W),{},{groupId:r,name:n}))}(e)},style:{width:"400px"}})),n.createElement("div",{className:"form-item"},n.createElement("label",null,"API Key:"),n.createElement(g.Z.TextArea,{value:W.apiKey,onChange:function(e){return K(E(E({},W),{},{apiKey:e.target.value}))},placeholder:"请输入 API Key",style:{height:100,resize:"none"}})),n.createElement("div",{className:"form-item"},n.createElement("label",null,"是否默认:"),n.createElement(f.Z,{checked:W.isDefault,onChange:function(e){return K(E(E({},W),{},{isDefault:e}))}}))))};function Z(e){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Z(e)}function L(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function B(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r1?e[1]:null,c=function(e){window.self!==top&&l(e.data)};return(0,n.useEffect)((function(){window.addEventListener("message",c),window.parent.postMessage({type:"app-engine-form-ready",uniqueId:u},"*");var e=new ResizeObserver((function(e){e.forEach((function(e){var t=e.contentRect.height;window.parent.postMessage({type:"app-engine-form-resize",height:t,uniqueId:u},"*")}))}));return e.observe(document.querySelector("#custom-smart-form")),function(){window.removeEventListener("message",c),e.unobserve(document.querySelector("#custom-smart-form")),e.disconnect()}}),[]),n.createElement("div",{className:"form-wrap",id:"custom-smart-form"},n.createElement(i.Provider,{value:B(B({},a),{},{terminateClick:function(e){window.parent.postMessage(B(B({type:"app-engine-form-terminate"},e),{},{uniqueId:u}),a.origin)},resumingClick:function(e){window.parent.postMessage(B(B({type:"app-engine-form-resuming"},e),{},{uniqueId:u}),a.origin)},restartClick:function(e){window.parent.postMessage(B(B({type:"app-engine-form-restart"},e),{},{uniqueId:u}),a.origin)}})},n.createElement(P,null)))}r(6573),o.createRoot(document.getElementById("root")).render(n.createElement(K,null))},1399:(e,t,r)=>{r.d(t,{Z:()=>l});var n=r(7537),o=r.n(n),i=r(3645),a=r.n(i)()(o());a.push([e.id,".form-wrap{height:100%;overflow-y:auto;padding:24px;box-sizing:border-box}.form-wrap .ant-card{box-shadow:0 2px 8px rgba(0,0,0,.08);border-radius:12px}.form-wrap .ant-table-thead>tr>th{background:#fafafa;font-weight:bold}.form-wrap .ant-btn[shape=circle]:hover{background-color:#ffecec !important;border-radius:50%}.konwledge-modal .model-body{padding:16px 24px}.form-item{display:flex;margin-bottom:12px}.form-item label{display:inline-block;width:74px;flex-shrink:0}","",{version:3,sources:["webpack://./src/styles/form.scss"],names:[],mappings:"AAAA,WAAW,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,qBAAqB,CAAC,qBAAqB,oCAAoC,CAAC,kBAAkB,CAAC,kCAAkC,kBAAkB,CAAC,gBAAgB,CAAC,wCAAwC,mCAAmC,CAAC,iBAAiB,CAAC,6BAA6B,iBAAiB,CAAC,WAAW,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,oBAAoB,CAAC,UAAU,CAAC,aAAa",sourcesContent:[".form-wrap{height:100%;overflow-y:auto;padding:24px;box-sizing:border-box}.form-wrap .ant-card{box-shadow:0 2px 8px rgba(0,0,0,.08);border-radius:12px}.form-wrap .ant-table-thead>tr>th{background:#fafafa;font-weight:bold}.form-wrap .ant-btn[shape=circle]:hover{background-color:#ffecec !important;border-radius:50%}.konwledge-modal .model-body{padding:16px 24px}.form-item{display:flex;margin-bottom:12px}.form-item label{display:inline-block;width:74px;flex-shrink:0}"],sourceRoot:""}]);const l=a},2445:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQuNSAyLjVoLTEzQS41LjUgMCAwIDAgMSAzdjEwYS41LjUgMCAwIDAgLjUuNWgxM2EuNS41IDAgMCAwIC41LS41VjNhLjUuNSAwIDAgMC0uNS0uNXpNNS4yODEgNC43NWExIDEgMCAwIDEgMCAyIDEgMSAwIDAgMSAwLTJ6bTguMDMgNi44M2EuMTI3LjEyNyAwIDAgMS0uMDgxLjAzSDIuNzY5YS4xMjUuMTI1IDAgMCAxLS4wOTYtLjIwN2wyLjY2MS0zLjE1NmEuMTI2LjEyNiAwIDAgMSAuMTc3LS4wMTZsLjAxNi4wMTZMNy4wOCAxMC4wOWwyLjQ3LTIuOTNhLjEyNi4xMjYgMCAwIDEgLjE3Ny0uMDE2bC4wMTUuMDE2IDMuNTg4IDQuMjQ0YS4xMjcuMTI3IDAgMCAxLS4wMi4xNzV6IiBmaWxsPSIjOEM4QzhDIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4="}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={id:e,loaded:!1,exports:{}};return n[e](r,r.exports,i),r.loaded=!0,r.exports}i.m=n,e=[],i.O=(t,r,n,o)=>{if(!r){var a=1/0;for(f=0;f=o)&&Object.keys(i.O).every((e=>i.O[e](r[u])))?r.splice(u--,1):(l=!1,o0&&e[f-1][2]>o;f--)e[f]=e[f-1];e[f]=[r,n,o]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(e,n){if(1&n&&(e=this(e)),8&n)return e;if("object"==typeof e&&e){if(4&n&&e.__esModule)return e;if(16&n&&"function"==typeof e.then)return e}var o=Object.create(null);i.r(o);var a={};t=t||[null,r({}),r([]),r(r)];for(var l=2&n&&e;"object"==typeof l&&!~t.indexOf(l);l=r(l))Object.getOwnPropertyNames(l).forEach((t=>a[t]=()=>e[t]));return a.default=()=>e,i.d(o,a),o},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{i.b=document.baseURI||self.location.href;var e={826:0};i.O.j=t=>0===e[t];var t=(t,r)=>{var n,o,[a,l,u]=r,c=0;if(a.some((t=>0!==e[t]))){for(n in l)i.o(l,n)&&(i.m[n]=l[n]);if(u)var f=u(i)}for(t&&t(r);ci(1333)));a=i.O(a)})(); \ No newline at end of file +(()=>{"use strict";var e,t,r,n={1333:(e,t,r)=>{var n=r(7294),o=r(745),i=(0,n.createContext)({data:{},terminateClick:function(e){},resumingClick:function(e){},restartClick:function(e){}}),a=r(6170),l=r(7079),u=r(0),c=r(9381),f=r(9181),d=r(2028),s=r(1133),m=r(5516),p=r(3449),y=r(1577),g=r(2239),b=r(5019),A=r(7119),v=r(9101),w=r(5035),h=r(3379),E=r.n(h),O=r(1399);function x(e){return x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},x(e)}function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function I(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r0&&void 0!==arguments[0]?arguments[0]:[])[0],t=e?e.groupId:"",r=e?e.name:"";Y({id:"",apiKey:"",isDefault:!1,groupId:t,name:r})},F=function(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if("add"===(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"edit"))e.isDefault&&r.forEach((function(t){e.groupId===t.groupId&&(t.isDefault=!1)})),r=[].concat(function(e){if(Array.isArray(e))return M(e)}(t=r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||k(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[e]);else{var n=r.findIndex((function(t){return t.id===e.id}));-1!==n&&(e.serial=r[n].serial,r.splice(n,1,e)),e.isDefault&&r.forEach((function(t){e.groupId===t.groupId&&(t.isDefault=!1,e.id===t.id&&(t.isDefault=!0))}))}h(JSON.parse(JSON.stringify(r)))},G=function(e,t){var n=J(I(I({},t),{},{isDefault:e}));r({params:{action:"edit",info:n}}),F(n,a)},H=function(e){return 1===a.filter((function(t){return t.groupId===e.groupId})).length},V=[{title:"序列号",dataIndex:"serial",key:"serial",align:"center",width:60},{title:"知识库名称",dataIndex:"name",key:"name",align:"center",render:function(e){return n.createElement(c.Z,{title:e},n.createElement("div",{style:{maxWidth:"300px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",margin:"0 auto"}},e))}},{title:"API_KEY",dataIndex:"apiKey",key:"apiKey",align:"center",render:function(e){return n.createElement(c.Z,{title:e},n.createElement("div",{style:{maxWidth:"300px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",margin:"0 auto"}},e))}},{title:"是否默认",dataIndex:"isDefault",key:"isDefault",align:"center",width:120,render:function(e,t){return n.createElement(f.Z,{content:"一个知识库平台需要保证有一个默认Api Key"},n.createElement(d.Z,{checked:t.isDefault,onChange:function(e){return function(e,t){e?P({title:"切换默认模型",icon:n.createElement(A.Z,null),content:"是否将 “".concat(t.name,"” 设置为默认模型?"),okText:"确认",cancelText:"取消",onOk:function(){G(e,t)}}):G(e,t),R(!0)}(e,t)},disabled:U||H(t)}))}},{title:"操作",key:"action",align:"center",width:120,render:function(e,t){return n.createElement(n.Fragment,null,n.createElement(T,{style:{marginRight:"12px"},onClick:function(){return function(e){_.current=e.id,Y(I({},e)),z("edit"),Z(!0)}(t)},disabled:U},"编辑"),n.createElement(T,{onClick:function(){return function(e){P({title:"删除确认",icon:n.createElement(A.Z,null),content:n.createElement(n.Fragment,null,n.createElement("p",null,"你确定要删除这个知识库吗?"),n.createElement("p",null,n.createElement("strong",null,"知识库名称:"),e.name)),okText:"确认删除",cancelText:"取消",okType:"danger",onOk:function(){r({params:{action:"delete",info:{id:e.id}}}),h((function(){return a.filter((function(t){return t.id!==e.id}))})),R(!0)}})}(t)},disabled:U},"删除"))}}];return n.createElement("div",{className:"form-wrap",style:{padding:"24px",background:"#f5f5f5"}},n.createElement(s.Z,{bordered:!1,style:{maxWidth:1200,margin:"0 auto"}},n.createElement(D,{level:3,style:{textAlign:"center"}},"知识库配置"),n.createElement(N,{type:"secondary",style:{display:"block",textAlign:"center",marginBottom:24}},"以下是系统中已注册的知识库配置,可进行添加修改或删除。"),n.createElement(m.Z,{columns:V,dataSource:a,rowKey:"serial",pagination:!1,bordered:!0,size:"middle",locale:{emptyText:"暂无知识库数据,请点击“添加知识库”"}}),n.createElement("div",{style:{marginTop:32,textAlign:"center"}},n.createElement(p.Z,{size:"large"},n.createElement(y.Z,{type:"primary",icon:n.createElement(v.Z,null),onClick:function(){Q(O),z("add"),Z(!0)},disabled:U},"添加知识库"),n.createElement(y.Z,{icon:n.createElement(w.Z,null),onClick:function(){var e=J({});r({params:{action:"quit",info:e}}),R(!0)},disabled:U},"退出")))),n.createElement(l.Z,{className:"knowledge-modal",title:"add"===B?"添加知识库":"编辑知识库",open:j,onOk:function(){var e=W.id,t=W.name,n=W.isDefault,o=W.apiKey,i=W.groupId;if(o.trim())if(a.filter((function(e){return e.groupId===i})).filter((function(t){return t.apiKey===o&&t.id!==e})).length)u.ZP.warning("选中相同的知识库后请填写不同的api_key");else{var l=J({name:t,isDefault:n,apiKey:o,groupId:i});if("edit"===B&&(l.id=_.current),r({params:{action:B,info:l}}),"add"===B){var c=a.length,f=I(I({},l),{},{serial:c+1});F(f,a,"add")}else F(l,a);Z(!1),Q(O),R(!0)}else u.ZP.warning("请填写完整知识库信息")},onCancel:function(){return Z(!1)},okText:"确认",cancelText:"取消"},n.createElement("div",{className:"form-item"},n.createElement("label",null,"平台:"),n.createElement(g.Z,{options:O,value:W.groupId,fieldNames:{label:"name",value:"groupId"},onChange:function(e){return function(e){var t=O.filter((function(t){return t.groupId===e}))[0],r=t.groupId,n=t.name;Y(I(I({},W),{},{groupId:r,name:n}))}(e)},style:{width:"400px"}})),n.createElement("div",{className:"form-item"},n.createElement("label",null,"API Key:"),n.createElement(b.Z.TextArea,{value:W.apiKey,onChange:function(e){return Y(I(I({},W),{},{apiKey:e.target.value}))},placeholder:"请输入 API Key",style:{height:100,resize:"none"}})),n.createElement("div",{className:"form-item"},n.createElement("label",null,"是否默认:"),n.createElement(f.Z,{content:"一个知识库平台需要保证有一个默认Api Key"},n.createElement(d.Z,{checked:W.isDefault,onChange:function(e){return Y(I(I({},W),{},{isDefault:e}))},disabled:"edit"===B&&H(W)})))))};function L(e){return L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},L(e)}function B(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function z(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r1?e[1]:null,c=function(e){window.self!==top&&l(e.data)};return(0,n.useEffect)((function(){window.addEventListener("message",c),window.parent.postMessage({type:"app-engine-form-ready",uniqueId:u},"*");var e=new ResizeObserver((function(e){e.forEach((function(e){var t=e.contentRect.height;window.parent.postMessage({type:"app-engine-form-resize",height:t,uniqueId:u},"*")}))}));return e.observe(document.querySelector("#custom-smart-form")),function(){window.removeEventListener("message",c),e.unobserve(document.querySelector("#custom-smart-form")),e.disconnect()}}),[]),n.createElement("div",{className:"form-wrap",id:"custom-smart-form"},n.createElement(i.Provider,{value:z(z({},a),{},{terminateClick:function(e){window.parent.postMessage(z(z({type:"app-engine-form-terminate"},e),{},{uniqueId:u}),a.origin)},resumingClick:function(e){window.parent.postMessage(z(z({type:"app-engine-form-resuming"},e),{},{uniqueId:u}),a.origin)},restartClick:function(e){window.parent.postMessage(z(z({type:"app-engine-form-restart"},e),{},{uniqueId:u}),a.origin)}})},n.createElement(Z,null)))}r(6573),o.createRoot(document.getElementById("root")).render(n.createElement(Y,null))},1399:(e,t,r)=>{r.d(t,{Z:()=>l});var n=r(7537),o=r.n(n),i=r(3645),a=r.n(i)()(o());a.push([e.id,".form-wrap{height:100%;overflow-y:auto;padding:24px;box-sizing:border-box}.form-wrap .ant-card{box-shadow:0 2px 8px rgba(0,0,0,.08);border-radius:12px}.form-wrap .ant-table-thead>tr>th{background:#fafafa;font-weight:bold}.form-wrap .ant-btn[shape=circle]:hover{background-color:#ffecec !important;border-radius:50%}.konwledge-modal .model-body{padding:16px 24px}.form-item{display:flex;margin-bottom:12px}.form-item label{display:inline-block;width:74px;flex-shrink:0}","",{version:3,sources:["webpack://./src/styles/form.scss"],names:[],mappings:"AAAA,WAAW,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,qBAAqB,CAAC,qBAAqB,oCAAoC,CAAC,kBAAkB,CAAC,kCAAkC,kBAAkB,CAAC,gBAAgB,CAAC,wCAAwC,mCAAmC,CAAC,iBAAiB,CAAC,6BAA6B,iBAAiB,CAAC,WAAW,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,oBAAoB,CAAC,UAAU,CAAC,aAAa",sourcesContent:[".form-wrap{height:100%;overflow-y:auto;padding:24px;box-sizing:border-box}.form-wrap .ant-card{box-shadow:0 2px 8px rgba(0,0,0,.08);border-radius:12px}.form-wrap .ant-table-thead>tr>th{background:#fafafa;font-weight:bold}.form-wrap .ant-btn[shape=circle]:hover{background-color:#ffecec !important;border-radius:50%}.konwledge-modal .model-body{padding:16px 24px}.form-item{display:flex;margin-bottom:12px}.form-item label{display:inline-block;width:74px;flex-shrink:0}"],sourceRoot:""}]);const l=a},2445:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQuNSAyLjVoLTEzQS41LjUgMCAwIDAgMSAzdjEwYS41LjUgMCAwIDAgLjUuNWgxM2EuNS41IDAgMCAwIC41LS41VjNhLjUuNSAwIDAgMC0uNS0uNXpNNS4yODEgNC43NWExIDEgMCAwIDEgMCAyIDEgMSAwIDAgMSAwLTJ6bTguMDMgNi44M2EuMTI3LjEyNyAwIDAgMS0uMDgxLjAzSDIuNzY5YS4xMjUuMTI1IDAgMCAxLS4wOTYtLjIwN2wyLjY2MS0zLjE1NmEuMTI2LjEyNiAwIDAgMSAuMTc3LS4wMTZsLjAxNi4wMTZMNy4wOCAxMC4wOWwyLjQ3LTIuOTNhLjEyNi4xMjYgMCAwIDEgLjE3Ny0uMDE2bC4wMTUuMDE2IDMuNTg4IDQuMjQ0YS4xMjcuMTI3IDAgMCAxLS4wMi4xNzV6IiBmaWxsPSIjOEM4QzhDIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4="}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={id:e,loaded:!1,exports:{}};return n[e](r,r.exports,i),r.loaded=!0,r.exports}i.m=n,e=[],i.O=(t,r,n,o)=>{if(!r){var a=1/0;for(f=0;f=o)&&Object.keys(i.O).every((e=>i.O[e](r[u])))?r.splice(u--,1):(l=!1,o0&&e[f-1][2]>o;f--)e[f]=e[f-1];e[f]=[r,n,o]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(e,n){if(1&n&&(e=this(e)),8&n)return e;if("object"==typeof e&&e){if(4&n&&e.__esModule)return e;if(16&n&&"function"==typeof e.then)return e}var o=Object.create(null);i.r(o);var a={};t=t||[null,r({}),r([]),r(r)];for(var l=2&n&&e;"object"==typeof l&&!~t.indexOf(l);l=r(l))Object.getOwnPropertyNames(l).forEach((t=>a[t]=()=>e[t]));return a.default=()=>e,i.d(o,a),o},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{i.b=document.baseURI||self.location.href;var e={826:0};i.O.j=t=>0===e[t];var t=(t,r)=>{var n,o,[a,l,u]=r,c=0;if(a.some((t=>0!==e[t]))){for(n in l)i.o(l,n)&&(i.m[n]=l[n]);if(u)var f=u(i)}for(t&&t(r);ci(1333)));a=i.O(a)})(); \ No newline at end of file diff --git a/examples/app-demo/normal-form/17b732c9-5272-42a6-a79d-8d0334a8aa19/build/vendors.js b/examples/app-demo/normal-form/17b732c9-5272-42a6-a79d-8d0334a8aa19/build/vendors.js index 05054f9f87..96d288c056 100644 --- a/examples/app-demo/normal-form/17b732c9-5272-42a6-a79d-8d0334a8aa19/build/vendors.js +++ b/examples/app-demo/normal-form/17b732c9-5272-42a6-a79d-8d0334a8aa19/build/vendors.js @@ -1,2 +1,2 @@ /*! For license information please see vendors.js.LICENSE.txt */ -(self.webpackChunkremote_component=self.webpackChunkremote_component||[]).push([[216],{2138:(n,t,e)=>{"use strict";e.d(t,{R_:()=>v});var a=e(6500),r=e(1350),o=2,i=.16,l=.05,c=.05,s=.15,u=5,d=4,p=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function f(n){var t=n.r,e=n.g,r=n.b,o=(0,a.py)(t,e,r);return{h:360*o.h,s:o.s,v:o.v}}function m(n){var t=n.r,e=n.g,r=n.b;return"#".concat((0,a.vq)(t,e,r,!1))}function g(n,t,e){var a;return(a=Math.round(n.h)>=60&&Math.round(n.h)<=240?e?Math.round(n.h)-o*t:Math.round(n.h)+o*t:e?Math.round(n.h)+o*t:Math.round(n.h)-o*t)<0?a+=360:a>=360&&(a-=360),a}function b(n,t,e){return 0===n.h&&0===n.s?n.s:((a=e?n.s-i*t:t===d?n.s+i:n.s+l*t)>1&&(a=1),e&&t===u&&a>.1&&(a=.1),a<.06&&(a=.06),Number(a.toFixed(2)));var a}function h(n,t,e){var a;return(a=e?n.v+c*t:n.v-s*t)>1&&(a=1),Number(a.toFixed(2))}function v(n){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=[],a=(0,r.uA)(n),o=u;o>0;o-=1){var i=f(a),l=m((0,r.uA)({h:g(i,o,!0),s:b(i,o,!0),v:h(i,o,!0)}));e.push(l)}e.push(m(a));for(var c=1;c<=d;c+=1){var s=f(a),v=m((0,r.uA)({h:g(s,c),s:b(s,c),v:h(s,c)}));e.push(v)}return"dark"===t.theme?p.map((function(n){var a,o,i,l=n.index,c=n.opacity;return m((a=(0,r.uA)(t.backgroundColor||"#141414"),i=100*c/100,{r:((o=(0,r.uA)(e[l])).r-a.r)*i+a.r,g:(o.g-a.g)*i+a.g,b:(o.b-a.b)*i+a.b}))})):e}var x={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1890FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},y={},w={};Object.keys(x).forEach((function(n){y[n]=v(x[n]),y[n].primary=y[n][5],w[n]=v(x[n],{theme:"dark",backgroundColor:"#141414"}),w[n].primary=w[n][5]})),y.red,y.volcano,y.gold,y.orange,y.yellow,y.lime,y.green,y.cyan,y.blue,y.geekblue,y.purple,y.magenta,y.grey},76:(n,t,e)=>{"use strict";e.d(t,{Z:()=>P});var a=e(1413),r=e(9439),o=e(4942),i=e(4925),l=e(7294),c=e(3967),s=e.n(c),u=e(3017),d=e(1002),p=e(2138),f=e(334),m=e(4958),g=e(8929),b=e.n(g);function h(n){return"object"===(0,d.Z)(n)&&"string"==typeof n.name&&"string"==typeof n.theme&&("object"===(0,d.Z)(n.icon)||"function"==typeof n.icon)}function v(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.keys(n).reduce((function(t,e){var a=n[e];return"class"===e?(t.className=a,delete t.class):(delete t[e],t[b()(e)]=a),t}),{})}function x(n,t,e){return e?l.createElement(n.tag,(0,a.Z)((0,a.Z)({key:t},v(n.attrs)),e),(n.children||[]).map((function(e,a){return x(e,"".concat(t,"-").concat(n.tag,"-").concat(a))}))):l.createElement(n.tag,(0,a.Z)({key:t},v(n.attrs)),(n.children||[]).map((function(e,a){return x(e,"".concat(t,"-").concat(n.tag,"-").concat(a))})))}function y(n){return(0,p.R_)(n)[0]}function w(n){return n?Array.isArray(n)?n:[n]:[]}var k=["icon","className","onClick","style","primaryColor","secondaryColor"],E={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1},C=function(n){var t,e,r=n.icon,o=n.className,c=n.onClick,s=n.style,d=n.primaryColor,p=n.secondaryColor,g=(0,i.Z)(n,k),b=E;if(d&&(b={primaryColor:d,secondaryColor:p||y(d)}),function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"\n.anticon {\n display: inline-flex;\n alignItems: center;\n color: inherit;\n font-style: normal;\n line-height: 0;\n text-align: center;\n text-transform: none;\n vertical-align: -0.125em;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.anticon > * {\n line-height: 1;\n}\n\n.anticon svg {\n display: inline-block;\n}\n\n.anticon::before {\n display: none;\n}\n\n.anticon .anticon-icon {\n display: block;\n}\n\n.anticon[tabindex] {\n cursor: pointer;\n}\n\n.anticon-spin::before,\n.anticon-spin {\n display: inline-block;\n -webkit-animation: loadingCircle 1s infinite linear;\n animation: loadingCircle 1s infinite linear;\n}\n\n@-webkit-keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n",t=(0,l.useContext)(u.Z).csp;(0,l.useEffect)((function(){(0,m.hq)(n,"@ant-design-icons",{prepend:!0,csp:t})}),[])}(),t=h(r),e="icon should be icon definiton, but got ".concat(r),(0,f.ZP)(t,"[@ant-design/icons] ".concat(e)),!h(r))return null;var v=r;return v&&"function"==typeof v.icon&&(v=(0,a.Z)((0,a.Z)({},v),{},{icon:v.icon(b.primaryColor,b.secondaryColor)})),x(v.icon,"svg-".concat(v.name),(0,a.Z)({className:o,onClick:c,style:s,"data-icon":v.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},g))};C.displayName="IconReact",C.getTwoToneColors=function(){return(0,a.Z)({},E)},C.setTwoToneColors=function(n){var t=n.primaryColor,e=n.secondaryColor;E.primaryColor=t,E.secondaryColor=e||y(t),E.calculated=!!e};const Z=C;function S(n){var t=w(n),e=(0,r.Z)(t,2),a=e[0],o=e[1];return Z.setTwoToneColors({primaryColor:a,secondaryColor:o})}var N=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];S("#1890ff");var z=l.forwardRef((function(n,t){var e=n.className,c=n.icon,d=n.spin,p=n.rotate,f=n.tabIndex,m=n.onClick,g=n.twoToneColor,b=(0,i.Z)(n,N),h=l.useContext(u.Z),v=h.prefixCls,x=void 0===v?"anticon":v,y=h.rootClassName,k=s()(y,x,(0,o.Z)((0,o.Z)({},"".concat(x,"-").concat(c.name),!!c.name),"".concat(x,"-spin"),!!d||"loading"===c.name),e),E=f;void 0===E&&m&&(E=-1);var C=p?{msTransform:"rotate(".concat(p,"deg)"),transform:"rotate(".concat(p,"deg)")}:void 0,S=w(g),z=(0,r.Z)(S,2),P=z[0],O=z[1];return l.createElement("span",(0,a.Z)((0,a.Z)({role:"img","aria-label":c.name},b),{},{ref:t,tabIndex:E,onClick:m,className:k}),l.createElement(Z,{icon:c,primaryColor:P,secondaryColor:O,style:C}))}));z.displayName="AntdIcon",z.getTwoToneColor=function(){var n=Z.getTwoToneColors();return n.calculated?[n.primaryColor,n.secondaryColor]:n.primaryColor},z.setTwoToneColor=S;const P=z},3017:(n,t,e)=>{"use strict";e.d(t,{Z:()=>a});const a=(0,e(7294).createContext)({})},5873:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(1413),r=e(7294);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"check-circle",theme:"outlined"};var i=e(76),l=function(n,t){return r.createElement(i.Z,(0,a.Z)((0,a.Z)({},n),{},{ref:t,icon:o}))};const c=r.forwardRef(l)},9508:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(1413),r=e(7294);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"};var i=e(76),l=function(n,t){return r.createElement(i.Z,(0,a.Z)((0,a.Z)({},n),{},{ref:t,icon:o}))};const c=r.forwardRef(l)},3061:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(1413),r=e(7294);const o={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"};var i=e(76),l=function(n,t){return r.createElement(i.Z,(0,a.Z)((0,a.Z)({},n),{},{ref:t,icon:o}))};const c=r.forwardRef(l)},3218:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(1413),r=e(7294);const o={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm128.01 198.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z"}}]},name:"close-circle",theme:"outlined"};var i=e(76),l=function(n,t){return r.createElement(i.Z,(0,a.Z)((0,a.Z)({},n),{},{ref:t,icon:o}))};const c=r.forwardRef(l)},4549:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(1413),r=e(7294);const o={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},name:"close",theme:"outlined"};var i=e(76),l=function(n,t){return r.createElement(i.Z,(0,a.Z)((0,a.Z)({},n),{},{ref:t,icon:o}))};const c=r.forwardRef(l)},7254:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(1413),r=e(7294);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"};var i=e(76),l=function(n,t){return r.createElement(i.Z,(0,a.Z)((0,a.Z)({},n),{},{ref:t,icon:o}))};const c=r.forwardRef(l)},4545:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(1413),r=e(7294);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"ellipsis",theme:"outlined"};var i=e(76),l=function(n,t){return r.createElement(i.Z,(0,a.Z)((0,a.Z)({},n),{},{ref:t,icon:o}))};const c=r.forwardRef(l)},7119:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(1413),r=e(7294);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]},name:"exclamation-circle",theme:"outlined"};var i=e(76),l=function(n,t){return r.createElement(i.Z,(0,a.Z)((0,a.Z)({},n),{},{ref:t,icon:o}))};const c=r.forwardRef(l)},8628:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(1413),r=e(7294);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z"}}]},name:"info-circle",theme:"outlined"};var i=e(76),l=function(n,t){return r.createElement(i.Z,(0,a.Z)((0,a.Z)({},n),{},{ref:t,icon:o}))};const c=r.forwardRef(l)},7085:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(1413),r=e(7294);const o={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"};var i=e(76),l=function(n,t){return r.createElement(i.Z,(0,a.Z)((0,a.Z)({},n),{},{ref:t,icon:o}))};const c=r.forwardRef(l)},5035:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(1413),r=e(7294);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8-7 8.5-14.5 16.7-22.4 24.5a353.84 353.84 0 01-112.7 75.9A352.8 352.8 0 01512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.84 353.84 0 01-112.7-75.9 353.28 353.28 0 01-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 7.9 7.9 15.3 16.1 22.4 24.5 3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82 271.7 82.6 79.6 277.1 82 516.4 84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7 3.4-5.3-.4-12.3-6.7-12.3zm88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 000-12.6z"}}]},name:"logout",theme:"outlined"};var i=e(76),l=function(n,t){return r.createElement(i.Z,(0,a.Z)((0,a.Z)({},n),{},{ref:t,icon:o}))};const c=r.forwardRef(l)},9101:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(1413),r=e(7294);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"};var i=e(76),l=function(n,t){return r.createElement(i.Z,(0,a.Z)((0,a.Z)({},n),{},{ref:t,icon:o}))};const c=r.forwardRef(l)},6570:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(1413),r=e(7294);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"};var i=e(76),l=function(n,t){return r.createElement(i.Z,(0,a.Z)((0,a.Z)({},n),{},{ref:t,icon:o}))};const c=r.forwardRef(l)},6500:(n,t,e)=>{"use strict";e.d(t,{T6:()=>p,VD:()=>f,WE:()=>s,Yt:()=>m,lC:()=>o,py:()=>c,rW:()=>r,s:()=>d,ve:()=>l,vq:()=>u});var a=e(279);function r(n,t,e){return{r:255*(0,a.sh)(n,255),g:255*(0,a.sh)(t,255),b:255*(0,a.sh)(e,255)}}function o(n,t,e){n=(0,a.sh)(n,255),t=(0,a.sh)(t,255),e=(0,a.sh)(e,255);var r=Math.max(n,t,e),o=Math.min(n,t,e),i=0,l=0,c=(r+o)/2;if(r===o)l=0,i=0;else{var s=r-o;switch(l=c>.5?s/(2-r-o):s/(r+o),r){case n:i=(t-e)/s+(t1&&(e-=1),e<1/6?n+6*e*(t-n):e<.5?t:e<2/3?n+(t-n)*(2/3-e)*6:n}function l(n,t,e){var r,o,l;if(n=(0,a.sh)(n,360),t=(0,a.sh)(t,100),e=(0,a.sh)(e,100),0===t)o=e,l=e,r=e;else{var c=e<.5?e*(1+t):e+t-e*t,s=2*e-c;r=i(s,c,n+1/3),o=i(s,c,n),l=i(s,c,n-1/3)}return{r:255*r,g:255*o,b:255*l}}function c(n,t,e){n=(0,a.sh)(n,255),t=(0,a.sh)(t,255),e=(0,a.sh)(e,255);var r=Math.max(n,t,e),o=Math.min(n,t,e),i=0,l=r,c=r-o,s=0===r?0:c/r;if(r===o)i=0;else{switch(r){case n:i=(t-e)/c+(t>16,g:(65280&n)>>8,b:255&n}}},8701:(n,t,e)=>{"use strict";e.d(t,{R:()=>a});var a={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},1350:(n,t,e)=>{"use strict";e.d(t,{uA:()=>i});var a=e(6500),r=e(8701),o=e(279);function i(n){var t={r:0,g:0,b:0},e=1,i=null,l=null,c=null,s=!1,p=!1;return"string"==typeof n&&(n=function(n){if(0===(n=n.trim().toLowerCase()).length)return!1;var t=!1;if(r.R[n])n=r.R[n],t=!0;else if("transparent"===n)return{r:0,g:0,b:0,a:0,format:"name"};var e=u.rgb.exec(n);return e?{r:e[1],g:e[2],b:e[3]}:(e=u.rgba.exec(n))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=u.hsl.exec(n))?{h:e[1],s:e[2],l:e[3]}:(e=u.hsla.exec(n))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=u.hsv.exec(n))?{h:e[1],s:e[2],v:e[3]}:(e=u.hsva.exec(n))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=u.hex8.exec(n))?{r:(0,a.VD)(e[1]),g:(0,a.VD)(e[2]),b:(0,a.VD)(e[3]),a:(0,a.T6)(e[4]),format:t?"name":"hex8"}:(e=u.hex6.exec(n))?{r:(0,a.VD)(e[1]),g:(0,a.VD)(e[2]),b:(0,a.VD)(e[3]),format:t?"name":"hex"}:(e=u.hex4.exec(n))?{r:(0,a.VD)(e[1]+e[1]),g:(0,a.VD)(e[2]+e[2]),b:(0,a.VD)(e[3]+e[3]),a:(0,a.T6)(e[4]+e[4]),format:t?"name":"hex8"}:!!(e=u.hex3.exec(n))&&{r:(0,a.VD)(e[1]+e[1]),g:(0,a.VD)(e[2]+e[2]),b:(0,a.VD)(e[3]+e[3]),format:t?"name":"hex"}}(n)),"object"==typeof n&&(d(n.r)&&d(n.g)&&d(n.b)?(t=(0,a.rW)(n.r,n.g,n.b),s=!0,p="%"===String(n.r).substr(-1)?"prgb":"rgb"):d(n.h)&&d(n.s)&&d(n.v)?(i=(0,o.JX)(n.s),l=(0,o.JX)(n.v),t=(0,a.WE)(n.h,i,l),s=!0,p="hsv"):d(n.h)&&d(n.s)&&d(n.l)&&(i=(0,o.JX)(n.s),c=(0,o.JX)(n.l),t=(0,a.ve)(n.h,i,c),s=!0,p="hsl"),Object.prototype.hasOwnProperty.call(n,"a")&&(e=n.a)),e=(0,o.Yq)(e),{ok:s,format:n.format||p,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:e}}var l="(?:".concat("[-\\+]?\\d*\\.\\d+%?",")|(?:").concat("[-\\+]?\\d+%?",")"),c="[\\s|\\(]+(".concat(l,")[,|\\s]+(").concat(l,")[,|\\s]+(").concat(l,")\\s*\\)?"),s="[\\s|\\(]+(".concat(l,")[,|\\s]+(").concat(l,")[,|\\s]+(").concat(l,")[,|\\s]+(").concat(l,")\\s*\\)?"),u={CSS_UNIT:new RegExp(l),rgb:new RegExp("rgb"+c),rgba:new RegExp("rgba"+s),hsl:new RegExp("hsl"+c),hsla:new RegExp("hsla"+s),hsv:new RegExp("hsv"+c),hsva:new RegExp("hsva"+s),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function d(n){return Boolean(u.CSS_UNIT.exec(String(n)))}},279:(n,t,e)=>{"use strict";function a(n,t){(function(n){return"string"==typeof n&&-1!==n.indexOf(".")&&1===parseFloat(n)})(n)&&(n="100%");var e=function(n){return"string"==typeof n&&-1!==n.indexOf("%")}(n);return n=360===t?n:Math.min(t,Math.max(0,parseFloat(n))),e&&(n=parseInt(String(n*t),10)/100),Math.abs(n-t)<1e-6?1:n=360===t?(n<0?n%t+t:n%t)/parseFloat(String(t)):n%t/parseFloat(String(t))}function r(n){return Math.min(1,Math.max(0,n))}function o(n){return n=parseFloat(n),(isNaN(n)||n<0||n>1)&&(n=1),n}function i(n){return n<=1?"".concat(100*Number(n),"%"):n}function l(n){return 1===n.length?"0"+n:String(n)}e.d(t,{FZ:()=>l,JX:()=>i,V2:()=>r,Yq:()=>o,sh:()=>a})},3603:(n,t,e)=>{"use strict";e.d(t,{ZP:()=>s,mL:()=>c,q0:()=>l});var a=function(){return{height:0,opacity:0}},r=function(n){return{height:n.scrollHeight,opacity:1}},o=function(n,t){return!0===(null==t?void 0:t.deadline)||"height"===t.propertyName},i={motionName:"ant-motion-collapse",onAppearStart:a,onEnterStart:a,onAppearActive:r,onEnterActive:r,onLeaveStart:function(n){return{height:n?n.offsetHeight:0}},onLeaveActive:a,onAppearEnd:o,onEnterEnd:o,onLeaveEnd:o,motionDeadline:500},l=((0,e(3355).b)("bottomLeft","bottomRight","topLeft","topRight"),function(n){return void 0===n||"topLeft"!==n&&"topRight"!==n?"slide-up":"slide-down"}),c=function(n,t,e){return void 0!==e?e:"".concat(n,"-").concat(t)};const s=i},636:(n,t,e)=>{"use strict";e.d(t,{Z:()=>s});var a=e(7462),r=e(3159),o={adjustX:1,adjustY:1},i={adjustX:0,adjustY:0},l=[0,0];function c(n){return"boolean"==typeof n?n?o:i:(0,a.Z)((0,a.Z)({},i),n)}function s(n){var t=n.arrowWidth,e=void 0===t?4:t,o=n.horizontalArrowShift,i=void 0===o?16:o,s=n.verticalArrowShift,u=void 0===s?8:s,d=n.autoAdjustOverflow,p=n.arrowPointAtCenter,f={left:{points:["cr","cl"],offset:[-4,0]},right:{points:["cl","cr"],offset:[4,0]},top:{points:["bc","tc"],offset:[0,-4]},bottom:{points:["tc","bc"],offset:[0,4]},topLeft:{points:["bl","tc"],offset:[-(i+e),-4]},leftTop:{points:["tr","cl"],offset:[-4,-(u+e)]},topRight:{points:["br","tc"],offset:[i+e,-4]},rightTop:{points:["tl","cr"],offset:[4,-(u+e)]},bottomRight:{points:["tr","bc"],offset:[i+e,4]},rightBottom:{points:["bl","cr"],offset:[4,u+e]},bottomLeft:{points:["tl","bc"],offset:[-(i+e),4]},leftBottom:{points:["br","cl"],offset:[-4,u+e]}};return Object.keys(f).forEach((function(n){f[n]=p?(0,a.Z)((0,a.Z)({},f[n]),{overflow:c(d),targetOffset:l}):(0,a.Z)((0,a.Z)({},r.C[n]),{overflow:c(d)}),f[n].ignoreShake=!0})),f}},6159:(n,t,e)=>{"use strict";e.d(t,{M2:()=>o,Tm:()=>i,l$:()=>r});var a=e(7294),r=a.isValidElement;function o(n){return n&&r(n)&&n.type===a.Fragment}function i(n,t){return function(n,t,e){return r(n)?a.cloneElement(n,"function"==typeof e?e(n.props||{}):e):t}(n,n,t)}},9708:(n,t,e)=>{"use strict";e.d(t,{F:()=>l,Z:()=>i});var a=e(4942),r=e(3967),o=e.n(r);function i(n,t,e){var r;return o()((r={},(0,a.Z)(r,"".concat(n,"-status-success"),"success"===t),(0,a.Z)(r,"".concat(n,"-status-warning"),"warning"===t),(0,a.Z)(r,"".concat(n,"-status-error"),"error"===t),(0,a.Z)(r,"".concat(n,"-status-validating"),"validating"===t),(0,a.Z)(r,"".concat(n,"-has-feedback"),e),r))}(0,e(3355).b)("warning","error","");var l=function(n,t){return t||n}},1808:(n,t,e)=>{"use strict";e.d(t,{fk:()=>i,jD:()=>o});var a,r=e(8924),o=function(){return(0,r.Z)()&&window.document.documentElement},i=function(){if(!o())return!1;if(void 0!==a)return a;var n=document.createElement("div");return n.style.display="flex",n.style.flexDirection="column",n.style.rowGap="1px",n.appendChild(document.createElement("div")),n.appendChild(document.createElement("div")),document.body.appendChild(n),a=1===n.scrollHeight,document.body.removeChild(n),a}},3355:(n,t,e)=>{"use strict";e.d(t,{a:()=>r,b:()=>a});var a=function(){for(var n=arguments.length,t=new Array(n),e=0;e{"use strict";e.d(t,{Z:()=>y});var a=e(5671),r=e(3144),o=e(7326),i=e(9340),l=e(8557),c=e(4958),s=e(2550),u=e(7294),d=e(3124),p=e(5164),f=0,m={};function g(n){var t=f++,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return m[t]=(0,p.Z)((function a(){(e-=1)<=0?(n(),delete m[t]):m[t]=(0,p.Z)(a)})),t}g.cancel=function(n){void 0!==n&&(p.Z.cancel(m[n]),delete m[n])},g.ids=m;var b,h=e(6159);function v(n){return!n||null===n.offsetParent||n.hidden}var x=function(n){(0,i.Z)(e,n);var t=(0,l.Z)(e);function e(){var n;return(0,a.Z)(this,e),(n=t.apply(this,arguments)).containerRef=u.createRef(),n.animationStart=!1,n.destroyed=!1,n.onClick=function(t,e){var a,r,i=n.props,l=i.insertExtraNode;if(!i.disabled&&t&&!v(t)&&!t.className.includes("-leave")){n.extraNode=document.createElement("div");var s=(0,o.Z)(n).extraNode,u=n.context.getPrefixCls;s.className="".concat(u(""),"-click-animating-node");var d,p=n.getAttributeName();if(t.setAttribute(p,"true"),e&&"#fff"!==e&&"#ffffff"!==e&&"rgb(255, 255, 255)"!==e&&"rgba(255, 255, 255, 1)"!==e&&!((d=(e||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/))&&d[1]&&d[2]&&d[3]&&d[1]===d[2]&&d[2]===d[3])&&!/rgba\((?:\d*, ){3}0\)/.test(e)&&"transparent"!==e){s.style.borderColor=e;var f=(null===(a=t.getRootNode)||void 0===a?void 0:a.call(t))||t.ownerDocument,m=null!==(r=function(n){return n instanceof Document?n.body:Array.from(n.childNodes).find((function(n){return(null==n?void 0:n.nodeType)===Node.ELEMENT_NODE}))}(f))&&void 0!==r?r:f;b=(0,c.hq)("\n [".concat(u(""),"-click-animating-without-extra-node='true']::after, .").concat(u(""),"-click-animating-node {\n --antd-wave-shadow-color: ").concat(e,";\n }"),"antd-wave",{csp:n.csp,attachTo:m})}l&&t.appendChild(s),["transition","animation"].forEach((function(e){t.addEventListener("".concat(e,"start"),n.onTransitionStart),t.addEventListener("".concat(e,"end"),n.onTransitionEnd)}))}},n.onTransitionStart=function(t){if(!n.destroyed){var e=n.containerRef.current;t&&t.target===e&&!n.animationStart&&n.resetEffect(e)}},n.onTransitionEnd=function(t){t&&"fadeEffect"===t.animationName&&n.resetEffect(t.target)},n.bindAnimationEvent=function(t){if(t&&t.getAttribute&&!t.getAttribute("disabled")&&!t.className.includes("disabled")){var e=function(e){if("INPUT"!==e.target.tagName&&!v(e.target)){n.resetEffect(t);var a=getComputedStyle(t).getPropertyValue("border-top-color")||getComputedStyle(t).getPropertyValue("border-color")||getComputedStyle(t).getPropertyValue("background-color");n.clickWaveTimeoutId=window.setTimeout((function(){return n.onClick(t,a)}),0),g.cancel(n.animationStartId),n.animationStart=!0,n.animationStartId=g((function(){n.animationStart=!1}),10)}};return t.addEventListener("click",e,!0),{cancel:function(){t.removeEventListener("click",e,!0)}}}},n.renderWave=function(t){var e=t.csp,a=n.props.children;if(n.csp=e,!u.isValidElement(a))return a;var r=n.containerRef;return(0,s.Yr)(a)&&(r=(0,s.sQ)(a.ref,n.containerRef)),(0,h.Tm)(a,{ref:r})},n}return(0,r.Z)(e,[{key:"componentDidMount",value:function(){this.destroyed=!1;var n=this.containerRef.current;n&&1===n.nodeType&&(this.instance=this.bindAnimationEvent(n))}},{key:"componentWillUnmount",value:function(){this.instance&&this.instance.cancel(),this.clickWaveTimeoutId&&clearTimeout(this.clickWaveTimeoutId),this.destroyed=!0}},{key:"getAttributeName",value:function(){var n=this.context.getPrefixCls,t=this.props.insertExtraNode;return"".concat(n(""),t?"-click-animating":"-click-animating-without-extra-node")}},{key:"resetEffect",value:function(n){var t=this;if(n&&n!==this.extraNode&&n instanceof Element){var e=this.props.insertExtraNode,a=this.getAttributeName();n.setAttribute(a,"false"),b&&(b.innerHTML=""),e&&this.extraNode&&n.contains(this.extraNode)&&n.removeChild(this.extraNode),["transition","animation"].forEach((function(e){n.removeEventListener("".concat(e,"start"),t.onTransitionStart),n.removeEventListener("".concat(e,"end"),t.onTransitionEnd)}))}}},{key:"render",value:function(){return u.createElement(d.C,null,this.renderWave)}}]),e}(u.Component);x.contextType=d.E_;const y=x},3839:(n,t,e)=>{"use strict";e.d(t,{n:()=>N,Z:()=>O});var a=e(7462),r=e(4942),o=e(9439),i=e(1002),l=e(3967),c=e.n(l),s=e(8423),u=e(7294),d=e(3124),p=e(8866),f=e(7647),m=e(4173),g=e(6159),b=e(3355),h=e(1790),v=u.createContext(void 0);var x=e(7085),y=e(5995),w=function(){return{width:0,opacity:0,transform:"scale(0)"}},k=function(n){return{width:n.scrollWidth,opacity:1,transform:"scale(1)"}};const E=function(n){var t=n.prefixCls,e=!!n.loading;return n.existIcon?u.createElement("span",{className:"".concat(t,"-loading-icon")},u.createElement(x.Z,null)):u.createElement(y.ZP,{visible:e,motionName:"".concat(t,"-loading-icon-motion"),removeOnLeave:!0,onAppearStart:w,onAppearActive:k,onEnterStart:w,onEnterActive:k,onLeaveStart:k,onLeaveActive:w},(function(n,e){var a=n.className,r=n.style;return u.createElement("span",{className:"".concat(t,"-loading-icon"),style:r,ref:e},u.createElement(x.Z,{className:a}))}))};var C=/^[\u4e00-\u9fa5]{2}$/,Z=C.test.bind(C);function S(n){return"text"===n||"link"===n}function N(n){return"danger"===n?{danger:!0}:{type:n}}(0,b.b)("default","primary","ghost","dashed","link","text"),(0,b.b)("default","circle","round"),(0,b.b)("submit","button","reset");var z=function(n,t){var e,l=n.loading,b=void 0!==l&&l,x=n.prefixCls,y=n.type,w=void 0===y?"default":y,k=n.danger,C=n.shape,N=void 0===C?"default":C,z=n.size,P=n.disabled,O=n.className,M=n.children,R=n.icon,T=n.ghost,I=void 0!==T&&T,_=n.block,L=void 0!==_&&_,A=n.htmlType,D=void 0===A?"button":A,j=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r{"use strict";e.d(t,{Z:()=>a});const a=e(3839).Z},1133:(n,t,e)=>{"use strict";e.d(t,{Z:()=>kn});var a=e(4942),r=e(7462),o=e(3967),i=e.n(o),l=e(8423),c=e(7294),s=e(3124),u=e(7647),d=e(1002);const p=function(n){var t,e,o=n.prefixCls,l=n.className,s=n.style,u=n.size,d=n.shape,p=i()((t={},(0,a.Z)(t,"".concat(o,"-lg"),"large"===u),(0,a.Z)(t,"".concat(o,"-sm"),"small"===u),t)),f=i()((e={},(0,a.Z)(e,"".concat(o,"-circle"),"circle"===d),(0,a.Z)(e,"".concat(o,"-square"),"square"===d),(0,a.Z)(e,"".concat(o,"-round"),"round"===d),e)),m=c.useMemo((function(){return"number"==typeof u?{width:u,height:u,lineHeight:"".concat(u,"px")}:{}}),[u]);return c.createElement("span",{className:i()(o,p,f,l),style:(0,r.Z)((0,r.Z)({},m),s)})};var f=e(1413);const m={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"dot-chart",theme:"outlined"};var g=e(76),b=function(n,t){return c.createElement(g.Z,(0,f.Z)((0,f.Z)({},n),{},{ref:t,icon:m}))};const h=c.forwardRef(b);var v=e(3433);const x=function(n){var t=function(t){var e=n.width,a=n.rows,r=void 0===a?2:a;return Array.isArray(e)?e[t]:r-1===t?e:void 0},e=n.prefixCls,a=n.className,r=n.style,o=n.rows,l=(0,v.Z)(Array(o)).map((function(n,e){return c.createElement("li",{key:e,style:{width:t(e)}})}));return c.createElement("ul",{className:i()(e,a),style:r},l)},y=function(n){var t=n.prefixCls,e=n.className,a=n.width,o=n.style;return c.createElement("h3",{className:i()(t,e),style:(0,r.Z)({width:a},o)})};function w(n){return n&&"object"===(0,d.Z)(n)?n:{}}var k=function(n){var t=n.prefixCls,e=n.loading,o=n.className,l=n.style,u=n.children,d=n.avatar,f=void 0!==d&&d,m=n.title,g=void 0===m||m,b=n.paragraph,h=void 0===b||b,v=n.active,k=n.round,E=c.useContext(s.E_),C=E.getPrefixCls,Z=E.direction,S=C("skeleton",t);if(e||!("loading"in n)){var N,z,P,O=!!f,M=!!g,R=!!h;if(O){var T=(0,r.Z)((0,r.Z)({prefixCls:"".concat(S,"-avatar")},function(n,t){return n&&!t?{size:"large",shape:"square"}:{size:"large",shape:"circle"}}(M,R)),w(f));z=c.createElement("div",{className:"".concat(S,"-header")},c.createElement(p,(0,r.Z)({},T)))}if(M||R){var I,_;if(M){var L=(0,r.Z)((0,r.Z)({prefixCls:"".concat(S,"-title")},function(n,t){return!n&&t?{width:"38%"}:n&&t?{width:"50%"}:{}}(O,R)),w(g));I=c.createElement(y,(0,r.Z)({},L))}if(R){var A=(0,r.Z)((0,r.Z)({prefixCls:"".concat(S,"-paragraph")},function(n,t){var e={};return n&&t||(e.width="61%"),e.rows=!n&&t?3:2,e}(O,M)),w(h));_=c.createElement(x,(0,r.Z)({},A))}P=c.createElement("div",{className:"".concat(S,"-content")},I,_)}var D=i()(S,(N={},(0,a.Z)(N,"".concat(S,"-with-avatar"),O),(0,a.Z)(N,"".concat(S,"-active"),v),(0,a.Z)(N,"".concat(S,"-rtl"),"rtl"===Z),(0,a.Z)(N,"".concat(S,"-round"),k),N),o);return c.createElement("div",{className:D,style:l},z,P)}return void 0!==u?u:null};k.Button=function(n){var t,e=n.prefixCls,o=n.className,u=n.active,d=n.block,f=void 0!==d&&d,m=n.size,g=void 0===m?"default":m,b=(0,c.useContext(s.E_).getPrefixCls)("skeleton",e),h=(0,l.Z)(n,["prefixCls"]),v=i()(b,"".concat(b,"-element"),(t={},(0,a.Z)(t,"".concat(b,"-active"),u),(0,a.Z)(t,"".concat(b,"-block"),f),t),o);return c.createElement("div",{className:v},c.createElement(p,(0,r.Z)({prefixCls:"".concat(b,"-button"),size:g},h)))},k.Avatar=function(n){var t=n.prefixCls,e=n.className,o=n.active,u=n.shape,d=void 0===u?"circle":u,f=n.size,m=void 0===f?"default":f,g=(0,c.useContext(s.E_).getPrefixCls)("skeleton",t),b=(0,l.Z)(n,["prefixCls","className"]),h=i()(g,"".concat(g,"-element"),(0,a.Z)({},"".concat(g,"-active"),o),e);return c.createElement("div",{className:h},c.createElement(p,(0,r.Z)({prefixCls:"".concat(g,"-avatar"),shape:d,size:m},b)))},k.Input=function(n){var t,e=n.prefixCls,o=n.className,u=n.active,d=n.block,f=n.size,m=void 0===f?"default":f,g=(0,c.useContext(s.E_).getPrefixCls)("skeleton",e),b=(0,l.Z)(n,["prefixCls"]),h=i()(g,"".concat(g,"-element"),(t={},(0,a.Z)(t,"".concat(g,"-active"),u),(0,a.Z)(t,"".concat(g,"-block"),d),t),o);return c.createElement("div",{className:h},c.createElement(p,(0,r.Z)({prefixCls:"".concat(g,"-input"),size:m},b)))},k.Image=function(n){var t=n.prefixCls,e=n.className,r=n.style,o=n.active,l=(0,c.useContext(s.E_).getPrefixCls)("skeleton",t),u=i()(l,"".concat(l,"-element"),(0,a.Z)({},"".concat(l,"-active"),o),e);return c.createElement("div",{className:u},c.createElement("div",{className:i()("".concat(l,"-image"),e),style:r},c.createElement("svg",{viewBox:"0 0 1098 1024",xmlns:"http://www.w3.org/2000/svg",className:"".concat(l,"-image-svg")},c.createElement("path",{d:"M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z",className:"".concat(l,"-image-path")}))))},k.Node=function(n){var t=n.prefixCls,e=n.className,r=n.style,o=n.active,l=n.children,u=(0,c.useContext(s.E_).getPrefixCls)("skeleton",t),d=i()(u,"".concat(u,"-element"),(0,a.Z)({},"".concat(u,"-active"),o),e),p=null!=l?l:c.createElement(h,null);return c.createElement("div",{className:d},c.createElement("div",{className:i()("".concat(u,"-image"),e),style:r},p))};const E=k;var C=e(4549),Z=e(4545),S=e(9101),N=e(9439),z=e(4925),P=e(1131),O=e(1770),M=e(5995);const R=(0,c.createContext)(null),T=c.forwardRef((function(n,t){var e=n.prefixCls,a=n.className,r=n.style,o=n.id,l=n.active,s=n.tabKey,u=n.children;return c.createElement("div",{id:o&&"".concat(o,"-panel-").concat(s),role:"tabpanel",tabIndex:l?0:-1,"aria-labelledby":o&&"".concat(o,"-tab-").concat(s),"aria-hidden":!l,style:r,className:i()(e,l&&"".concat(e,"-active"),a),ref:t},u)}));var I=["key","forceRender","style","className"];function _(n){var t=n.id,e=n.activeKey,o=n.animated,l=n.tabPosition,s=n.destroyInactiveTabPane,u=c.useContext(R),d=u.prefixCls,p=u.tabs,m=o.tabPane,g="".concat(d,"-tabpane");return c.createElement("div",{className:i()("".concat(d,"-content-holder"))},c.createElement("div",{className:i()("".concat(d,"-content"),"".concat(d,"-content-").concat(l),(0,a.Z)({},"".concat(d,"-content-animated"),m))},p.map((function(n){var a=n.key,l=n.forceRender,u=n.style,d=n.className,p=(0,z.Z)(n,I),b=a===e;return c.createElement(M.ZP,(0,r.Z)({key:a,visible:b,forceRender:l,removeOnLeave:!!s,leavedClassName:"".concat(g,"-hidden")},o.tabPaneMotion),(function(n,e){var o=n.style,l=n.className;return c.createElement(T,(0,r.Z)({},p,{prefixCls:g,id:t,tabKey:a,animated:m,active:b,style:(0,f.Z)((0,f.Z)({},u),o),className:i()(d,l),ref:e}))}))}))))}var L=e(8717),A=e(6680),D=e(5164),j=e(2550),F={width:0,height:0,left:0,top:0};function K(n,t){var e=c.useRef(n),a=c.useState({}),r=(0,N.Z)(a,2)[1];return[e.current,function(n){var a="function"==typeof n?n(e.current):n;a!==e.current&&t(a,e.current),e.current=a,r({})}]}var V=Math.pow(.995,20),H=e(8410);function B(n){var t=(0,c.useState)(0),e=(0,N.Z)(t,2),a=e[0],r=e[1],o=(0,c.useRef)(0),i=(0,c.useRef)();return i.current=n,(0,H.o)((function(){var n;null===(n=i.current)||void 0===n||n.call(i)}),[a]),function(){o.current===a&&(o.current+=1,r(o.current))}}var U={width:0,height:0,left:0,top:0,right:0};function W(n){var t;return n instanceof Map?(t={},n.forEach((function(n,e){t[e]=n}))):t=n,JSON.stringify(t)}function q(n){return String(n).replace(/"/g,"TABS_DQ")}function $(n,t){var e=n.prefixCls,a=n.editable,r=n.locale,o=n.style;return a&&!1!==a.showAdd?c.createElement("button",{ref:t,type:"button",className:"".concat(e,"-nav-add"),style:o,"aria-label":(null==r?void 0:r.addAriaLabel)||"Add tab",onClick:function(n){a.onEdit("add",{event:n})}},a.addIcon||"+"):null}const Y=c.forwardRef($),X=c.forwardRef((function(n,t){var e,a=n.position,r=n.prefixCls,o=n.extra;if(!o)return null;var i={};return"object"!==(0,d.Z)(o)||c.isValidElement(o)?i.right=o:i=o,"right"===a&&(e=i.right),"left"===a&&(e=i.left),e?c.createElement("div",{className:"".concat(r,"-extra-content"),ref:t},e):null}));var G=e(6753),Q=e(4423),J=e(5105);function nn(n,t){var e=n.prefixCls,r=n.id,o=n.tabs,l=n.locale,s=n.mobile,u=n.moreIcon,d=void 0===u?"More":u,p=n.moreTransitionName,f=n.style,m=n.className,g=n.editable,b=n.tabBarGutter,h=n.rtl,v=n.removeAriaLabel,x=n.onTabClick,y=n.getPopupContainer,w=n.popupClassName,k=(0,c.useState)(!1),E=(0,N.Z)(k,2),C=E[0],Z=E[1],S=(0,c.useState)(null),z=(0,N.Z)(S,2),P=z[0],O=z[1],M="".concat(r,"-more-popup"),R="".concat(e,"-dropdown"),T=null!==P?"".concat(M,"-").concat(P):null,I=null==l?void 0:l.dropdownAriaLabel,_=c.createElement(Q.ZP,{onClick:function(n){var t=n.key,e=n.domEvent;x(t,e),Z(!1)},prefixCls:"".concat(R,"-menu"),id:M,tabIndex:-1,role:"listbox","aria-activedescendant":T,selectedKeys:[P],"aria-label":void 0!==I?I:"expanded dropdown"},o.map((function(n){var t=g&&!1!==n.closable&&!n.disabled;return c.createElement(Q.sN,{key:n.key,id:"".concat(M,"-").concat(n.key),role:"option","aria-controls":r&&"".concat(r,"-panel-").concat(n.key),disabled:n.disabled},c.createElement("span",null,n.label),t&&c.createElement("button",{type:"button","aria-label":v||"remove",tabIndex:0,className:"".concat(R,"-menu-item-remove"),onClick:function(t){var e,a;t.stopPropagation(),e=t,a=n.key,e.preventDefault(),e.stopPropagation(),g.onEdit("remove",{key:a,event:e})}},n.closeIcon||g.removeIcon||"×"))})));function L(n){for(var t=o.filter((function(n){return!n.disabled})),e=t.findIndex((function(n){return n.key===P}))||0,a=t.length,r=0;rt?"left":"right"})})),$=(0,N.Z)(H,2),G=$[0],Q=$[1],J=K(0,(function(n,t){!_&&Z&&Z({direction:n>t?"top":"bottom"})})),nn=(0,N.Z)(J,2),on=nn[0],ln=nn[1],cn=(0,c.useState)([0,0]),sn=(0,N.Z)(cn,2),un=sn[0],dn=sn[1],pn=(0,c.useState)([0,0]),fn=(0,N.Z)(pn,2),mn=fn[0],gn=fn[1],bn=(0,c.useState)([0,0]),hn=(0,N.Z)(bn,2),vn=hn[0],xn=hn[1],yn=(0,c.useState)([0,0]),wn=(0,N.Z)(yn,2),kn=wn[0],En=wn[1],Cn=function(n){var t=(0,c.useRef)([]),e=(0,c.useState)({}),a=(0,N.Z)(e,2)[1],r=(0,c.useRef)("function"==typeof n?n():n),o=B((function(){var n=r.current;t.current.forEach((function(t){n=t(n)})),t.current=[],r.current=n,a({})}));return[r.current,function(n){t.current.push(n),o()}]}(new Map),Zn=(0,N.Z)(Cn,2),Sn=Zn[0],Nn=Zn[1],zn=function(n,t,e){return(0,c.useMemo)((function(){for(var e,a=new Map,r=t.get(null===(e=n[0])||void 0===e?void 0:e.key)||F,o=r.left+r.width,i=0;iAn?An:n}_&&b?(Ln=0,An=Math.max(0,On-In)):(Ln=Math.min(0,In-On),An=0);var jn=(0,c.useRef)(),Fn=(0,c.useState)(),Kn=(0,N.Z)(Fn,2),Vn=Kn[0],Hn=Kn[1];function Bn(){Hn(Date.now())}function Un(){window.clearTimeout(jn.current)}!function(n,t){var e=(0,c.useState)(),a=(0,N.Z)(e,2),r=a[0],o=a[1],i=(0,c.useState)(0),l=(0,N.Z)(i,2),s=l[0],u=l[1],d=(0,c.useState)(0),p=(0,N.Z)(d,2),f=p[0],m=p[1],g=(0,c.useState)(),b=(0,N.Z)(g,2),h=b[0],v=b[1],x=(0,c.useRef)(),y=(0,c.useRef)(),w=(0,c.useRef)(null);w.current={onTouchStart:function(n){var t=n.touches[0],e=t.screenX,a=t.screenY;o({x:e,y:a}),window.clearInterval(x.current)},onTouchMove:function(n){if(r){n.preventDefault();var e=n.touches[0],a=e.screenX,i=e.screenY;o({x:a,y:i});var l=a-r.x,c=i-r.y;t(l,c);var d=Date.now();u(d),m(d-s),v({x:l,y:c})}},onTouchEnd:function(){if(r&&(o(null),v(null),h)){var n=h.x/f,e=h.y/f,a=Math.abs(n),i=Math.abs(e);if(Math.max(a,i)<.1)return;var l=n,c=e;x.current=window.setInterval((function(){Math.abs(l)<.01&&Math.abs(c)<.01?window.clearInterval(x.current):t(20*(l*=V),20*(c*=V))}),20)}},onWheel:function(n){var e=n.deltaX,a=n.deltaY,r=0,o=Math.abs(e),i=Math.abs(a);o===i?r="x"===y.current?e:a:o>i?(r=e,y.current="x"):(r=a,y.current="y"),t(-r,-r)&&n.preventDefault()}},c.useEffect((function(){function t(n){w.current.onTouchMove(n)}function e(n){w.current.onTouchEnd(n)}return document.addEventListener("touchmove",t,{passive:!1}),document.addEventListener("touchend",e,{passive:!1}),n.current.addEventListener("touchstart",(function(n){w.current.onTouchStart(n)}),{passive:!1}),n.current.addEventListener("wheel",(function(n){w.current.onWheel(n)})),function(){document.removeEventListener("touchmove",t),document.removeEventListener("touchend",e)}}),[])}(O,(function(n,t){function e(n,t){n((function(n){return Dn(n+t)}))}return!!Tn&&(_?e(Q,n):e(ln,t),Un(),Bn(),!0)})),(0,c.useEffect)((function(){return Un(),Vn&&(jn.current=window.setTimeout((function(){Hn(0)}),100)),Un}),[Vn]);var Wn=function(n,t,e,a,r,o,i){var l,s,u,d=i.tabs,p=i.tabPosition,f=i.rtl;return["top","bottom"].includes(p)?(l="width",s=f?"right":"left",u=Math.abs(e)):(l="height",s="top",u=-e),(0,c.useMemo)((function(){if(!d.length)return[0,0];for(var e=d.length,a=e,r=0;ru+t){a=r-1;break}}for(var i=0,c=e-1;c>=0;c-=1)if((n.get(d[c].key)||U)[s]0&&void 0!==arguments[0]?arguments[0]:g,t=zn.get(n)||{width:0,height:0,left:0,right:0,top:0};if(_){var e=G;b?t.rightG+In&&(e=t.right+t.width-In):t.left<-G?e=-t.left:t.left+t.width>-G+In&&(e=-(t.left+t.width-In)),ln(0),Q(Dn(e))}else{var a=on;t.top<-on?a=-t.top:t.top+t.height>-on+In&&(a=-(t.top+t.height-In)),Q(0),ln(Dn(a))}})),Gn={};"top"===w||"bottom"===w?Gn[b?"marginRight":"marginLeft"]=k:Gn.marginTop=k;var Qn=s.map((function(n,t){var e=n.key;return c.createElement(en,{id:p,prefixCls:l,key:e,tab:n,style:0===t?void 0:Gn,closable:n.closable,editable:x,active:e===g,renderWrapper:E,removeAriaLabel:null==y?void 0:y.removeAriaLabel,onClick:function(n){C(e,n)},onFocus:function(){Xn(e),Bn(),O.current&&(b||(O.current.scrollLeft=0),O.current.scrollTop=0)}})})),Jn=function(){return Nn((function(){var n=new Map;return s.forEach((function(t){var e,a=t.key,r=null===(e=M.current)||void 0===e?void 0:e.querySelector('[data-node-key="'.concat(q(a),'"]'));r&&n.set(a,{width:r.offsetWidth,height:r.offsetHeight,left:r.offsetLeft,top:r.offsetTop})})),n}))};(0,c.useEffect)((function(){Jn()}),[s.map((function(n){return n.key})).join("_")]);var nt=B((function(){var n=an(S),t=an(z),e=an(P);dn([n[0]-t[0]-e[0],n[1]-t[1]-e[1]]);var a=an(I);xn(a);var r=an(T);En(r);var o=an(M);gn([o[0]-a[0],o[1]-a[1]]),Jn()})),tt=s.slice(0,$n),et=s.slice(Yn+1),at=[].concat((0,v.Z)(tt),(0,v.Z)(et)),rt=(0,c.useState)(),ot=(0,N.Z)(rt,2),it=ot[0],lt=ot[1],ct=zn.get(g),st=(0,c.useRef)();function ut(){D.Z.cancel(st.current)}(0,c.useEffect)((function(){var n={};return ct&&(_?(b?n.right=ct.right:n.left=ct.left,n.width=ct.width):(n.top=ct.top,n.height=ct.height)),ut(),st.current=(0,D.Z)((function(){lt(n)})),ut}),[ct,_,b]),(0,c.useEffect)((function(){Xn()}),[g,Ln,An,W(ct),W(zn),_]),(0,c.useEffect)((function(){nt()}),[b]);var dt,pt,ft,mt,gt=!!at.length,bt="".concat(l,"-nav-wrap");return _?b?(pt=G>0,dt=G!==An):(dt=G<0,pt=G!==Ln):(ft=on<0,mt=on!==Ln),c.createElement(L.Z,{onResize:nt},c.createElement("div",{ref:(0,j.x1)(t,S),role:"tablist",className:i()("".concat(l,"-nav"),u),style:d,onKeyDown:function(){Bn()}},c.createElement(X,{ref:z,position:"left",extra:h,prefixCls:l}),c.createElement("div",{className:i()(bt,(e={},(0,a.Z)(e,"".concat(bt,"-ping-left"),dt),(0,a.Z)(e,"".concat(bt,"-ping-right"),pt),(0,a.Z)(e,"".concat(bt,"-ping-top"),ft),(0,a.Z)(e,"".concat(bt,"-ping-bottom"),mt),e)),ref:O},c.createElement(L.Z,{onResize:nt},c.createElement("div",{ref:M,className:"".concat(l,"-nav-list"),style:{transform:"translate(".concat(G,"px, ").concat(on,"px)"),transition:Vn?"none":void 0}},Qn,c.createElement(Y,{ref:I,prefixCls:l,locale:y,editable:x,style:(0,f.Z)((0,f.Z)({},0===Qn.length?void 0:Gn),{},{visibility:gt?"hidden":null})}),c.createElement("div",{className:i()("".concat(l,"-ink-bar"),(0,a.Z)({},"".concat(l,"-ink-bar-animated"),m.inkBar)),style:it})))),c.createElement(tn,(0,r.Z)({},n,{removeAriaLabel:null==y?void 0:y.removeAriaLabel,ref:T,prefixCls:l,tabs:at,className:!gt&&_n,tabMoving:!!Vn})),c.createElement(X,{ref:P,position:"right",extra:h,prefixCls:l})))}const ln=c.forwardRef(on);var cn=["renderTabBar"],sn=["label","key"];function un(n){var t=n.renderTabBar,e=(0,z.Z)(n,cn),a=c.useContext(R).tabs;return t?t((0,f.Z)((0,f.Z)({},e),{},{panes:a.map((function(n){var t=n.label,e=n.key,a=(0,z.Z)(n,sn);return c.createElement(T,(0,r.Z)({tab:t,key:e,tabKey:e},a))}))}),ln):c.createElement(ln,e)}e(334);var dn=["id","prefixCls","className","items","direction","activeKey","defaultActiveKey","editable","animated","tabPosition","tabBarGutter","tabBarStyle","tabBarExtraContent","locale","moreIcon","moreTransitionName","destroyInactiveTabPane","renderTabBar","onChange","onTabClick","onTabScroll","getPopupContainer","popupClassName"],pn=0;function fn(n,t){var e,o=n.id,l=n.prefixCls,s=void 0===l?"rc-tabs":l,u=n.className,p=n.items,m=n.direction,g=n.activeKey,b=n.defaultActiveKey,h=n.editable,v=n.animated,x=n.tabPosition,y=void 0===x?"top":x,w=n.tabBarGutter,k=n.tabBarStyle,E=n.tabBarExtraContent,C=n.locale,Z=n.moreIcon,S=n.moreTransitionName,M=n.destroyInactiveTabPane,T=n.renderTabBar,I=n.onChange,L=n.onTabClick,A=n.onTabScroll,D=n.getPopupContainer,j=n.popupClassName,F=(0,z.Z)(n,dn),K=c.useMemo((function(){return(p||[]).filter((function(n){return n&&"object"===(0,d.Z)(n)&&"key"in n}))}),[p]),V="rtl"===m,H=function(){var n,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{inkBar:!0,tabPane:!1};return(n=!1===t?{inkBar:!1,tabPane:!1}:!0===t?{inkBar:!0,tabPane:!1}:(0,f.Z)({inkBar:!0},"object"===(0,d.Z)(t)?t:{})).tabPaneMotion&&void 0===n.tabPane&&(n.tabPane=!0),!n.tabPaneMotion&&n.tabPane&&(n.tabPane=!1),n}(v),B=(0,c.useState)(!1),U=(0,N.Z)(B,2),W=U[0],q=U[1];(0,c.useEffect)((function(){q((0,P.Z)())}),[]);var $=(0,O.Z)((function(){var n;return null===(n=K[0])||void 0===n?void 0:n.key}),{value:g,defaultValue:b}),Y=(0,N.Z)($,2),X=Y[0],G=Y[1],Q=(0,c.useState)((function(){return K.findIndex((function(n){return n.key===X}))})),J=(0,N.Z)(Q,2),nn=J[0],tn=J[1];(0,c.useEffect)((function(){var n,t=K.findIndex((function(n){return n.key===X}));-1===t&&(t=Math.max(0,Math.min(nn,K.length-1)),G(null===(n=K[t])||void 0===n?void 0:n.key)),tn(t)}),[K.map((function(n){return n.key})).join("_"),X,nn]);var en=(0,O.Z)(null,{value:o}),an=(0,N.Z)(en,2),rn=an[0],on=an[1];(0,c.useEffect)((function(){o||(on("rc-tabs-".concat(pn)),pn+=1)}),[]);var ln={id:rn,activeKey:X,animated:H,tabPosition:y,rtl:V,mobile:W},cn=(0,f.Z)((0,f.Z)({},ln),{},{editable:h,locale:C,moreIcon:Z,moreTransitionName:S,tabBarGutter:w,onTabClick:function(n,t){null==L||L(n,t);var e=n!==X;G(n),e&&(null==I||I(n))},onTabScroll:A,extra:E,style:k,panes:null,getPopupContainer:D,popupClassName:j});return c.createElement(R.Provider,{value:{tabs:K,prefixCls:s}},c.createElement("div",(0,r.Z)({ref:t,id:o,className:i()(s,"".concat(s,"-").concat(y),(e={},(0,a.Z)(e,"".concat(s,"-mobile"),W),(0,a.Z)(e,"".concat(s,"-editable"),h),(0,a.Z)(e,"".concat(s,"-rtl"),V),e),u)},F),void 0,c.createElement(un,(0,r.Z)({},cn,{renderTabBar:T})),c.createElement(_,(0,r.Z)({destroyInactiveTabPane:M},ln,{animated:H}))))}const mn=c.forwardRef(fn);var gn=e(3603),bn={motionAppear:!1,motionEnter:!0,motionLeave:!0},hn=e(344);function vn(n){var t,e=n.type,o=n.className,l=n.size,p=n.onEdit,f=n.hideAdd,m=n.centered,g=n.addIcon,b=n.children,h=n.items,v=n.animated,x=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r1&&void 0!==arguments[1]?arguments[1]:{inkBar:!0,tabPane:!1};return(t=!1===e?{inkBar:!1,tabPane:!1}:!0===e?{inkBar:!0,tabPane:!0}:(0,r.Z)({inkBar:!0},"object"===(0,d.Z)(e)?e:{})).tabPane&&(t.tabPaneMotion=(0,r.Z)((0,r.Z)({},bn),{motionName:(0,gn.mL)(n,"switch")})),t}(O,v);return c.createElement(u.Z.Consumer,null,(function(n){var s,u=void 0!==l?l:n;return c.createElement(mn,(0,r.Z)({direction:z,getPopupContainer:P,moreTransitionName:"".concat(M,"-slide-up")},x,{items:R,className:i()((s={},(0,a.Z)(s,"".concat(O,"-").concat(u),u),(0,a.Z)(s,"".concat(O,"-card"),["card","editable-card"].includes(e)),(0,a.Z)(s,"".concat(O,"-editable-card"),"editable-card"===e),(0,a.Z)(s,"".concat(O,"-centered"),m),s),o),editable:t,moreIcon:k,prefixCls:O,animated:T}))}))}vn.TabPane=function(){return null};const xn=vn;const yn=function(n){var t=n.prefixCls,e=n.className,o=n.hoverable,l=void 0===o||o,u=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r{"use strict";e.d(t,{Z:()=>i,n:()=>o});var a=e(7294),r=a.createContext(!1),o=function(n){var t=n.children,e=n.disabled,o=a.useContext(r);return a.createElement(r.Provider,{value:null!=e?e:o},t)};const i=r},7647:(n,t,e)=>{"use strict";e.d(t,{Z:()=>i,q:()=>o});var a=e(7294),r=a.createContext(void 0),o=function(n){var t=n.children,e=n.size;return a.createElement(r.Consumer,null,(function(n){return a.createElement(r.Provider,{value:e||n},t)}))};const i=r},3124:(n,t,e)=>{"use strict";e.d(t,{C:()=>r,E_:()=>a});var a=e(7294).createContext({getPrefixCls:function(n,t){return t||(n?"ant-".concat(n):"ant")}}),r=a.Consumer},8258:(n,t,e)=>{"use strict";e.d(t,{Z:()=>i});var a=e(7294),r=e(3124),o=e(4277);const i=function(n){return a.createElement(r.C,null,(function(t){var e=(0,t.getPrefixCls)("empty");switch(n){case"Table":case"List":return a.createElement(o.Z,{image:o.Z.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return a.createElement(o.Z,{image:o.Z.PRESENTED_IMAGE_SIMPLE,className:"".concat(e,"-small")});default:return a.createElement(o.Z,null)}}))}},4468:(n,t,e)=>{"use strict";e.d(t,{ZP:()=>sn,w6:()=>on});var a=e(7462),r=e(3017),o=e(6982),i=e(7294),l=e(8880);const c=(0,i.createContext)(void 0);var s=e(3008),u=e(7178);const d=function(n){var t=n.locale,e=void 0===t?{}:t,r=n.children;n._ANT_MARK__,i.useEffect((function(){return(0,s.f)(e&&e.Modal),function(){(0,s.f)()}}),[e]);var o=i.useMemo((function(){return(0,a.Z)((0,a.Z)({},e),{exist:!0})}),[e]);return i.createElement(u.Z.Provider,{value:o},r)};var p,f,m,g=e(2051),b=e(5767),h=e(0),v=e(4942),x=e(5873),y=e(3218),w=e(4549),k=e(7119),E=e(8628),C=e(3967),Z=e.n(C),S=e(8287),N=e(9439),z=e(1550),P=e(3124),O={},M=4.5,R=24,T=24,I="",_="topRight",L=!1;function A(n){var t,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:R,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:T;switch(n){case"top":t={left:"50%",transform:"translateX(-50%)",right:"auto",top:e,bottom:"auto"};break;case"topLeft":t={left:0,top:e,bottom:"auto"};break;case"topRight":t={right:0,top:e,bottom:"auto"};break;case"bottom":t={left:"50%",transform:"translateX(-50%)",right:"auto",top:"auto",bottom:a};break;case"bottomLeft":t={left:0,top:"auto",bottom:a};break;default:t={right:0,top:"auto",bottom:a}}return t}function D(n,t){var e=n.placement,a=void 0===e?_:e,r=n.top,o=n.bottom,i=n.getContainer,l=void 0===i?p:i,c=n.prefixCls,s=on(),u=s.getPrefixCls,d=s.getIconPrefixCls,f=u("notification",c||I),g=d(),b="".concat(f,"-").concat(a),h=O[b];if(h)Promise.resolve(h).then((function(n){t({prefixCls:"".concat(f,"-notice"),iconPrefixCls:g,instance:n})}));else{var x=Z()("".concat(f,"-").concat(a),(0,v.Z)({},"".concat(f,"-rtl"),!0===L));O[b]=new Promise((function(n){S.Z.newInstance({prefixCls:f,className:x,style:A(a,r,o),getContainer:l,maxCount:m},(function(e){n(e),t({prefixCls:"".concat(f,"-notice"),iconPrefixCls:g,instance:e})}))}))}}var j={success:x.Z,info:E.Z,error:y.Z,warning:k.Z};function F(n,t,e){var a=n.duration,r=n.icon,o=n.type,l=n.description,c=n.message,s=n.btn,u=n.onClose,d=n.onClick,p=n.key,m=n.style,g=n.className,b=n.closeIcon,h=void 0===b?f:b,x=n.props,y=void 0===a?M:a,k=null;r?k=i.createElement("span",{className:"".concat(t,"-icon")},n.icon):o&&(k=i.createElement(j[o]||null,{className:"".concat(t,"-icon ").concat(t,"-icon-").concat(o)}));var E=void 0===h?i.createElement("span",{className:"".concat(t,"-close-x")},i.createElement(w.Z,{className:"".concat(t,"-close-icon")})):h,C=!l&&k?i.createElement("span",{className:"".concat(t,"-message-single-line-auto-margin")}):null;return{content:i.createElement(sn,{iconPrefixCls:e},i.createElement("div",{className:k?"".concat(t,"-with-icon"):"",role:"alert"},k,i.createElement("div",{className:"".concat(t,"-message")},C,c),i.createElement("div",{className:"".concat(t,"-description")},l),s?i.createElement("span",{className:"".concat(t,"-btn")},s):null)),duration:y,closable:!0,closeIcon:E,onClose:u,onClick:d,key:p,style:m||{},className:Z()(g,(0,v.Z)({},"".concat(t,"-").concat(o),!!o)),props:x}}var K={open:function(n){D(n,(function(t){var e=t.prefixCls,a=t.iconPrefixCls;t.instance.notice(F(n,e,a))}))},close:function(n){Object.keys(O).forEach((function(t){return Promise.resolve(O[t]).then((function(t){t.removeNotice(n)}))}))},config:function(n){var t=n.duration,e=n.placement,a=n.bottom,r=n.top,o=n.getContainer,i=n.closeIcon,l=n.prefixCls;void 0!==l&&(I=l),void 0!==t&&(M=t),void 0!==e?_=e:n.rtl&&(_="topLeft"),void 0!==a&&(T=a),void 0!==r&&(R=r),void 0!==o&&(p=o),void 0!==i&&(f=i),void 0!==n.rtl&&(L=n.rtl),void 0!==n.maxCount&&(m=n.maxCount)},destroy:function(){Object.keys(O).forEach((function(n){Promise.resolve(O[n]).then((function(n){n.destroy()})),delete O[n]}))}};["success","info","warning","error"].forEach((function(n){K[n]=function(t){return K.open((0,a.Z)((0,a.Z)({},t),{type:n}))}})),K.warn=K.warning,K.useNotification=function(n,t){return function(){var e,r=null,o={add:function(n,t){null==r||r.component.add(n,t)}},l=(0,z.Z)(o),c=(0,N.Z)(l,2),s=c[0],u=c[1],d=i.useRef({});return d.current.open=function(o){var i=o.prefixCls,l=e("notification",i);n((0,a.Z)((0,a.Z)({},o),{prefixCls:l}),(function(n){var e=n.prefixCls,a=n.instance;r=a,s(t(o,e))}))},["success","info","warning","error"].forEach((function(n){d.current[n]=function(t){return d.current.open((0,a.Z)((0,a.Z)({},t),{type:n}))}})),[d.current,i.createElement(P.C,{key:"holder"},(function(n){return e=n.getPrefixCls,u}))]}}(D,F);const V=K;var H=e(2138),B=e(6500),U=e(8701),W=e(1350),q=e(279),$=function(){function n(t,e){var a;if(void 0===t&&(t=""),void 0===e&&(e={}),t instanceof n)return t;"number"==typeof t&&(t=(0,B.Yt)(t)),this.originalInput=t;var r=(0,W.uA)(t);this.originalInput=t,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(a=e.format)&&void 0!==a?a:r.format,this.gradientType=e.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=r.ok}return n.prototype.isDark=function(){return this.getBrightness()<128},n.prototype.isLight=function(){return!this.isDark()},n.prototype.getBrightness=function(){var n=this.toRgb();return(299*n.r+587*n.g+114*n.b)/1e3},n.prototype.getLuminance=function(){var n=this.toRgb(),t=n.r/255,e=n.g/255,a=n.b/255;return.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.0722*(a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4))},n.prototype.getAlpha=function(){return this.a},n.prototype.setAlpha=function(n){return this.a=(0,q.Yq)(n),this.roundA=Math.round(100*this.a)/100,this},n.prototype.isMonochrome=function(){return 0===this.toHsl().s},n.prototype.toHsv=function(){var n=(0,B.py)(this.r,this.g,this.b);return{h:360*n.h,s:n.s,v:n.v,a:this.a}},n.prototype.toHsvString=function(){var n=(0,B.py)(this.r,this.g,this.b),t=Math.round(360*n.h),e=Math.round(100*n.s),a=Math.round(100*n.v);return 1===this.a?"hsv(".concat(t,", ").concat(e,"%, ").concat(a,"%)"):"hsva(".concat(t,", ").concat(e,"%, ").concat(a,"%, ").concat(this.roundA,")")},n.prototype.toHsl=function(){var n=(0,B.lC)(this.r,this.g,this.b);return{h:360*n.h,s:n.s,l:n.l,a:this.a}},n.prototype.toHslString=function(){var n=(0,B.lC)(this.r,this.g,this.b),t=Math.round(360*n.h),e=Math.round(100*n.s),a=Math.round(100*n.l);return 1===this.a?"hsl(".concat(t,", ").concat(e,"%, ").concat(a,"%)"):"hsla(".concat(t,", ").concat(e,"%, ").concat(a,"%, ").concat(this.roundA,")")},n.prototype.toHex=function(n){return void 0===n&&(n=!1),(0,B.vq)(this.r,this.g,this.b,n)},n.prototype.toHexString=function(n){return void 0===n&&(n=!1),"#"+this.toHex(n)},n.prototype.toHex8=function(n){return void 0===n&&(n=!1),(0,B.s)(this.r,this.g,this.b,this.a,n)},n.prototype.toHex8String=function(n){return void 0===n&&(n=!1),"#"+this.toHex8(n)},n.prototype.toHexShortString=function(n){return void 0===n&&(n=!1),1===this.a?this.toHexString(n):this.toHex8String(n)},n.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},n.prototype.toRgbString=function(){var n=Math.round(this.r),t=Math.round(this.g),e=Math.round(this.b);return 1===this.a?"rgb(".concat(n,", ").concat(t,", ").concat(e,")"):"rgba(".concat(n,", ").concat(t,", ").concat(e,", ").concat(this.roundA,")")},n.prototype.toPercentageRgb=function(){var n=function(n){return"".concat(Math.round(100*(0,q.sh)(n,255)),"%")};return{r:n(this.r),g:n(this.g),b:n(this.b),a:this.a}},n.prototype.toPercentageRgbString=function(){var n=function(n){return Math.round(100*(0,q.sh)(n,255))};return 1===this.a?"rgb(".concat(n(this.r),"%, ").concat(n(this.g),"%, ").concat(n(this.b),"%)"):"rgba(".concat(n(this.r),"%, ").concat(n(this.g),"%, ").concat(n(this.b),"%, ").concat(this.roundA,")")},n.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var n="#"+(0,B.vq)(this.r,this.g,this.b,!1),t=0,e=Object.entries(U.R);t=0;return t||!a||!n.startsWith("hex")&&"name"!==n?("rgb"===n&&(e=this.toRgbString()),"prgb"===n&&(e=this.toPercentageRgbString()),"hex"!==n&&"hex6"!==n||(e=this.toHexString()),"hex3"===n&&(e=this.toHexString(!0)),"hex4"===n&&(e=this.toHex8String(!0)),"hex8"===n&&(e=this.toHex8String()),"name"===n&&(e=this.toName()),"hsl"===n&&(e=this.toHslString()),"hsv"===n&&(e=this.toHsvString()),e||this.toHexString()):"name"===n&&0===this.a?this.toName():this.toRgbString()},n.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},n.prototype.clone=function(){return new n(this.toString())},n.prototype.lighten=function(t){void 0===t&&(t=10);var e=this.toHsl();return e.l+=t/100,e.l=(0,q.V2)(e.l),new n(e)},n.prototype.brighten=function(t){void 0===t&&(t=10);var e=this.toRgb();return e.r=Math.max(0,Math.min(255,e.r-Math.round(-t/100*255))),e.g=Math.max(0,Math.min(255,e.g-Math.round(-t/100*255))),e.b=Math.max(0,Math.min(255,e.b-Math.round(-t/100*255))),new n(e)},n.prototype.darken=function(t){void 0===t&&(t=10);var e=this.toHsl();return e.l-=t/100,e.l=(0,q.V2)(e.l),new n(e)},n.prototype.tint=function(n){return void 0===n&&(n=10),this.mix("white",n)},n.prototype.shade=function(n){return void 0===n&&(n=10),this.mix("black",n)},n.prototype.desaturate=function(t){void 0===t&&(t=10);var e=this.toHsl();return e.s-=t/100,e.s=(0,q.V2)(e.s),new n(e)},n.prototype.saturate=function(t){void 0===t&&(t=10);var e=this.toHsl();return e.s+=t/100,e.s=(0,q.V2)(e.s),new n(e)},n.prototype.greyscale=function(){return this.desaturate(100)},n.prototype.spin=function(t){var e=this.toHsl(),a=(e.h+t)%360;return e.h=a<0?360+a:a,new n(e)},n.prototype.mix=function(t,e){void 0===e&&(e=50);var a=this.toRgb(),r=new n(t).toRgb(),o=e/100;return new n({r:(r.r-a.r)*o+a.r,g:(r.g-a.g)*o+a.g,b:(r.b-a.b)*o+a.b,a:(r.a-a.a)*o+a.a})},n.prototype.analogous=function(t,e){void 0===t&&(t=6),void 0===e&&(e=30);var a=this.toHsl(),r=360/e,o=[this];for(a.h=(a.h-(r*t>>1)+720)%360;--t;)a.h=(a.h+r)%360,o.push(new n(a));return o},n.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new n(t)},n.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var e=this.toHsv(),a=e.h,r=e.s,o=e.v,i=[],l=1/t;t--;)i.push(new n({h:a,s:r,v:o})),o=(o+l)%1;return i},n.prototype.splitcomplement=function(){var t=this.toHsl(),e=t.h;return[this,new n({h:(e+72)%360,s:t.s,l:t.l}),new n({h:(e+216)%360,s:t.s,l:t.l})]},n.prototype.onBackground=function(t){var e=this.toRgb(),a=new n(t).toRgb(),r=e.a+a.a*(1-e.a);return new n({r:(e.r*e.a+a.r*a.a*(1-e.a))/r,g:(e.g*e.a+a.g*a.a*(1-e.a))/r,b:(e.b*e.a+a.b*a.a*(1-e.a))/r,a:r})},n.prototype.triad=function(){return this.polyad(3)},n.prototype.tetrad=function(){return this.polyad(4)},n.prototype.polyad=function(t){for(var e=this.toHsl(),a=e.h,r=[this],o=360/t,i=1;i0&&(N=i.createElement(c.Provider,{value:z},t)),p&&(N=i.createElement(d,{locale:p,_ANT_MARK__:"internalMark"},N)),(w||e)&&(N=i.createElement(r.Z.Provider,{value:S},N)),f&&(N=i.createElement(tn.q,{size:f},N)),void 0!==k&&(N=i.createElement(nn.n,{disabled:k},N)),i.createElement(P.E_.Provider,{value:Z},N)},cn=function(n){return i.useEffect((function(){n.direction&&(h.ZP.config({rtl:"rtl"===n.direction}),V.config({rtl:"rtl"===n.direction}))}),[n.direction]),i.createElement(g.Z,null,(function(t,e,r){return i.createElement(P.C,null,(function(t){return i.createElement(ln,(0,a.Z)({parentContext:t,legacyLocale:r},n))}))}))};cn.ConfigContext=P.E_,cn.SizeContext=tn.Z,cn.config=function(n){var t=n.prefixCls,e=n.iconPrefixCls,a=n.theme;void 0!==t&&(Q=t),void 0!==e&&(J=e),a&&function(n,t){var e=function(n,t){var e={},a=function(n,t){var e=n.clone();return(e=(null==t?void 0:t(e))||e).toRgbString()},r=function(n,t){var r=new $(n),o=(0,H.R_)(r.toRgbString());e["".concat(t,"-color")]=a(r),e["".concat(t,"-color-disabled")]=o[1],e["".concat(t,"-color-hover")]=o[4],e["".concat(t,"-color-active")]=o[6],e["".concat(t,"-color-outline")]=r.clone().setAlpha(.2).toRgbString(),e["".concat(t,"-color-deprecated-bg")]=o[0],e["".concat(t,"-color-deprecated-border")]=o[2]};if(t.primaryColor){r(t.primaryColor,"primary");var o=new $(t.primaryColor),i=(0,H.R_)(o.toRgbString());i.forEach((function(n,t){e["primary-".concat(t+1)]=n})),e["primary-color-deprecated-l-35"]=a(o,(function(n){return n.lighten(35)})),e["primary-color-deprecated-l-20"]=a(o,(function(n){return n.lighten(20)})),e["primary-color-deprecated-t-20"]=a(o,(function(n){return n.tint(20)})),e["primary-color-deprecated-t-50"]=a(o,(function(n){return n.tint(50)})),e["primary-color-deprecated-f-12"]=a(o,(function(n){return n.setAlpha(.12*n.getAlpha())}));var l=new $(i[0]);e["primary-color-active-deprecated-f-30"]=a(l,(function(n){return n.setAlpha(.3*n.getAlpha())})),e["primary-color-active-deprecated-d-02"]=a(l,(function(n){return n.darken(2)}))}t.successColor&&r(t.successColor,"success"),t.warningColor&&r(t.warningColor,"warning"),t.errorColor&&r(t.errorColor,"error"),t.infoColor&&r(t.infoColor,"info");var c=Object.keys(e).map((function(t){return"--".concat(n,"-").concat(t,": ").concat(e[t],";")}));return"\n :root {\n ".concat(c.join("\n"),"\n }\n ").trim()}(n,t);(0,Y.Z)()&&(0,X.hq)(e,"".concat(G,"-dynamic-theme"))}(an(),a)};const sn=cn},4277:(n,t,e)=>{"use strict";e.d(t,{Z:()=>g});var a=e(4942),r=e(7462),o=e(3967),i=e.n(o),l=e(7294),c=e(3124),s=e(2051);const u=function(){var n=(0,l.useContext(c.E_).getPrefixCls)("empty-img-default");return l.createElement("svg",{className:n,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},l.createElement("g",{fill:"none",fillRule:"evenodd"},l.createElement("g",{transform:"translate(24 31.67)"},l.createElement("ellipse",{className:"".concat(n,"-ellipse"),cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),l.createElement("path",{className:"".concat(n,"-path-1"),d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z"}),l.createElement("path",{className:"".concat(n,"-path-2"),d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",transform:"translate(13.56)"}),l.createElement("path",{className:"".concat(n,"-path-3"),d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z"}),l.createElement("path",{className:"".concat(n,"-path-4"),d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z"})),l.createElement("path",{className:"".concat(n,"-path-5"),d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z"}),l.createElement("g",{className:"".concat(n,"-g"),transform:"translate(149.65 15.383)"},l.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),l.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},d=function(){var n=(0,l.useContext(c.E_).getPrefixCls)("empty-img-simple");return l.createElement("svg",{className:n,width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},l.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},l.createElement("ellipse",{className:"".concat(n,"-ellipse"),cx:"32",cy:"33",rx:"32",ry:"7"}),l.createElement("g",{className:"".concat(n,"-g"),fillRule:"nonzero"},l.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),l.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",className:"".concat(n,"-path")}))))};var p=l.createElement(u,null),f=l.createElement(d,null),m=function(n){var t=n.className,e=n.prefixCls,o=n.image,u=void 0===o?p:o,d=n.description,m=n.children,g=n.imageStyle,b=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r{"use strict";e.d(t,{aM:()=>Dn,Ux:()=>jn});var a=e(7462),r=e(7294),o=e(4925),i=e(4942),l=e(1413),c=e(3433),s=e(5671),u=e(3144),d=e(7326),p=e(9340),f=e(8557),m=e(344),g=e(334),b=e(1881),h="RC_FORM_INTERNAL_HOOKS",v=function(){(0,g.ZP)(!1,"Can not find FormContext. Please make sure you wrap Field under Form.")};const x=r.createContext({getFieldValue:v,getFieldsValue:v,getFieldError:v,getFieldWarning:v,getFieldsError:v,isFieldsTouched:v,isFieldTouched:v,isFieldValidating:v,isFieldsValidating:v,resetFields:v,setFields:v,setFieldValue:v,setFieldsValue:v,validateFields:v,submit:v,getInternalHooks:function(){return v(),{dispatch:v,initEntityValue:v,registerField:v,useSubscribe:v,setInitialValues:v,destroyForm:v,setCallbacks:v,registerWatch:v,getFields:v,setValidateMessages:v,setPreserve:v,getInitialValue:v}}}),y=r.createContext(null);function w(n){return null==n?[]:Array.isArray(n)?n:[n]}var k=e(4165),E=e(5861);function C(){return C=Object.assign?Object.assign.bind():function(n){for(var t=1;t1?t-1:0),a=1;a=o)return n;switch(n){case"%s":return String(e[r++]);case"%d":return Number(e[r++]);case"%j":try{return JSON.stringify(e[r++])}catch(n){return"[Circular]"}break;default:return n}})):n}function R(n,t){return null==n||!("array"!==t||!Array.isArray(n)||n.length)||!(!function(n){return"string"===n||"url"===n||"hex"===n||"email"===n||"date"===n||"pattern"===n}(t)||"string"!=typeof n||n)}function T(n,t,e){var a=0,r=n.length;!function o(i){if(i&&i.length)e(i);else{var l=a;a+=1,l()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,F=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,K={integer:function(n){return K.number(n)&&parseInt(n,10)===n},float:function(n){return K.number(n)&&!K.integer(n)},array:function(n){return Array.isArray(n)},regexp:function(n){if(n instanceof RegExp)return!0;try{return!!new RegExp(n)}catch(n){return!1}},date:function(n){return"function"==typeof n.getTime&&"function"==typeof n.getMonth&&"function"==typeof n.getYear&&!isNaN(n.getTime())},number:function(n){return!isNaN(n)&&"number"==typeof n},object:function(n){return"object"==typeof n&&!K.array(n)},method:function(n){return"function"==typeof n},email:function(n){return"string"==typeof n&&n.length<=320&&!!n.match(j)},url:function(n){return"string"==typeof n&&n.length<=2048&&!!n.match(function(){if(A)return A;var n="[a-fA-F\\d:]",t=function(t){return t&&t.includeBoundaries?"(?:(?<=\\s|^)(?="+n+")|(?<="+n+")(?=\\s|$))":""},e="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",a="[a-fA-F\\d]{1,4}",r=("\n(?:\n(?:"+a+":){7}(?:"+a+"|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:"+a+":){6}(?:"+e+"|:"+a+"|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:"+a+":){5}(?::"+e+"|(?::"+a+"){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:"+a+":){4}(?:(?::"+a+"){0,1}:"+e+"|(?::"+a+"){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:"+a+":){3}(?:(?::"+a+"){0,2}:"+e+"|(?::"+a+"){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:"+a+":){2}(?:(?::"+a+"){0,3}:"+e+"|(?::"+a+"){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:"+a+":){1}(?:(?::"+a+"){0,4}:"+e+"|(?::"+a+"){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::"+a+"){0,5}:"+e+"|(?::"+a+"){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n").replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),o=new RegExp("(?:^"+e+"$)|(?:^"+r+"$)"),i=new RegExp("^"+e+"$"),l=new RegExp("^"+r+"$"),c=function(n){return n&&n.exact?o:new RegExp("(?:"+t(n)+e+t(n)+")|(?:"+t(n)+r+t(n)+")","g")};c.v4=function(n){return n&&n.exact?i:new RegExp(""+t(n)+e+t(n),"g")},c.v6=function(n){return n&&n.exact?l:new RegExp(""+t(n)+r+t(n),"g")};var s=c.v4().source,u=c.v6().source;return A=new RegExp("(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|"+s+"|"+u+'|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?$)',"i")}())},hex:function(n){return"string"==typeof n&&!!n.match(F)}},V="enum",H=D,B=function(n,t,e,a,r){(/^\s+$/.test(t)||""===t)&&a.push(M(r.messages.whitespace,n.fullField))},U=function(n,t,e,a,r){if(n.required&&void 0===t)D(n,t,e,a,r);else{var o=n.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(o)>-1?K[o](t)||a.push(M(r.messages.types[o],n.fullField,n.type)):o&&typeof t!==n.type&&a.push(M(r.messages.types[o],n.fullField,n.type))}},W=function(n,t,e,a,r){var o="number"==typeof n.len,i="number"==typeof n.min,l="number"==typeof n.max,c=t,s=null,u="number"==typeof t,d="string"==typeof t,p=Array.isArray(t);if(u?s="number":d?s="string":p&&(s="array"),!s)return!1;p&&(c=t.length),d&&(c=t.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"_").length),o?c!==n.len&&a.push(M(r.messages[s].len,n.fullField,n.len)):i&&!l&&cn.max?a.push(M(r.messages[s].max,n.fullField,n.max)):i&&l&&(cn.max)&&a.push(M(r.messages[s].range,n.fullField,n.min,n.max))},q=function(n,t,e,a,r){n[V]=Array.isArray(n[V])?n[V]:[],-1===n[V].indexOf(t)&&a.push(M(r.messages[V],n.fullField,n[V].join(", ")))},$=function(n,t,e,a,r){n.pattern&&(n.pattern instanceof RegExp?(n.pattern.lastIndex=0,n.pattern.test(t)||a.push(M(r.messages.pattern.mismatch,n.fullField,t,n.pattern))):"string"==typeof n.pattern&&(new RegExp(n.pattern).test(t)||a.push(M(r.messages.pattern.mismatch,n.fullField,t,n.pattern))))},Y=function(n,t,e,a,r){var o=n.type,i=[];if(n.required||!n.required&&a.hasOwnProperty(n.field)){if(R(t,o)&&!n.required)return e();H(n,t,a,i,r,o),R(t,o)||U(n,t,a,i,r)}e(i)},X={string:function(n,t,e,a,r){var o=[];if(n.required||!n.required&&a.hasOwnProperty(n.field)){if(R(t,"string")&&!n.required)return e();H(n,t,a,o,r,"string"),R(t,"string")||(U(n,t,a,o,r),W(n,t,a,o,r),$(n,t,a,o,r),!0===n.whitespace&&B(n,t,a,o,r))}e(o)},method:function(n,t,e,a,r){var o=[];if(n.required||!n.required&&a.hasOwnProperty(n.field)){if(R(t)&&!n.required)return e();H(n,t,a,o,r),void 0!==t&&U(n,t,a,o,r)}e(o)},number:function(n,t,e,a,r){var o=[];if(n.required||!n.required&&a.hasOwnProperty(n.field)){if(""===t&&(t=void 0),R(t)&&!n.required)return e();H(n,t,a,o,r),void 0!==t&&(U(n,t,a,o,r),W(n,t,a,o,r))}e(o)},boolean:function(n,t,e,a,r){var o=[];if(n.required||!n.required&&a.hasOwnProperty(n.field)){if(R(t)&&!n.required)return e();H(n,t,a,o,r),void 0!==t&&U(n,t,a,o,r)}e(o)},regexp:function(n,t,e,a,r){var o=[];if(n.required||!n.required&&a.hasOwnProperty(n.field)){if(R(t)&&!n.required)return e();H(n,t,a,o,r),R(t)||U(n,t,a,o,r)}e(o)},integer:function(n,t,e,a,r){var o=[];if(n.required||!n.required&&a.hasOwnProperty(n.field)){if(R(t)&&!n.required)return e();H(n,t,a,o,r),void 0!==t&&(U(n,t,a,o,r),W(n,t,a,o,r))}e(o)},float:function(n,t,e,a,r){var o=[];if(n.required||!n.required&&a.hasOwnProperty(n.field)){if(R(t)&&!n.required)return e();H(n,t,a,o,r),void 0!==t&&(U(n,t,a,o,r),W(n,t,a,o,r))}e(o)},array:function(n,t,e,a,r){var o=[];if(n.required||!n.required&&a.hasOwnProperty(n.field)){if(null==t&&!n.required)return e();H(n,t,a,o,r,"array"),null!=t&&(U(n,t,a,o,r),W(n,t,a,o,r))}e(o)},object:function(n,t,e,a,r){var o=[];if(n.required||!n.required&&a.hasOwnProperty(n.field)){if(R(t)&&!n.required)return e();H(n,t,a,o,r),void 0!==t&&U(n,t,a,o,r)}e(o)},enum:function(n,t,e,a,r){var o=[];if(n.required||!n.required&&a.hasOwnProperty(n.field)){if(R(t)&&!n.required)return e();H(n,t,a,o,r),void 0!==t&&q(n,t,a,o,r)}e(o)},pattern:function(n,t,e,a,r){var o=[];if(n.required||!n.required&&a.hasOwnProperty(n.field)){if(R(t,"string")&&!n.required)return e();H(n,t,a,o,r),R(t,"string")||$(n,t,a,o,r)}e(o)},date:function(n,t,e,a,r){var o=[];if(n.required||!n.required&&a.hasOwnProperty(n.field)){if(R(t,"date")&&!n.required)return e();var i;H(n,t,a,o,r),R(t,"date")||(i=t instanceof Date?t:new Date(t),U(n,i,a,o,r),i&&W(n,i.getTime(),a,o,r))}e(o)},url:Y,hex:Y,email:Y,required:function(n,t,e,a,r){var o=[],i=Array.isArray(t)?"array":typeof t;H(n,t,a,o,r,i),e(o)},any:function(n,t,e,a,r){var o=[];if(n.required||!n.required&&a.hasOwnProperty(n.field)){if(R(t)&&!n.required)return e();H(n,t,a,o,r)}e(o)}};function G(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var n=JSON.parse(JSON.stringify(this));return n.clone=this.clone,n}}}var Q=G(),J=function(){function n(n){this.rules=null,this._messages=Q,this.define(n)}var t=n.prototype;return t.define=function(n){var t=this;if(!n)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof n||Array.isArray(n))throw new Error("Rules must be an object");this.rules={},Object.keys(n).forEach((function(e){var a=n[e];t.rules[e]=Array.isArray(a)?a:[a]}))},t.messages=function(n){return n&&(this._messages=L(G(),n)),this._messages},t.validate=function(t,e,a){var r=this;void 0===e&&(e={}),void 0===a&&(a=function(){});var o=t,i=e,l=a;if("function"==typeof i&&(l=i,i={}),!this.rules||0===Object.keys(this.rules).length)return l&&l(null,o),Promise.resolve(o);if(i.messages){var c=this.messages();c===Q&&(c=G()),L(c,i.messages),i.messages=c}else i.messages=this.messages();var s={};(i.keys||Object.keys(this.rules)).forEach((function(n){var e=r.rules[n],a=o[n];e.forEach((function(e){var i=e;"function"==typeof i.transform&&(o===t&&(o=C({},o)),a=o[n]=i.transform(a)),(i="function"==typeof i?{validator:i}:C({},i)).validator=r.getValidationMethod(i),i.validator&&(i.field=n,i.fullField=i.fullField||n,i.type=r.getType(i),s[n]=s[n]||[],s[n].push({rule:i,value:a,source:o,field:n}))}))}));var u={};return function(n,t,e,a,r){if(t.first){var o=new Promise((function(t,o){var i=function(n){var t=[];return Object.keys(n).forEach((function(e){t.push.apply(t,n[e]||[])})),t}(n);T(i,e,(function(n){return a(n),n.length?o(new I(n,O(n))):t(r)}))}));return o.catch((function(n){return n})),o}var i=!0===t.firstFields?Object.keys(n):t.firstFields||[],l=Object.keys(n),c=l.length,s=0,u=[],d=new Promise((function(t,o){var d=function(n){if(u.push.apply(u,n),++s===c)return a(u),u.length?o(new I(u,O(u))):t(r)};l.length||(a(u),t(r)),l.forEach((function(t){var a=n[t];-1!==i.indexOf(t)?T(a,e,d):function(n,t,e){var a=[],r=0,o=n.length;function i(n){a.push.apply(a,n||[]),++r===o&&e(a)}n.forEach((function(n){t(n,i)}))}(a,e,d)}))}));return d.catch((function(n){return n})),d}(s,i,(function(t,e){var a,r=t.rule,l=!("object"!==r.type&&"array"!==r.type||"object"!=typeof r.fields&&"object"!=typeof r.defaultField);function c(n,t){return C({},t,{fullField:r.fullField+"."+n,fullFields:r.fullFields?[].concat(r.fullFields,[n]):[n]})}function s(a){void 0===a&&(a=[]);var s=Array.isArray(a)?a:[a];!i.suppressWarning&&s.length&&n.warning("async-validator:",s),s.length&&void 0!==r.message&&(s=[].concat(r.message));var d=s.map(_(r,o));if(i.first&&d.length)return u[r.field]=1,e(d);if(l){if(r.required&&!t.value)return void 0!==r.message?d=[].concat(r.message).map(_(r,o)):i.error&&(d=[i.error(r,M(i.messages.required,r.field))]),e(d);var p={};r.defaultField&&Object.keys(t.value).map((function(n){p[n]=r.defaultField})),p=C({},p,t.rule.fields);var f={};Object.keys(p).forEach((function(n){var t=p[n],e=Array.isArray(t)?t:[t];f[n]=e.map(c.bind(null,n))}));var m=new n(f);m.messages(i.messages),t.rule.options&&(t.rule.options.messages=i.messages,t.rule.options.error=i.error),m.validate(t.value,t.rule.options||i,(function(n){var t=[];d&&d.length&&t.push.apply(t,d),n&&n.length&&t.push.apply(t,n),e(t.length?t:null)}))}else e(d)}if(l=l&&(r.required||!r.required&&t.value),r.field=t.field,r.asyncValidator)a=r.asyncValidator(r,t.value,s,t.source,i);else if(r.validator){try{a=r.validator(r,t.value,s,t.source,i)}catch(n){null==console.error||console.error(n),i.suppressValidatorError||setTimeout((function(){throw n}),0),s(n.message)}!0===a?s():!1===a?s("function"==typeof r.message?r.message(r.fullField||r.field):r.message||(r.fullField||r.field)+" fails"):a instanceof Array?s(a):a instanceof Error&&s(a.message)}a&&a.then&&a.then((function(){return s()}),(function(n){return s(n)}))}),(function(n){!function(n){for(var t,e,a=[],r={},i=0;i=a||e<0||e>=a)return n;var r=n[t],o=t-e;return o>0?[].concat((0,c.Z)(n.slice(0,e)),[r],(0,c.Z)(n.slice(e,t)),(0,c.Z)(n.slice(t+1,a))):o<0?[].concat((0,c.Z)(n.slice(0,t)),(0,c.Z)(n.slice(t+1,e+1)),[r],(0,c.Z)(n.slice(e+1,a))):n}var xn=["name"],yn=[];function wn(n,t,e,a,r,o){return"function"==typeof n?n(t,e,"source"in o?{source:o.source}:{}):a!==r}var kn=function(n){(0,p.Z)(e,n);var t=(0,f.Z)(e);function e(n){var a;return(0,s.Z)(this,e),(a=t.call(this,n)).state={resetCount:0},a.cancelRegisterFunc=null,a.mounted=!1,a.touched=!1,a.dirty=!1,a.validatePromise=void 0,a.prevValidating=void 0,a.errors=yn,a.warnings=yn,a.cancelRegister=function(){var n=a.props,t=n.preserve,e=n.isListField,r=n.name;a.cancelRegisterFunc&&a.cancelRegisterFunc(e,t,fn(r)),a.cancelRegisterFunc=null},a.getNamePath=function(){var n=a.props,t=n.name,e=n.fieldContext.prefixName,r=void 0===e?[]:e;return void 0!==t?[].concat((0,c.Z)(r),(0,c.Z)(t)):[]},a.getRules=function(){var n=a.props,t=n.rules,e=void 0===t?[]:t,r=n.fieldContext;return e.map((function(n){return"function"==typeof n?n(r):n}))},a.refresh=function(){a.mounted&&a.setState((function(n){return{resetCount:n.resetCount+1}}))},a.metaCache=null,a.triggerMetaEvent=function(n){var t=a.props.onMetaChange;if(t){var e=(0,l.Z)((0,l.Z)({},a.getMeta()),{},{destroy:n});(0,b.Z)(a.metaCache,e)||t(e),a.metaCache=e}else a.metaCache=null},a.onStoreChange=function(n,t,e){var r=a.props,o=r.shouldUpdate,i=r.dependencies,l=void 0===i?[]:i,c=r.onReset,s=e.store,u=a.getNamePath(),d=a.getValue(n),p=a.getValue(s),f=t&&gn(t,u);switch("valueUpdate"===e.type&&"external"===e.source&&d!==p&&(a.touched=!0,a.dirty=!0,a.validatePromise=null,a.errors=yn,a.warnings=yn,a.triggerMetaEvent()),e.type){case"reset":if(!t||f)return a.touched=!1,a.dirty=!1,a.validatePromise=void 0,a.errors=yn,a.warnings=yn,a.triggerMetaEvent(),null==c||c(),void a.refresh();break;case"remove":if(o)return void a.reRender();break;case"setField":if(f){var m=e.data;return"touched"in m&&(a.touched=m.touched),"validating"in m&&!("originRCField"in m)&&(a.validatePromise=m.validating?Promise.resolve([]):null),"errors"in m&&(a.errors=m.errors||yn),"warnings"in m&&(a.warnings=m.warnings||yn),a.dirty=!0,a.triggerMetaEvent(),void a.reRender()}if(o&&!u.length&&wn(o,n,s,d,p,e))return void a.reRender();break;case"dependenciesUpdate":if(l.map(fn).some((function(n){return gn(e.relatedFields,n)})))return void a.reRender();break;default:if(f||(!l.length||u.length||o)&&wn(o,n,s,d,p,e))return void a.reRender()}!0===o&&a.reRender()},a.validateRules=function(n){var t=a.getNamePath(),e=a.getValue(),r=n||{},o=r.triggerName,i=r.validateOnly,s=void 0!==i&&i,u=Promise.resolve().then((function(){if(!a.mounted)return[];var r=a.props,i=r.validateFirst,s=void 0!==i&&i,d=r.messageVariables,p=a.getRules();o&&(p=p.filter((function(n){return n})).filter((function(n){var t=n.validateTrigger;return!t||w(t).includes(o)})));var f=function(n,t,e,a,r,o){var i,c=n.join("."),s=e.map((function(n,t){var e=n.validator,a=(0,l.Z)((0,l.Z)({},n),{},{ruleIndex:t});return e&&(a.validator=function(n,t,a){var r=!1,o=e(n,t,(function(){for(var n=arguments.length,t=new Array(n),e=0;e0&&void 0!==arguments[0]?arguments[0]:yn;if(a.validatePromise===u){var t;a.validatePromise=null;var e=[],r=[];null===(t=n.forEach)||void 0===t||t.call(n,(function(n){var t=n.rule.warningOnly,a=n.errors,o=void 0===a?yn:a;t?r.push.apply(r,(0,c.Z)(o)):e.push.apply(e,(0,c.Z)(o))})),a.errors=e,a.warnings=r,a.triggerMetaEvent(),a.reRender()}})),f}));return s||(a.validatePromise=u,a.dirty=!0,a.errors=yn,a.warnings=yn,a.triggerMetaEvent(),a.reRender()),u},a.isFieldValidating=function(){return!!a.validatePromise},a.isFieldTouched=function(){return a.touched},a.isFieldDirty=function(){return!(!a.dirty&&void 0===a.props.initialValue)||void 0!==(0,a.props.fieldContext.getInternalHooks(h).getInitialValue)(a.getNamePath())},a.getErrors=function(){return a.errors},a.getWarnings=function(){return a.warnings},a.isListField=function(){return a.props.isListField},a.isList=function(){return a.props.isList},a.isPreserve=function(){return a.props.preserve},a.getMeta=function(){return a.prevValidating=a.isFieldValidating(),{touched:a.isFieldTouched(),validating:a.prevValidating,errors:a.errors,warnings:a.warnings,name:a.getNamePath(),validated:null===a.validatePromise}},a.getOnlyChild=function(n){if("function"==typeof n){var t=a.getMeta();return(0,l.Z)((0,l.Z)({},a.getOnlyChild(n(a.getControlled(),t,a.props.fieldContext))),{},{isFunction:!0})}var e=(0,m.Z)(n);return 1===e.length&&r.isValidElement(e[0])?{child:e[0],isFunction:!1}:{child:e,isFunction:!1}},a.getValue=function(n){var t=a.props.fieldContext.getFieldsValue,e=a.getNamePath();return(0,pn.Z)(n||t(!0),e)},a.getControlled=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=a.props,e=t.trigger,r=t.validateTrigger,o=t.getValueFromEvent,c=t.normalize,s=t.valuePropName,u=t.getValueProps,d=t.fieldContext,p=void 0!==r?r:d.validateTrigger,f=a.getNamePath(),m=d.getInternalHooks,g=d.getFieldsValue,b=m(h).dispatch,v=a.getValue(),x=u||function(n){return(0,i.Z)({},s,n)},y=n[e],k=(0,l.Z)((0,l.Z)({},n),x(v));return k[e]=function(){var n;a.touched=!0,a.dirty=!0,a.triggerMetaEvent();for(var t=arguments.length,e=new Array(t),r=0;r0&&void 0!==arguments[0]?arguments[0]:[];if(e.watchList.length){var t=e.getFieldsValue(),a=e.getFieldsValue(!0);e.watchList.forEach((function(e){e(t,a,n)}))}},this.timeoutId=null,this.warningUnhooked=function(){},this.updateStore=function(n){e.store=n},this.getFieldEntities=function(){return arguments.length>0&&void 0!==arguments[0]&&arguments[0]?e.fieldEntities.filter((function(n){return n.getNamePath().length})):e.fieldEntities},this.getFieldsMap=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=new zn;return e.getFieldEntities(n).forEach((function(n){var e=n.getNamePath();t.set(e,n)})),t},this.getFieldEntitiesForNamePathList=function(n){if(!n)return e.getFieldEntities(!0);var t=e.getFieldsMap(!0);return n.map((function(n){var e=fn(n);return t.get(e)||{INVALIDATE_NAME_PATH:fn(n)}}))},this.getFieldsValue=function(n,t){if(e.warningUnhooked(),!0===n&&!t)return e.store;var a=e.getFieldEntitiesForNamePathList(Array.isArray(n)?n:null),r=[];return a.forEach((function(e){var a,o="INVALIDATE_NAME_PATH"in e?e.INVALIDATE_NAME_PATH:e.getNamePath();if(n||!(null===(a=e.isListField)||void 0===a?void 0:a.call(e)))if(t){var i="getMeta"in e?e.getMeta():null;t(i)&&r.push(o)}else r.push(o)})),mn(e.store,r.map(fn))},this.getFieldValue=function(n){e.warningUnhooked();var t=fn(n);return(0,pn.Z)(e.store,t)},this.getFieldsError=function(n){return e.warningUnhooked(),e.getFieldEntitiesForNamePathList(n).map((function(t,e){return t&&!("INVALIDATE_NAME_PATH"in t)?{name:t.getNamePath(),errors:t.getErrors(),warnings:t.getWarnings()}:{name:fn(n[e]),errors:[],warnings:[]}}))},this.getFieldError=function(n){e.warningUnhooked();var t=fn(n);return e.getFieldsError([t])[0].errors},this.getFieldWarning=function(n){e.warningUnhooked();var t=fn(n);return e.getFieldsError([t])[0].warnings},this.isFieldsTouched=function(){e.warningUnhooked();for(var n=arguments.length,t=new Array(n),a=0;a0&&void 0!==arguments[0]?arguments[0]:{},a=new zn,r=e.getFieldEntities(!0);r.forEach((function(n){var t=n.props.initialValue,e=n.getNamePath();if(void 0!==t){var r=a.get(e)||new Set;r.add({entity:n,value:t}),a.set(e,r)}})),t.entities?n=t.entities:t.namePathList?(n=[],t.namePathList.forEach((function(t){var e,r=a.get(t);r&&(e=n).push.apply(e,(0,c.Z)((0,c.Z)(r).map((function(n){return n.entity}))))}))):n=r,n.forEach((function(n){if(void 0!==n.props.initialValue){var r=n.getNamePath();if(void 0!==e.getInitialValue(r))(0,g.ZP)(!1,"Form already set 'initialValues' with path '".concat(r.join("."),"'. Field can not overwrite it."));else{var o=a.get(r);if(o&&o.size>1)(0,g.ZP)(!1,"Multiple Field with path '".concat(r.join("."),"' set 'initialValue'. Can not decide which one to pick."));else if(o){var i=e.getFieldValue(r);t.skipExist&&void 0!==i||e.updateStore((0,en.Z)(e.store,r,(0,c.Z)(o)[0].value))}}}}))},this.resetFields=function(n){e.warningUnhooked();var t=e.store;if(!n)return e.updateStore((0,en.T)(e.initialValues)),e.resetWithFieldInitialValue(),e.notifyObservers(t,null,{type:"reset"}),void e.notifyWatch();var a=n.map(fn);a.forEach((function(n){var t=e.getInitialValue(n);e.updateStore((0,en.Z)(e.store,n,t))})),e.resetWithFieldInitialValue({namePathList:a}),e.notifyObservers(t,a,{type:"reset"}),e.notifyWatch(a)},this.setFields=function(n){e.warningUnhooked();var t=e.store,a=[];n.forEach((function(n){var r=n.name,i=(0,o.Z)(n,Pn),l=fn(r);a.push(l),"value"in i&&e.updateStore((0,en.Z)(e.store,l,i.value)),e.notifyObservers(t,[l],{type:"setField",data:n})})),e.notifyWatch(a)},this.getFields=function(){return e.getFieldEntities(!0).map((function(n){var t=n.getNamePath(),a=n.getMeta(),r=(0,l.Z)((0,l.Z)({},a),{},{name:t,value:e.getFieldValue(t)});return Object.defineProperty(r,"originRCField",{value:!0}),r}))},this.initEntityValue=function(n){var t=n.props.initialValue;if(void 0!==t){var a=n.getNamePath();void 0===(0,pn.Z)(e.store,a)&&e.updateStore((0,en.Z)(e.store,a,t))}},this.isMergedPreserve=function(n){var t=void 0!==n?n:e.preserve;return null==t||t},this.registerField=function(n){e.fieldEntities.push(n);var t=n.getNamePath();if(e.notifyWatch([t]),void 0!==n.props.initialValue){var a=e.store;e.resetWithFieldInitialValue({entities:[n],skipExist:!0}),e.notifyObservers(a,[n.getNamePath()],{type:"valueUpdate",source:"internal"})}return function(a,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(e.fieldEntities=e.fieldEntities.filter((function(t){return t!==n})),!e.isMergedPreserve(r)&&(!a||o.length>1)){var i=a?void 0:e.getInitialValue(t);if(t.length&&e.getFieldValue(t)!==i&&e.fieldEntities.every((function(n){return!bn(n.getNamePath(),t)}))){var l=e.store;e.updateStore((0,en.Z)(l,t,i,!0)),e.notifyObservers(l,[t],{type:"remove"}),e.triggerDependenciesUpdate(l,t)}}e.notifyWatch([t])}},this.dispatch=function(n){switch(n.type){case"updateValue":var t=n.namePath,a=n.value;e.updateValue(t,a);break;case"validateField":var r=n.namePath,o=n.triggerName;e.validateFields([r],{triggerName:o})}},this.notifyObservers=function(n,t,a){if(e.subscribable){var r=(0,l.Z)((0,l.Z)({},a),{},{store:e.getFieldsValue(!0)});e.getFieldEntities().forEach((function(e){(0,e.onStoreChange)(n,t,r)}))}else e.forceRootUpdate()},this.triggerDependenciesUpdate=function(n,t){var a=e.getDependencyChildrenFields(t);return a.length&&e.validateFields(a),e.notifyObservers(n,a,{type:"dependenciesUpdate",relatedFields:[t].concat((0,c.Z)(a))}),a},this.updateValue=function(n,t){var a=fn(n),r=e.store;e.updateStore((0,en.Z)(e.store,a,t)),e.notifyObservers(r,[a],{type:"valueUpdate",source:"internal"}),e.notifyWatch([a]);var o=e.triggerDependenciesUpdate(r,a),i=e.callbacks.onValuesChange;i&&i(mn(e.store,[a]),e.getFieldsValue()),e.triggerOnFieldsChange([a].concat((0,c.Z)(o)))},this.setFieldsValue=function(n){e.warningUnhooked();var t=e.store;if(n){var a=(0,en.T)(e.store,n);e.updateStore(a)}e.notifyObservers(t,null,{type:"valueUpdate",source:"external"}),e.notifyWatch()},this.setFieldValue=function(n,t){e.setFields([{name:n,value:t}])},this.getDependencyChildrenFields=function(n){var t=new Set,a=[],r=new zn;return e.getFieldEntities().forEach((function(n){(n.props.dependencies||[]).forEach((function(t){var e=fn(t);r.update(e,(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Set;return t.add(n),t}))}))})),function n(e){(r.get(e)||new Set).forEach((function(e){if(!t.has(e)){t.add(e);var r=e.getNamePath();e.isFieldDirty()&&r.length&&(a.push(r),n(r))}}))}(n),a},this.triggerOnFieldsChange=function(n,t){var a=e.callbacks.onFieldsChange;if(a){var r=e.getFields();if(t){var o=new zn;t.forEach((function(n){var t=n.name,e=n.errors;o.set(t,e)})),r.forEach((function(n){n.errors=o.get(n.name)||n.errors}))}var i=r.filter((function(t){var e=t.name;return gn(n,e)}));i.length&&a(i,r)}},this.validateFields=function(n,t){var a,r;e.warningUnhooked(),Array.isArray(n)||"string"==typeof n||"string"==typeof t?(a=n,r=t):r=n;var o=!!a,i=o?a.map(fn):[],s=[],u=String(Date.now()),d=new Set;e.getFieldEntities(!0).forEach((function(n){var t;if(o||i.push(n.getNamePath()),(null===(t=r)||void 0===t?void 0:t.recursive)&&o){var p=n.getNamePath();p.every((function(n,t){return a[t]===n||void 0===a[t]}))&&i.push(p)}if(n.props.rules&&n.props.rules.length){var f=n.getNamePath();if(d.add(f.join(u)),!o||gn(i,f)){var m=n.validateRules((0,l.Z)({validateMessages:(0,l.Z)((0,l.Z)({},tn),e.validateMessages)},r));s.push(m.then((function(){return{name:f,errors:[],warnings:[]}})).catch((function(n){var t,e=[],a=[];return null===(t=n.forEach)||void 0===t||t.call(n,(function(n){var t=n.rule.warningOnly,r=n.errors;t?a.push.apply(a,(0,c.Z)(r)):e.push.apply(e,(0,c.Z)(r))})),e.length?Promise.reject({name:f,errors:e,warnings:a}):{name:f,errors:e,warnings:a}})))}}}));var p=function(n){var t=!1,e=n.length,a=[];return n.length?new Promise((function(r,o){n.forEach((function(n,i){n.catch((function(n){return t=!0,n})).then((function(n){e-=1,a[i]=n,e>0||(t&&o(a),r(a))}))}))})):Promise.resolve([])}(s);e.lastValidatePromise=p,p.catch((function(n){return n})).then((function(n){var t=n.map((function(n){return n.name}));e.notifyObservers(e.store,t,{type:"validateFinish"}),e.triggerOnFieldsChange(t,n)}));var f=p.then((function(){return e.lastValidatePromise===p?Promise.resolve(e.getFieldsValue(i)):Promise.reject([])})).catch((function(n){var t=n.filter((function(n){return n&&n.errors.length}));return Promise.reject({values:e.getFieldsValue(i),errorFields:t,outOfDate:e.lastValidatePromise!==p})}));f.catch((function(n){return n}));var m=i.filter((function(n){return d.has(n.join(u))}));return e.triggerOnFieldsChange(m),f},this.submit=function(){e.warningUnhooked(),e.validateFields().then((function(n){var t=e.callbacks.onFinish;if(t)try{t(n)}catch(n){console.error(n)}})).catch((function(n){var t=e.callbacks.onFinishFailed;t&&t(n)}))},this.forceRootUpdate=t}));const Mn=function(n){var t=r.useRef(),e=r.useState({}),a=(0,Cn.Z)(e,2)[1];if(!t.current)if(n)t.current=n;else{var o=new On((function(){a({})}));t.current=o.getForm()}return[t.current]};var Rn=r.createContext({triggerFormChange:function(){},triggerFormFinish:function(){},registerForm:function(){},unregisterForm:function(){}});const Tn=Rn;var In=["name","initialValues","fields","form","preserve","children","component","validateMessages","validateTrigger","onValuesChange","onFieldsChange","onFinish","onFinishFailed"];const _n=function(n,t){var e=n.name,i=n.initialValues,s=n.fields,u=n.form,d=n.preserve,p=n.children,f=n.component,m=void 0===f?"form":f,g=n.validateMessages,b=n.validateTrigger,v=void 0===b?"onChange":b,w=n.onValuesChange,k=n.onFieldsChange,E=n.onFinish,C=n.onFinishFailed,Z=(0,o.Z)(n,In),S=r.useContext(Tn),N=Mn(u),z=(0,Cn.Z)(N,1)[0],P=z.getInternalHooks(h),O=P.useSubscribe,M=P.setInitialValues,R=P.setCallbacks,T=P.setValidateMessages,I=P.setPreserve,_=P.destroyForm;r.useImperativeHandle(t,(function(){return z})),r.useEffect((function(){return S.registerForm(e,z),function(){S.unregisterForm(e)}}),[S,z,e]),T((0,l.Z)((0,l.Z)({},S.validateMessages),g)),R({onValuesChange:w,onFieldsChange:function(n){if(S.triggerFormChange(e,n),k){for(var t=arguments.length,a=new Array(t>1?t-1:0),r=1;r=0&&t<=e.length?(p.keys=[].concat((0,c.Z)(p.keys.slice(0,t)),[p.id],(0,c.Z)(p.keys.slice(t))),o([].concat((0,c.Z)(e.slice(0,t)),[n],(0,c.Z)(e.slice(t))))):(p.keys=[].concat((0,c.Z)(p.keys),[p.id]),o([].concat((0,c.Z)(e),[n]))),p.id+=1},remove:function(n){var t=l(),e=new Set(Array.isArray(n)?n:[n]);e.size<=0||(p.keys=p.keys.filter((function(n,t){return!e.has(t)})),o(t.filter((function(n,t){return!e.has(t)}))))},move:function(n,t){if(n!==t){var e=l();n<0||n>=e.length||t<0||t>=e.length||(p.keys=vn(p.keys,n,t),o(vn(e,n,t)))}}},d=r||[];return Array.isArray(d)||(d=[]),a(d.map((function(n,t){var e=p.keys[t];return void 0===e&&(p.keys[t]=p.id,e=p.keys[t],p.id+=1),{name:t,key:e,isListField:!0}})),s,t)}))))},An.useForm=Mn,An.useWatch=function(){for(var n=arguments.length,t=new Array(n),e=0;e{"use strict";e.d(t,{ZP:()=>T,D7:()=>O,rJ:()=>M,nH:()=>R});var a=e(4942),r=e(7462),o=e(1002),i=e(3061),l=e(3967),c=e.n(l),s=e(7294);function u(n){return!(!n.addonBefore&&!n.addonAfter)}function d(n){return!!(n.prefix||n.suffix||n.allowClear)}function p(n,t,e,a){if(e){var r=t;if("click"===t.type){var o=n.cloneNode(!0);return r=Object.create(t,{target:{value:o},currentTarget:{value:o}}),o.value="",void e(r)}if(void 0!==a)return r=Object.create(t,{target:{value:n},currentTarget:{value:n}}),n.value=a,void e(r);e(r)}}function f(n){return null==n?"":String(n)}const m=function(n){var t=n.inputElement,e=n.prefixCls,r=n.prefix,i=n.suffix,l=n.addonBefore,p=n.addonAfter,f=n.className,m=n.style,g=n.affixWrapperClassName,b=n.groupClassName,h=n.wrapperClassName,v=n.disabled,x=n.readOnly,y=n.focused,w=n.triggerFocus,k=n.allowClear,E=n.value,C=n.handleReset,Z=n.hidden,S=(0,s.useRef)(null),N=(0,s.cloneElement)(t,{value:E,hidden:Z});if(d(n)){var z,P="".concat(e,"-affix-wrapper"),O=c()(P,(z={},(0,a.Z)(z,"".concat(P,"-disabled"),v),(0,a.Z)(z,"".concat(P,"-focused"),y),(0,a.Z)(z,"".concat(P,"-readonly"),x),(0,a.Z)(z,"".concat(P,"-input-with-clear-btn"),i&&k&&E),z),!u(n)&&f,g),M=(i||k)&&s.createElement("span",{className:"".concat(e,"-suffix")},function(){var n;if(!k)return null;var t=!v&&!x&&E,r="".concat(e,"-clear-icon"),l="object"===(0,o.Z)(k)&&null!=k&&k.clearIcon?k.clearIcon:"✖";return s.createElement("span",{onClick:C,onMouseDown:function(n){return n.preventDefault()},className:c()(r,(n={},(0,a.Z)(n,"".concat(r,"-hidden"),!t),(0,a.Z)(n,"".concat(r,"-has-suffix"),!!i),n)),role:"button",tabIndex:-1},l)}(),i);N=s.createElement("span",{className:O,style:m,hidden:!u(n)&&Z,onClick:function(n){var t;null!==(t=S.current)&&void 0!==t&&t.contains(n.target)&&(null==w||w())},ref:S},r&&s.createElement("span",{className:"".concat(e,"-prefix")},r),(0,s.cloneElement)(t,{style:null,value:E,hidden:null}),M)}if(u(n)){var R="".concat(e,"-group"),T="".concat(R,"-addon"),I=c()("".concat(e,"-wrapper"),R,h),_=c()("".concat(e,"-group-wrapper"),f,b);return s.createElement("span",{className:_,style:m,hidden:Z},s.createElement("span",{className:I},l&&s.createElement("span",{className:T},l),(0,s.cloneElement)(N,{style:null,hidden:null}),p&&s.createElement("span",{className:T},p)))}return N};var g=e(3433),b=e(9439),h=e(4925),v=e(8423),x=e(1770),y=["autoComplete","onChange","onFocus","onBlur","onPressEnter","onKeyDown","prefixCls","disabled","htmlSize","className","maxLength","suffix","showCount","type","inputClassName"];const w=(0,s.forwardRef)((function(n,t){var e=n.autoComplete,i=n.onChange,l=n.onFocus,w=n.onBlur,k=n.onPressEnter,E=n.onKeyDown,C=n.prefixCls,Z=void 0===C?"rc-input":C,S=n.disabled,N=n.htmlSize,z=n.className,P=n.maxLength,O=n.suffix,M=n.showCount,R=n.type,T=void 0===R?"text":R,I=n.inputClassName,_=(0,h.Z)(n,y),L=(0,x.Z)(n.defaultValue,{value:n.value}),A=(0,b.Z)(L,2),D=A[0],j=A[1],F=(0,s.useState)(!1),K=(0,b.Z)(F,2),V=K[0],H=K[1],B=(0,s.useRef)(null),U=function(n){B.current&&function(n,t){if(n){n.focus(t);var e=(t||{}).cursor;if(e){var a=n.value.length;switch(e){case"start":n.setSelectionRange(0,0);break;case"end":n.setSelectionRange(a,a);break;default:n.setSelectionRange(0,a)}}}}(B.current,n)};(0,s.useImperativeHandle)(t,(function(){return{focus:U,blur:function(){var n;null===(n=B.current)||void 0===n||n.blur()},setSelectionRange:function(n,t,e){var a;null===(a=B.current)||void 0===a||a.setSelectionRange(n,t,e)},select:function(){var n;null===(n=B.current)||void 0===n||n.select()},input:B.current}})),(0,s.useEffect)((function(){H((function(n){return(!n||!S)&&n}))}),[S]);var W;return s.createElement(m,(0,r.Z)({},_,{prefixCls:Z,className:z,inputElement:(W=(0,v.Z)(n,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","affixWrapperClassName","groupClassName","inputClassName","wrapperClassName","htmlSize"]),s.createElement("input",(0,r.Z)({autoComplete:e},W,{onChange:function(t){void 0===n.value&&j(t.target.value),B.current&&p(B.current,t,i)},onFocus:function(n){H(!0),null==l||l(n)},onBlur:function(n){H(!1),null==w||w(n)},onKeyDown:function(n){k&&"Enter"===n.key&&k(n),null==E||E(n)},className:c()(Z,(0,a.Z)({},"".concat(Z,"-disabled"),S),I,!u(n)&&!d(n)&&z),ref:B,size:N,type:T}))),handleReset:function(n){j(""),U(),B.current&&p(B.current,n,i)},value:f(D),focused:V,triggerFocus:U,suffix:function(){var n=Number(P)>0;if(O||M){var t=f(D),e=(0,g.Z)(t).length,r="object"===(0,o.Z)(M)?M.formatter({value:t,count:e,maxLength:P}):"".concat(e).concat(n?" / ".concat(P):"");return s.createElement(s.Fragment,null,!!M&&s.createElement("span",{className:c()("".concat(Z,"-show-count-suffix"),(0,a.Z)({},"".concat(Z,"-show-count-has-suffix"),!!O))},r),O)}return null}(),disabled:S}))}));var k=e(2550),E=e(3124),C=e(8866),Z=e(7647),S=e(5702),N=e(4173),z=e(9708),P=e(2922);function O(n){return null==n?"":String(n)}function M(n,t,e,a){if(e){var r=t;if("click"===t.type){var o=n.cloneNode(!0);return r=Object.create(t,{target:{value:o},currentTarget:{value:o}}),o.value="",void e(r)}if(void 0!==a)return r=Object.create(t,{target:{value:n},currentTarget:{value:n}}),n.value=a,void e(r);e(r)}}function R(n,t){if(n){n.focus(t);var e=(t||{}).cursor;if(e){var a=n.value.length;switch(e){case"start":n.setSelectionRange(0,0);break;case"end":n.setSelectionRange(a,a);break;default:n.setSelectionRange(0,a)}}}}const T=(0,s.forwardRef)((function(n,t){var e,l,u,d=n.prefixCls,p=n.bordered,f=void 0===p||p,m=n.status,g=n.size,b=n.disabled,h=n.onBlur,v=n.onFocus,x=n.suffix,y=n.allowClear,O=n.addonAfter,M=n.addonBefore,R=n.className,T=n.onChange,I=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r{"use strict";e.d(t,{Z:()=>F});var a,r=e(1002),o=e(4942),i=e(7462),l=e(9439),c=e(3433),s=e(3967),u=e.n(s),d=e(5671),p=e(3144),f=e(9340),m=e(8557),g=e(7294),b=e(1413),h=e(4925),v=e(8717),x=e(8410),y=e(5164),w=e(1770),k=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"],E={};var C=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"];const Z=g.forwardRef((function(n,t){var e=n.prefixCls,c=void 0===e?"rc-textarea":e,s=(n.onPressEnter,n.defaultValue),d=n.value,p=n.autoSize,f=n.onResize,m=n.className,Z=n.style,S=n.disabled,N=n.onChange,z=(n.onInternalAutoSize,(0,h.Z)(n,C)),P=(0,w.Z)(s,{value:d,postState:function(n){return null!=n?n:""}}),O=(0,l.Z)(P,2),M=O[0],R=O[1],T=g.useRef();g.useImperativeHandle(t,(function(){return{textArea:T.current}}));var I=g.useMemo((function(){return p&&"object"===(0,r.Z)(p)?[p.minRows,p.maxRows]:[]}),[p]),_=(0,l.Z)(I,2),L=_[0],A=_[1],D=!!p,j=g.useState(2),F=(0,l.Z)(j,2),K=F[0],V=F[1],H=g.useState(),B=(0,l.Z)(H,2),U=B[0],W=B[1],q=function(){V(0)};(0,x.Z)((function(){D&&q()}),[d,L,A,D]),(0,x.Z)((function(){if(0===K)V(1);else if(1===K){var n=function(n){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;a||((a=document.createElement("textarea")).setAttribute("tab-index","-1"),a.setAttribute("aria-hidden","true"),document.body.appendChild(a)),n.getAttribute("wrap")?a.setAttribute("wrap",n.getAttribute("wrap")):a.removeAttribute("wrap");var o=function(n){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],e=n.getAttribute("id")||n.getAttribute("data-reactid")||n.getAttribute("name");if(t&&E[e])return E[e];var a=window.getComputedStyle(n),r=a.getPropertyValue("box-sizing")||a.getPropertyValue("-moz-box-sizing")||a.getPropertyValue("-webkit-box-sizing"),o=parseFloat(a.getPropertyValue("padding-bottom"))+parseFloat(a.getPropertyValue("padding-top")),i=parseFloat(a.getPropertyValue("border-bottom-width"))+parseFloat(a.getPropertyValue("border-top-width")),l={sizingStyle:k.map((function(n){return"".concat(n,":").concat(a.getPropertyValue(n))})).join(";"),paddingSize:o,borderSize:i,boxSizing:r};return t&&e&&(E[e]=l),l}(n,t),i=o.paddingSize,l=o.borderSize,c=o.boxSizing,s=o.sizingStyle;a.setAttribute("style","".concat(s,";").concat("\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n pointer-events: none !important;\n")),a.value=n.value||n.placeholder||"";var u,d=void 0,p=void 0,f=a.scrollHeight;if("border-box"===c?f+=l:"content-box"===c&&(f-=i),null!==e||null!==r){a.value=" ";var m=a.scrollHeight-i;null!==e&&(d=m*e,"border-box"===c&&(d=d+i+l),f=Math.max(d,f)),null!==r&&(p=m*r,"border-box"===c&&(p=p+i+l),u=f>p?"":"hidden",f=Math.min(p,f))}var g={height:f,overflowY:u,resize:"none"};return d&&(g.minHeight=d),p&&(g.maxHeight=p),g}(T.current,!1,L,A);V(2),W(n)}else!function(){try{if(document.activeElement===T.current){var n=T.current,t=n.selectionStart,e=n.selectionEnd,a=n.scrollTop;T.current.setSelectionRange(t,e),T.current.scrollTop=a}}catch(n){}}()}),[K]);var $=g.useRef(),Y=function(){y.Z.cancel($.current)};g.useEffect((function(){return Y}),[]);var X=D?U:null,G=(0,b.Z)((0,b.Z)({},Z),X);return 0!==K&&1!==K||(G.overflowY="hidden",G.overflowX="hidden"),g.createElement(v.Z,{onResize:function(n){2===K&&(null==f||f(n),p&&(Y(),$.current=(0,y.Z)((function(){q()}))))},disabled:!(p||f)},g.createElement("textarea",(0,i.Z)({},z,{ref:T,style:G,className:u()(c,m,(0,o.Z)({},"".concat(c,"-disabled"),S)),disabled:S,value:M,onChange:function(n){R(n.target.value),null==N||N(n)}})))})),S=function(n){(0,f.Z)(e,n);var t=(0,m.Z)(e);function e(n){var a;(0,d.Z)(this,e),(a=t.call(this,n)).resizableTextArea=void 0,a.focus=function(){a.resizableTextArea.textArea.focus()},a.saveTextArea=function(n){a.resizableTextArea=n},a.handleChange=function(n){var t=a.props.onChange;a.setValue(n.target.value),t&&t(n)},a.handleKeyDown=function(n){var t=a.props,e=t.onPressEnter,r=t.onKeyDown;13===n.keyCode&&e&&e(n),r&&r(n)};var r=void 0===n.value||null===n.value?n.defaultValue:n.value;return a.state={value:r},a}return(0,p.Z)(e,[{key:"setValue",value:function(n,t){"value"in this.props||this.setState({value:n},t)}},{key:"blur",value:function(){this.resizableTextArea.textArea.blur()}},{key:"render",value:function(){return g.createElement(Z,(0,i.Z)({},this.props,{value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,ref:this.saveTextArea}))}}],[{key:"getDerivedStateFromProps",value:function(n){return"value"in n?{value:n.value}:null}}]),e}(g.Component);var N=e(8423),z=e(3124),P=e(8866),O=e(7647),M=e(5702),R=e(9708),T=e(3061),I=e(6159),_=(0,e(3355).b)("text","input");const L=function(n){(0,f.Z)(e,n);var t=(0,m.Z)(e);function e(){return(0,d.Z)(this,e),t.apply(this,arguments)}return(0,p.Z)(e,[{key:"renderClearIcon",value:function(n){var t,e=this.props,a=e.value,r=e.disabled,i=e.readOnly,l=e.handleReset,c=e.suffix,s=!r&&!i&&a,d="".concat(n,"-clear-icon");return g.createElement(T.Z,{onClick:l,onMouseDown:function(n){return n.preventDefault()},className:u()((t={},(0,o.Z)(t,"".concat(d,"-hidden"),!s),(0,o.Z)(t,"".concat(d,"-has-suffix"),!!c),t),d),role:"button"})}},{key:"renderTextAreaWithClearIcon",value:function(n,t,e){var a,r=this.props,i=r.value,l=r.allowClear,c=r.className,s=r.focused,d=r.style,p=r.direction,f=r.bordered,m=r.hidden,b=r.status,h=e.status,v=e.hasFeedback;if(!l)return(0,I.Tm)(t,{value:i});var x,y=u()("".concat(n,"-affix-wrapper"),"".concat(n,"-affix-wrapper-textarea-with-clear-btn"),(0,R.Z)("".concat(n,"-affix-wrapper"),(0,R.F)(h,b),v),(a={},(0,o.Z)(a,"".concat(n,"-affix-wrapper-focused"),s),(0,o.Z)(a,"".concat(n,"-affix-wrapper-rtl"),"rtl"===p),(0,o.Z)(a,"".concat(n,"-affix-wrapper-borderless"),!f),(0,o.Z)(a,"".concat(c),!((x=this.props).addonBefore||x.addonAfter)&&c),a));return g.createElement("span",{className:y,style:d,hidden:m},(0,I.Tm)(t,{style:null,value:i}),this.renderClearIcon(n))}},{key:"render",value:function(){var n=this;return g.createElement(M.aM.Consumer,null,(function(t){var e=n.props,a=e.prefixCls,r=e.inputType,o=e.element;if(r===_[0])return n.renderTextAreaWithClearIcon(a,o,t)}))}}]),e}(g.Component);var A=e(9802);function D(n,t){return(0,c.Z)(n||"").slice(0,t).join("")}function j(n,t,e,a){var r=e;return n?r=D(e,a):(0,c.Z)(t||"").lengtha&&(r=t),r}const F=g.forwardRef((function(n,t){var e,a=n.prefixCls,s=n.bordered,d=void 0===s||s,p=n.showCount,f=void 0!==p&&p,m=n.maxLength,b=n.className,h=n.style,v=n.size,x=n.disabled,y=n.onCompositionStart,k=n.onCompositionEnd,E=n.onChange,C=n.onFocus,Z=n.onBlur,T=n.status,I=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r0;g.useEffect((function(){ln((function(n){return!B&&n}))}),[B]);var hn=F("input",a);g.useImperativeHandle(t,(function(){var n;return{resizableTextArea:null===(n=G.current)||void 0===n?void 0:n.resizableTextArea,focus:function(n){var t,e;(0,A.nH)(null===(e=null===(t=G.current)||void 0===t?void 0:t.resizableTextArea)||void 0===e?void 0:e.textArea,n)},blur:function(){var n;return null===(n=G.current)||void 0===n?void 0:n.blur()}}}));var vn=g.createElement(S,(0,i.Z)({},(0,N.Z)(I,["allowClear"]),{disabled:B,className:u()((e={},(0,o.Z)(e,"".concat(hn,"-borderless"),!d),(0,o.Z)(e,b,b&&!f),(0,o.Z)(e,"".concat(hn,"-sm"),"small"===V||"small"===v),(0,o.Z)(e,"".concat(hn,"-lg"),"large"===V||"large"===v),e),(0,R.Z)(hn,X)),style:f?{resize:null==h?void 0:h.resize}:h,prefixCls:hn,onCompositionStart:function(n){en(!0),cn.current=pn,sn.current=n.currentTarget.selectionStart,null==y||y(n)},onChange:function(n){var t=n.target.value;!tn&&bn&&(t=j(n.target.selectionStart>=m+1||n.target.selectionStart===t.length||!n.target.selectionStart,pn,t,m)),gn(t),(0,A.rJ)(n.currentTarget,n,E,t)},onBlur:function(n){ln(!1),null==Z||Z(n)},onFocus:function(n){ln(!0),null==C||C(n)},onCompositionEnd:function(n){var t;en(!1);var e=n.currentTarget.value;bn&&(e=j(sn.current>=m+1||sn.current===(null===(t=cn.current)||void 0===t?void 0:t.length),cn.current,e,m)),e!==pn&&(gn(e),(0,A.rJ)(n.currentTarget,n,E,e)),null==k||k(n)},ref:G})),xn=(0,A.D7)(pn);tn||!bn||null!==I.value&&void 0!==I.value||(xn=D(xn,m));var yn=g.createElement(L,(0,i.Z)({disabled:B,focused:on},I,{prefixCls:hn,direction:K,inputType:"text",value:xn,element:vn,handleReset:function(n){var t,e,a;gn(""),null===(t=G.current)||void 0===t||t.focus(),(0,A.rJ)(null===(a=null===(e=G.current)||void 0===e?void 0:e.resizableTextArea)||void 0===a?void 0:a.textArea,n,E)},ref:Q,bordered:d,status:T,style:f?void 0:h}));if(f||q){var wn,kn,En=(0,c.Z)(xn).length;return kn="object"===(0,r.Z)(f)?f.formatter({value:xn,count:En,maxLength:m}):"".concat(En).concat(bn?" / ".concat(m):""),g.createElement("div",{hidden:mn,className:u()("".concat(hn,"-textarea"),(wn={},(0,o.Z)(wn,"".concat(hn,"-textarea-rtl"),"rtl"===K),(0,o.Z)(wn,"".concat(hn,"-textarea-show-count"),f),(0,o.Z)(wn,"".concat(hn,"-textarea-in-form-item"),$),wn),(0,R.Z)("".concat(hn,"-textarea"),X,q),b),style:h,"data-count":kn},yn,q&&g.createElement("span",{className:"".concat(hn,"-textarea-suffix")},Y))}return yn}))},2922:(n,t,e)=>{"use strict";e.d(t,{Z:()=>r});var a=e(7294);function r(n,t){var e=(0,a.useRef)([]),r=function(){e.current.push(setTimeout((function(){var t,e,a,r;(null===(t=n.current)||void 0===t?void 0:t.input)&&"password"===(null===(e=n.current)||void 0===e?void 0:e.input.getAttribute("type"))&&(null===(a=n.current)||void 0===a?void 0:a.input.hasAttribute("value"))&&(null===(r=n.current)||void 0===r||r.input.removeAttribute("value"))})))};return(0,a.useEffect)((function(){return t&&r(),function(){return e.current.forEach((function(n){n&&clearTimeout(n)}))}}),[]),r}},5019:(n,t,e)=>{"use strict";e.d(t,{Z:()=>_});var a=e(7462),r=e(4942),o=e(3967),i=e.n(o),l=e(7294),c=e(3124),s=e(5702);var u=e(9802),d=e(9439),p=e(1002),f=e(1413);const m={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"};var g=e(76),b=function(n,t){return l.createElement(g.Z,(0,f.Z)((0,f.Z)({},n),{},{ref:t,icon:m}))};const h=l.forwardRef(b),v={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"};var x=function(n,t){return l.createElement(g.Z,(0,f.Z)((0,f.Z)({},n),{},{ref:t,icon:v}))};const y=l.forwardRef(x);var w=e(8423),k=e(2550),E=e(2922),C=function(n){return n?l.createElement(y,null):l.createElement(h,null)},Z={click:"onClick",hover:"onMouseOver"};const S=l.forwardRef((function(n,t){var e=n.visibilityToggle,o=void 0===e||e,s="object"===(0,p.Z)(o)&&void 0!==o.visible,f=(0,l.useState)((function(){return!!s&&o.visible})),m=(0,d.Z)(f,2),g=m[0],b=m[1],h=(0,l.useRef)(null);l.useEffect((function(){s&&b(o.visible)}),[s,o]);var v=(0,E.Z)(h),x=function(){n.disabled||(g&&v(),b((function(n){var t,e=!n;return"object"===(0,p.Z)(o)&&(null===(t=o.onVisibleChange)||void 0===t||t.call(o,e)),e})))},y=function(e){var c=e.getPrefixCls,s=n.className,d=n.prefixCls,p=n.inputPrefixCls,f=n.size,m=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r{"use strict";e.d(t,{Z:()=>l,E:()=>c});var a=e(7462),r=e(7294),o=e(7178);const i=e(5767).Z,l=function(n){var t=n.componentName,e=void 0===t?"global":t,l=n.defaultLocale,c=n.children,s=r.useContext(o.Z);return c(r.useMemo((function(){var n,t=l||i[e],r=null!==(n=null==s?void 0:s[e])&&void 0!==n?n:{};return(0,a.Z)((0,a.Z)({},t instanceof Function?t():t),r||{})}),[e,l,s]),r.useMemo((function(){var n=s&&s.locale;return s&&s.exist&&!n?i.locale:n}),[s]),s)};var c=function(n,t){var e=r.useContext(o.Z);return[r.useMemo((function(){var r,o=t||i[n],l=null!==(r=null==e?void 0:e[n])&&void 0!==r?r:{};return(0,a.Z)((0,a.Z)({},"function"==typeof o?o():o),l||{})}),[n,t,e])]}},7178:(n,t,e)=>{"use strict";e.d(t,{Z:()=>a});const a=(0,e(7294).createContext)(void 0)},5767:(n,t,e)=>{"use strict";e.d(t,{Z:()=>s});var a=e(2906),r=e(7462);const o={placeholder:"Select time",rangePlaceholder:["Start time","End time"]},i={lang:(0,r.Z)({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},{locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"}),timePickerLocale:(0,r.Z)({},o)},l=i;var c="${label} is not a valid ${type}";const s={locale:"en",Pagination:a.Z,DatePicker:i,TimePicker:o,Calendar:l,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand"},PageHeader:{back:"Back"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:c,method:c,array:c,object:c,number:c,date:c,boolean:c,integer:c,float:c,regexp:c,email:c,url:c,hex:c},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"}}},0:(n,t,e)=>{"use strict";e.d(t,{Df:()=>V,ZP:()=>H,S$:()=>L,z$:()=>j});var a=e(7462),r=e(4942),o=e(1413),i=e(7294);const l={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"}}]},name:"check-circle",theme:"filled"};var c=e(76),s=function(n,t){return i.createElement(c.Z,(0,o.Z)((0,o.Z)({},n),{},{ref:t,icon:l}))};const u=i.forwardRef(s);var d=e(3061);const p={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"exclamation-circle",theme:"filled"};var f=function(n,t){return i.createElement(c.Z,(0,o.Z)((0,o.Z)({},n),{},{ref:t,icon:p}))};const m=i.forwardRef(f),g={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"info-circle",theme:"filled"};var b=function(n,t){return i.createElement(c.Z,(0,o.Z)((0,o.Z)({},n),{},{ref:t,icon:g}))};const h=i.forwardRef(b);var v,x,y,w,k=e(7085),E=e(3967),C=e.n(E),Z=e(8287),S=e(4468),N=e(9439),z=e(1550),P=e(3124),O=3,M=1,R="",T="move-up",I=!1,_=!1;function L(){return M++}function A(n,t){var e=n.prefixCls,a=n.getPopupContainer,r=(0,S.w6)(),o=r.getPrefixCls,i=r.getRootPrefixCls,l=r.getIconPrefixCls,c=o("message",e||R),s=i(n.rootPrefixCls,c),u=l();if(v)t({prefixCls:c,rootPrefixCls:s,iconPrefixCls:u,instance:v});else{var d={prefixCls:c,transitionName:I?T:"".concat(s,"-").concat(T),style:{top:x},getContainer:y||a,maxCount:w};Z.Z.newInstance(d,(function(n){v?t({prefixCls:c,rootPrefixCls:s,iconPrefixCls:u,instance:v}):(v=n,t({prefixCls:c,rootPrefixCls:s,iconPrefixCls:u,instance:n}))}))}}var D={info:h,success:u,error:d.Z,warning:m,loading:k.Z},j=Object.keys(D);function F(n,t,e){var a,o=void 0!==n.duration?n.duration:O,l=D[n.type],c=C()("".concat(t,"-custom-content"),(a={},(0,r.Z)(a,"".concat(t,"-").concat(n.type),n.type),(0,r.Z)(a,"".concat(t,"-rtl"),!0===_),a));return{key:n.key,duration:o,style:n.style||{},className:n.className,content:i.createElement(S.ZP,{iconPrefixCls:e},i.createElement("div",{className:c},n.icon||l&&i.createElement(l,null),i.createElement("span",null,n.content))),onClose:n.onClose,onClick:n.onClick}}var K={open:function(n){var t=n.key||L(),e=new Promise((function(e){var r=function(){return"function"==typeof n.onClose&&n.onClose(),e(!0)};A(n,(function(e){var o=e.prefixCls,i=e.iconPrefixCls;e.instance.notice(F((0,a.Z)((0,a.Z)({},n),{key:t,onClose:r}),o,i))}))})),r=function(){var e;v&&(v.removeNotice(t),null===(e=n.onClose)||void 0===e||e.call(n))};return r.then=function(n,t){return e.then(n,t)},r.promise=e,r},config:function(n){void 0!==n.top&&(x=n.top,v=null),void 0!==n.duration&&(O=n.duration),void 0!==n.prefixCls&&(R=n.prefixCls),void 0!==n.getContainer&&(y=n.getContainer,v=null),void 0!==n.transitionName&&(T=n.transitionName,v=null,I=!0),void 0!==n.maxCount&&(w=n.maxCount,v=null),void 0!==n.rtl&&(_=n.rtl)},destroy:function(n){if(v)if(n)(0,v.removeNotice)(n);else{(0,v.destroy)(),v=null}}};function V(n,t){n[t]=function(e,r,o){return function(n){return"[object Object]"===Object.prototype.toString.call(n)&&!!n.content}(e)?n.open((0,a.Z)((0,a.Z)({},e),{type:t})):("function"==typeof r&&(o=r,r=void 0),n.open({content:e,duration:r,type:t,onClose:o}))}}j.forEach((function(n){return V(K,n)})),K.warn=K.warning,K.useMessage=function(n,t){return function(){var e,r,o=null,l={add:function(n,t){null==o||o.component.add(n,t)}},c=(0,z.Z)(l),s=(0,N.Z)(c,2),u=s[0],d=s[1],p=i.useRef({});return p.current.open=function(i){var l=i.prefixCls,c=e("message",l),s=e(),d=i.key||L(),p=new Promise((function(e){var l=function(){return"function"==typeof i.onClose&&i.onClose(),e(!0)};n((0,a.Z)((0,a.Z)({},i),{prefixCls:c,rootPrefixCls:s,getPopupContainer:r}),(function(n){var e=n.prefixCls,r=n.instance;o=r,u(t((0,a.Z)((0,a.Z)({},i),{key:d,onClose:l}),e))}))})),f=function(){o&&o.removeNotice(d)};return f.then=function(n,t){return p.then(n,t)},f.promise=p,f},j.forEach((function(n){return V(p.current,n)})),[p.current,i.createElement(P.C,{key:"holder"},(function(n){return e=n.getPrefixCls,r=n.getPopupContainer,d}))]}}(A,F);const H=K},7079:(n,t,e)=>{"use strict";e.d(t,{Z:()=>Nn});var a=e(3433),r=e(7462),o=e(5873),i=e(3218),l=e(7119),c=e(8628),s=e(8135),u=e(7294),d=e.t(u,2),p=e(4468),f=e(4942),m=e(3967),g=e.n(m),b=e(9439),h=e(470),v=e(1577),x=e(3839);function y(n){return!(!n||!n.then)}const w=function(n){var t=u.useRef(!1),e=u.useRef(null),a=(0,h.Z)(!1),o=(0,b.Z)(a,2),i=o[0],l=o[1],c=n.close,s=function(){null==c||c.apply(void 0,arguments)};u.useEffect((function(){var t=null;return n.autoFocus&&(t=setTimeout((function(){var n;null===(n=e.current)||void 0===n||n.focus()}))),function(){t&&clearTimeout(t)}}),[]);var d=n.type,p=n.children,f=n.prefixCls,m=n.buttonProps;return u.createElement(v.Z,(0,r.Z)({},(0,x.n)(d),{onClick:function(e){var a=n.actionFn;if(!t.current)if(t.current=!0,a){var r;if(n.emitEvent){if(r=a(e),n.quitOnNullishReturnValue&&!y(r))return t.current=!1,void s(e)}else if(a.length)r=a(c),t.current=!1;else if(!(r=a()))return void s();!function(n){y(n)&&(l(!0),n.then((function(){l(!1,!0),s.apply(void 0,arguments),t.current=!1}),(function(n){return l(!1,!0),t.current=!1,Promise.reject(n)})))}(r)}else s()},loading:i,prefixCls:f},m,{ref:e}),p)};var k=e(3603),E=e(4549),C=e(3935),Z=e(8924),S=(e(334),e(2550));const N=u.createContext(null);var z=e(8410),P=[],O=e(4958),M=e(4204),R="rc-util-locker-".concat(Date.now()),T=0;var I=!1,_=function(n){return!1!==n&&((0,Z.Z)()&&n?"string"==typeof n?document.querySelector(n):"function"==typeof n?n():n:null)};const L=u.forwardRef((function(n,t){var e=n.open,r=n.autoLock,o=n.getContainer,i=(n.debug,n.autoDestroy),l=void 0===i||i,c=n.children,s=u.useState(e),d=(0,b.Z)(s,2),p=d[0],f=d[1],m=p||e;u.useEffect((function(){(l||e)&&f(e)}),[e,l]);var g=u.useState((function(){return _(o)})),h=(0,b.Z)(g,2),v=h[0],x=h[1];u.useEffect((function(){var n=_(o);x(null!=n?n:null)}));var y=function(n){var t=u.useState((function(){return(0,Z.Z)()?document.createElement("div"):null})),e=(0,b.Z)(t,1)[0],r=u.useRef(!1),o=u.useContext(N),i=u.useState(P),l=(0,b.Z)(i,2),c=l[0],s=l[1],d=o||(r.current?void 0:function(n){s((function(t){return[n].concat((0,a.Z)(t))}))});function p(){e.parentElement||document.body.appendChild(e),r.current=!0}function f(){var n;null===(n=e.parentElement)||void 0===n||n.removeChild(e),r.current=!1}return(0,z.Z)((function(){return n?o?o(p):p():f(),f}),[n]),(0,z.Z)((function(){c.length&&(c.forEach((function(n){return n()})),s(P))}),[c]),[e,d]}(m&&!v),w=(0,b.Z)(y,2),k=w[0],E=w[1],L=null!=v?v:k;!function(n){var t=!!n,e=u.useState((function(){return T+=1,"".concat(R,"_").concat(T)})),a=(0,b.Z)(e,1)[0];(0,z.Z)((function(){if(t){var n=(0,M.o)(document.body).width,e=document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth;(0,O.hq)("\nhtml body {\n overflow-y: hidden;\n ".concat(e?"width: calc(100% - ".concat(n,"px);"):"","\n}"),a)}else(0,O.jL)(a);return function(){(0,O.jL)(a)}}),[t,a])}(r&&e&&(0,Z.Z)()&&(L===k||L===document.body));var A=null;c&&(0,S.Yr)(c)&&t&&(A=c.ref);var D=(0,S.x1)(A,t);if(!m||!(0,Z.Z)()||void 0===v)return null;var j=!1===L||I,F=c;return t&&(F=u.cloneElement(c,{ref:D})),u.createElement(N.Provider,{value:E},j?F:(0,C.createPortal)(F,L))}));var A=e(1413),D=e(5105),j=0,F=(0,A.Z)({},d).useId;const K=F?function(n){var t=F();return n||t}:function(n){var t=u.useState("ssr-id"),e=(0,b.Z)(t,2),a=e[0],r=e[1];return u.useEffect((function(){var n=j;j+=1,r("rc_unique_".concat(n))}),[]),n||a};var V=e(4999),H=e(4217),B=e(5995);function U(n){var t=n.prefixCls,e=n.style,a=n.visible,o=n.maskProps,i=n.motionName;return u.createElement(B.ZP,{key:"mask",visible:a,motionName:i,leavedClassName:"".concat(t,"-mask-hidden")},(function(n,a){var i=n.className,l=n.style;return u.createElement("div",(0,r.Z)({ref:a,style:(0,A.Z)((0,A.Z)({},l),e),className:g()("".concat(t,"-mask"),i)},o))}))}function W(n,t,e){var a=t;return!a&&e&&(a="".concat(n,"-").concat(e)),a}function q(n,t){var e=n["page".concat(t?"Y":"X","Offset")],a="scroll".concat(t?"Top":"Left");if("number"!=typeof e){var r=n.document;"number"!=typeof(e=r.documentElement[a])&&(e=r.body[a])}return e}const $=u.memo((function(n){return n.children}),(function(n,t){return!t.shouldUpdate}));var Y={width:0,height:0,overflow:"hidden",outline:"none"};const X=u.forwardRef((function(n,t){var e=n.prefixCls,a=n.className,o=n.style,i=n.title,l=n.ariaId,c=n.footer,s=n.closable,d=n.closeIcon,p=n.onClose,f=n.children,m=n.bodyStyle,b=n.bodyProps,h=n.modalRender,v=n.onMouseDown,x=n.onMouseUp,y=n.holderRef,w=n.visible,k=n.forceRender,E=n.width,C=n.height,Z=(0,u.useRef)(),S=(0,u.useRef)();u.useImperativeHandle(t,(function(){return{focus:function(){var n;null===(n=Z.current)||void 0===n||n.focus({preventScroll:!0})},changeActive:function(n){var t=document.activeElement;n&&t===S.current?Z.current.focus({preventScroll:!0}):n||t!==Z.current||S.current.focus({preventScroll:!0})}}}));var N,z,P,O={};void 0!==E&&(O.width=E),void 0!==C&&(O.height=C),c&&(N=u.createElement("div",{className:"".concat(e,"-footer")},c)),i&&(z=u.createElement("div",{className:"".concat(e,"-header")},u.createElement("div",{className:"".concat(e,"-title"),id:l},i))),s&&(P=u.createElement("button",{type:"button",onClick:p,"aria-label":"Close",className:"".concat(e,"-close")},d||u.createElement("span",{className:"".concat(e,"-close-x")})));var M=u.createElement("div",{className:"".concat(e,"-content")},P,z,u.createElement("div",(0,r.Z)({className:"".concat(e,"-body"),style:m},b),f),N);return u.createElement("div",{key:"dialog-element",role:"dialog","aria-labelledby":i?l:null,"aria-modal":"true",ref:y,style:(0,A.Z)((0,A.Z)({},o),O),className:g()(e,a),onMouseDown:v,onMouseUp:x},u.createElement("div",{tabIndex:0,ref:Z,style:Y}),u.createElement($,{shouldUpdate:w||k},h?h(M):M),u.createElement("div",{tabIndex:0,ref:S,style:Y}))}));var G=u.forwardRef((function(n,t){var e=n.prefixCls,a=n.title,o=n.style,i=n.className,l=n.visible,c=n.forceRender,s=n.destroyOnClose,d=n.motionName,p=n.ariaId,f=n.onVisibleChanged,m=n.mousePosition,h=(0,u.useRef)(),v=u.useState(),x=(0,b.Z)(v,2),y=x[0],w=x[1],k={};function E(){var n,t,e,a,r,o=(e={left:(t=(n=h.current).getBoundingClientRect()).left,top:t.top},r=(a=n.ownerDocument).defaultView||a.parentWindow,e.left+=q(r),e.top+=q(r,!0),e);w(m?"".concat(m.x-o.left,"px ").concat(m.y-o.top,"px"):"")}return y&&(k.transformOrigin=y),u.createElement(B.ZP,{visible:l,onVisibleChanged:f,onAppearPrepare:E,onEnterPrepare:E,forceRender:c,motionName:d,removeOnLeave:s,ref:h},(function(l,c){var s=l.className,d=l.style;return u.createElement(X,(0,r.Z)({},n,{ref:t,title:a,ariaId:p,prefixCls:e,holderRef:c,style:(0,A.Z)((0,A.Z)((0,A.Z)({},d),o),k),className:g()(i,s)}))}))}));G.displayName="Content";const Q=G;function J(n){var t=n.prefixCls,e=void 0===t?"rc-dialog":t,a=n.zIndex,o=n.visible,i=void 0!==o&&o,l=n.keyboard,c=void 0===l||l,s=n.focusTriggerAfterClose,d=void 0===s||s,p=n.wrapStyle,f=n.wrapClassName,m=n.wrapProps,h=n.onClose,v=n.afterClose,x=n.transitionName,y=n.animation,w=n.closable,k=void 0===w||w,E=n.mask,C=void 0===E||E,Z=n.maskTransitionName,S=n.maskAnimation,N=n.maskClosable,z=void 0===N||N,P=n.maskStyle,O=n.maskProps,M=n.rootClassName,R=(0,u.useRef)(),T=(0,u.useRef)(),I=(0,u.useRef)(),_=u.useState(i),L=(0,b.Z)(_,2),j=L[0],F=L[1],B=K();function q(n){null==h||h(n)}var $=(0,u.useRef)(!1),Y=(0,u.useRef)(),X=null;return z&&(X=function(n){$.current?$.current=!1:T.current===n.target&&q(n)}),(0,u.useEffect)((function(){i&&(F(!0),(0,V.Z)(T.current,document.activeElement)||(R.current=document.activeElement))}),[i]),(0,u.useEffect)((function(){return function(){clearTimeout(Y.current)}}),[]),u.createElement("div",(0,r.Z)({className:g()("".concat(e,"-root"),M)},(0,H.Z)(n,{data:!0})),u.createElement(U,{prefixCls:e,visible:C&&i,motionName:W(e,Z,S),style:(0,A.Z)({zIndex:a},P),maskProps:O}),u.createElement("div",(0,r.Z)({tabIndex:-1,onKeyDown:function(n){if(c&&n.keyCode===D.Z.ESC)return n.stopPropagation(),void q(n);i&&n.keyCode===D.Z.TAB&&I.current.changeActive(!n.shiftKey)},className:g()("".concat(e,"-wrap"),f),ref:T,onClick:X,style:(0,A.Z)((0,A.Z)({zIndex:a},p),{},{display:j?null:"none"})},m),u.createElement(Q,(0,r.Z)({},n,{onMouseDown:function(){clearTimeout(Y.current),$.current=!0},onMouseUp:function(){Y.current=setTimeout((function(){$.current=!1}))},ref:I,closable:k,ariaId:B,prefixCls:e,visible:i&&j,onClose:q,onVisibleChanged:function(n){if(n)(0,V.Z)(T.current,document.activeElement)||null===(t=I.current)||void 0===t||t.focus();else{if(F(!1),C&&R.current&&d){try{R.current.focus({preventScroll:!0})}catch(n){}R.current=null}j&&(null==v||v())}var t},motionName:W(e,x,y)}))))}var nn=function(n){var t=n.visible,e=n.getContainer,a=n.forceRender,o=n.destroyOnClose,i=void 0!==o&&o,l=n.afterClose,c=u.useState(t),s=(0,b.Z)(c,2),d=s[0],p=s[1];return u.useEffect((function(){t&&p(!0)}),[t]),a||!i||d?u.createElement(L,{open:t||a||d,autoDestroy:!1,getContainer:e,autoLock:t||d},u.createElement(J,(0,r.Z)({},n,{destroyOnClose:i,afterClose:function(){null==l||l(),p(!1)}}))):null};nn.displayName="Dialog";const tn=nn;var en,an=e(3124),rn=e(5702),on=e(2051),ln=e(4173),cn=e(1808),sn=e(3008);(0,cn.jD)()&&document.documentElement.addEventListener("click",(function(n){en={x:n.pageX,y:n.pageY},setTimeout((function(){en=null}),100)}),!0);const un=function(n){var t,e,a=u.useContext(an.E_),o=a.getPopupContainer,i=a.getPrefixCls,l=a.direction,c=function(t){var e=n.onCancel;null==e||e(t)},s=function(t){var e=n.onOk;null==e||e(t)},d=n.prefixCls,p=n.footer,m=n.visible,b=n.open,h=void 0!==b&&b,y=n.wrapClassName,w=n.centered,C=n.getContainer,Z=n.closeIcon,S=n.focusTriggerAfterClose,N=void 0===S||S,z=n.width,P=void 0===z?520:z,O=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r{"use strict";e.d(t,{A:()=>l,f:()=>i});var a=e(7462),r=e(5767),o=(0,a.Z)({},r.Z.Modal);function i(n){o=n?(0,a.Z)((0,a.Z)({},o),n):(0,a.Z)({},r.Z.Modal)}function l(){return o}},2239:(n,t,e)=>{"use strict";e.d(t,{Z:()=>Vn});var a=e(4942),r=e(7462),o=e(3967),i=e.n(o),l=e(3433),c=e(1413),s=e(9439),u=e(4925),d=e(1002),p=e(1770),f=e(334),m=e(7294),g=e(8410),b=e(1131),h=e(5105),v=e(2550),x=m.createContext(null);function y(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:250,t=m.useRef(null),e=m.useRef(null);return m.useEffect((function(){return function(){window.clearTimeout(e.current)}}),[]),[function(){return t.current},function(a){(a||null===t.current)&&(t.current=a),window.clearTimeout(e.current),e.current=window.setTimeout((function(){t.current=null}),n)}]}var w=e(4217),k=e(6278);const E=function(n){var t,e=n.className,a=n.customizeIcon,r=n.customizeIconProps,o=n.onMouseDown,l=n.onClick,c=n.children;return t="function"==typeof a?a(r):a,m.createElement("span",{className:e,onMouseDown:function(n){n.preventDefault(),o&&o(n)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:l,"aria-hidden":!0},void 0!==t?t:m.createElement("span",{className:i()(e.split(/\s+/).map((function(n){return"".concat(n,"-icon")})))},c))};var C=function(n,t){var e,a,r=n.prefixCls,o=n.id,l=n.inputElement,s=n.disabled,u=n.tabIndex,d=n.autoFocus,p=n.autoComplete,g=n.editable,b=n.activeDescendantId,h=n.value,x=n.maxLength,y=n.onKeyDown,w=n.onMouseDown,k=n.onChange,E=n.onPaste,C=n.onCompositionStart,Z=n.onCompositionEnd,S=n.open,N=n.attrs,z=l||m.createElement("input",null),P=z,O=P.ref,M=P.props,R=M.onKeyDown,T=M.onChange,I=M.onMouseDown,_=M.onCompositionStart,L=M.onCompositionEnd,A=M.style;return(0,f.Kp)(!("maxLength"in z.props),"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled."),m.cloneElement(z,(0,c.Z)((0,c.Z)((0,c.Z)({type:"search"},M),{},{id:o,ref:(0,v.sQ)(t,O),disabled:s,tabIndex:u,autoComplete:p||"off",autoFocus:d,className:i()("".concat(r,"-selection-search-input"),null===(e=z)||void 0===e||null===(a=e.props)||void 0===a?void 0:a.className),role:"combobox","aria-expanded":S,"aria-haspopup":"listbox","aria-owns":"".concat(o,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(o,"_list"),"aria-activedescendant":b},N),{},{value:g?h:"",maxLength:x,readOnly:!g,unselectable:g?null:"on",style:(0,c.Z)((0,c.Z)({},A),{},{opacity:g?null:0}),onKeyDown:function(n){y(n),R&&R(n)},onMouseDown:function(n){w(n),I&&I(n)},onChange:function(n){k(n),T&&T(n)},onCompositionStart:function(n){C(n),_&&_(n)},onCompositionEnd:function(n){Z(n),L&&L(n)},onPaste:E}))},Z=m.forwardRef(C);Z.displayName="Input";const S=Z;function N(n){return Array.isArray(n)?n:void 0!==n?[n]:[]}var z="undefined"!=typeof window&&window.document&&window.document.documentElement;function P(n){return["string","number"].includes((0,d.Z)(n))}function O(n){var t=void 0;return n&&(P(n.title)?t=n.title.toString():P(n.label)&&(t=n.label.toString())),t}function M(n){var t;return null!==(t=n.key)&&void 0!==t?t:n.value}var R=function(n){n.preventDefault(),n.stopPropagation()};const T=function(n){var t,e,r=n.id,o=n.prefixCls,l=n.values,c=n.open,u=n.searchValue,d=n.autoClearSearchValue,p=n.inputRef,f=n.placeholder,g=n.disabled,b=n.mode,h=n.showSearch,v=n.autoFocus,x=n.autoComplete,y=n.activeDescendantId,C=n.tabIndex,Z=n.removeIcon,N=n.maxTagCount,P=n.maxTagTextLength,T=n.maxTagPlaceholder,I=void 0===T?function(n){return"+ ".concat(n.length," ...")}:T,_=n.tagRender,L=n.onToggleOpen,A=n.onRemove,D=n.onInputChange,j=n.onInputPaste,F=n.onInputKeyDown,K=n.onInputMouseDown,V=n.onInputCompositionStart,H=n.onInputCompositionEnd,B=m.useRef(null),U=(0,m.useState)(0),W=(0,s.Z)(U,2),q=W[0],$=W[1],Y=(0,m.useState)(!1),X=(0,s.Z)(Y,2),G=X[0],Q=X[1],J="".concat(o,"-selection"),nn=c||"multiple"===b&&!1===d||"tags"===b?u:"",tn="tags"===b||"multiple"===b&&!1===d||h&&(c||G);function en(n,t,e,r,o){return m.createElement("span",{className:i()("".concat(J,"-item"),(0,a.Z)({},"".concat(J,"-item-disabled"),e)),title:O(n)},m.createElement("span",{className:"".concat(J,"-item-content")},t),r&&m.createElement(E,{className:"".concat(J,"-item-remove"),onMouseDown:R,onClick:o,customizeIcon:Z},"×"))}t=function(){$(B.current.scrollWidth)},e=[nn],z?m.useLayoutEffect(t,e):m.useEffect(t,e);var an=m.createElement("div",{className:"".concat(J,"-search"),style:{width:q},onFocus:function(){Q(!0)},onBlur:function(){Q(!1)}},m.createElement(S,{ref:p,open:c,prefixCls:o,id:r,inputElement:null,disabled:g,autoFocus:v,autoComplete:x,editable:tn,activeDescendantId:y,value:nn,onKeyDown:F,onMouseDown:K,onChange:D,onPaste:j,onCompositionStart:V,onCompositionEnd:H,tabIndex:C,attrs:(0,w.Z)(n,!0)}),m.createElement("span",{ref:B,className:"".concat(J,"-search-mirror"),"aria-hidden":!0},nn," ")),rn=m.createElement(k.Z,{prefixCls:"".concat(J,"-overflow"),data:l,renderItem:function(n){var t=n.disabled,e=n.label,a=n.value,r=!g&&!t,o=e;if("number"==typeof P&&("string"==typeof e||"number"==typeof e)){var i=String(o);i.length>P&&(o="".concat(i.slice(0,P),"..."))}var l=function(t){t&&t.stopPropagation(),A(n)};return"function"==typeof _?function(n,t,e,a,r){return m.createElement("span",{onMouseDown:function(n){R(n),L(!c)}},_({label:t,value:n,disabled:e,closable:a,onClose:r}))}(a,o,t,r,l):en(n,o,t,r,l)},renderRest:function(n){var t="function"==typeof I?I(n):I;return en({title:t},t,!1)},suffix:an,itemKey:M,maxCount:N});return m.createElement(m.Fragment,null,rn,!l.length&&!nn&&m.createElement("span",{className:"".concat(J,"-placeholder")},f))},I=function(n){var t=n.inputElement,e=n.prefixCls,a=n.id,r=n.inputRef,o=n.disabled,i=n.autoFocus,l=n.autoComplete,c=n.activeDescendantId,u=n.mode,d=n.open,p=n.values,f=n.placeholder,g=n.tabIndex,b=n.showSearch,h=n.searchValue,v=n.activeValue,x=n.maxLength,y=n.onInputKeyDown,k=n.onInputMouseDown,E=n.onInputChange,C=n.onInputPaste,Z=n.onInputCompositionStart,N=n.onInputCompositionEnd,z=m.useState(!1),P=(0,s.Z)(z,2),M=P[0],R=P[1],T="combobox"===u,I=T||b,_=p[0],L=h||"";T&&v&&!M&&(L=v),m.useEffect((function(){T&&R(!1)}),[T,v]);var A=!("combobox"!==u&&!d&&!b||!L),D=O(_);return m.createElement(m.Fragment,null,m.createElement("span",{className:"".concat(e,"-selection-search")},m.createElement(S,{ref:r,prefixCls:e,id:a,open:d,inputElement:t,disabled:o,autoFocus:i,autoComplete:l,editable:I,activeDescendantId:c,value:L,onKeyDown:y,onMouseDown:k,onChange:function(n){R(!0),E(n)},onPaste:C,onCompositionStart:Z,onCompositionEnd:N,tabIndex:g,attrs:(0,w.Z)(n,!0),maxLength:T?x:void 0})),!T&&_?m.createElement("span",{className:"".concat(e,"-selection-item"),title:D,style:A?{visibility:"hidden"}:void 0},_.label):null,function(){if(_)return null;var n=A?{visibility:"hidden"}:void 0;return m.createElement("span",{className:"".concat(e,"-selection-placeholder"),style:n},f)}())};var _=function(n,t){var e=(0,m.useRef)(null),a=(0,m.useRef)(!1),o=n.prefixCls,i=n.open,l=n.mode,c=n.showSearch,u=n.tokenWithEnter,d=n.autoClearSearchValue,p=n.onSearch,f=n.onSearchSubmit,g=n.onToggleOpen,b=n.onInputKeyDown,v=n.domRef;m.useImperativeHandle(t,(function(){return{focus:function(){e.current.focus()},blur:function(){e.current.blur()}}}));var x=y(0),w=(0,s.Z)(x,2),k=w[0],E=w[1],C=(0,m.useRef)(null),Z=function(n){!1!==p(n,!0,a.current)&&g(!0)},S={inputRef:e,onInputKeyDown:function(n){var t,e=n.which;e!==h.Z.UP&&e!==h.Z.DOWN||n.preventDefault(),b&&b(n),e!==h.Z.ENTER||"tags"!==l||a.current||i||null==f||f(n.target.value),t=e,[h.Z.ESC,h.Z.SHIFT,h.Z.BACKSPACE,h.Z.TAB,h.Z.WIN_KEY,h.Z.ALT,h.Z.META,h.Z.WIN_KEY_RIGHT,h.Z.CTRL,h.Z.SEMICOLON,h.Z.EQUALS,h.Z.CAPS_LOCK,h.Z.CONTEXT_MENU,h.Z.F1,h.Z.F2,h.Z.F3,h.Z.F4,h.Z.F5,h.Z.F6,h.Z.F7,h.Z.F8,h.Z.F9,h.Z.F10,h.Z.F11,h.Z.F12].includes(t)||g(!0)},onInputMouseDown:function(){E(!0)},onInputChange:function(n){var t=n.target.value;if(u&&C.current&&/[\r\n]/.test(C.current)){var e=C.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");t=t.replace(e,C.current)}C.current=null,Z(t)},onInputPaste:function(n){var t=n.clipboardData.getData("text");C.current=t},onInputCompositionStart:function(){a.current=!0},onInputCompositionEnd:function(n){a.current=!1,"combobox"!==l&&Z(n.target.value)}},N="multiple"===l||"tags"===l?m.createElement(T,(0,r.Z)({},n,S)):m.createElement(I,(0,r.Z)({},n,S));return m.createElement("div",{ref:v,className:"".concat(o,"-selector"),onClick:function(n){n.target!==e.current&&(void 0!==document.body.style.msTouchAction?setTimeout((function(){e.current.focus()})):e.current.focus())},onMouseDown:function(n){var t=k();n.target===e.current||t||"combobox"===l||n.preventDefault(),("combobox"===l||c&&t)&&i||(i&&!1!==d&&p("",!0,!1),g())}},N)},L=m.forwardRef(_);L.displayName="Selector";const A=L;var D=e(2306),j=["prefixCls","disabled","visible","children","popupElement","containerWidth","animation","transitionName","dropdownStyle","dropdownClassName","direction","placement","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter"],F=function(n,t){var e=n.prefixCls,o=(n.disabled,n.visible),l=n.children,s=n.popupElement,d=n.containerWidth,p=n.animation,f=n.transitionName,g=n.dropdownStyle,b=n.dropdownClassName,h=n.direction,v=void 0===h?"ltr":h,x=n.placement,y=n.dropdownMatchSelectWidth,w=n.dropdownRender,k=n.dropdownAlign,E=n.getPopupContainer,C=n.empty,Z=n.getTriggerDOMNode,S=n.onPopupVisibleChange,N=n.onPopupMouseEnter,z=(0,u.Z)(n,j),P="".concat(e,"-dropdown"),O=s;w&&(O=w(s));var M=m.useMemo((function(){return function(n){var t=!0===n?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:t,adjustY:1}},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:t,adjustY:1}},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:t,adjustY:1}},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:t,adjustY:1}}}}(y)}),[y]),R=p?"".concat(P,"-").concat(p):f,T=m.useRef(null);m.useImperativeHandle(t,(function(){return{getPopupElement:function(){return T.current}}}));var I=(0,c.Z)({minWidth:d},g);return"number"==typeof y?I.width=y:y&&(I.width=d),m.createElement(D.Z,(0,r.Z)({},z,{showAction:S?["click"]:[],hideAction:S?["click"]:[],popupPlacement:x||("rtl"===v?"bottomRight":"bottomLeft"),builtinPlacements:M,prefixCls:P,popupTransitionName:R,popup:m.createElement("div",{ref:T,onMouseEnter:N},O),popupAlign:k,popupVisible:o,getPopupContainer:E,popupClassName:i()(b,(0,a.Z)({},"".concat(P,"-empty"),C)),popupStyle:I,getTriggerDOMNode:Z,onPopupVisibleChange:S}),l)},K=m.forwardRef(F);K.displayName="SelectTrigger";const V=K;var H=e(4506);function B(n,t){var e,a=n.key;return"value"in n&&(e=n.value),null!=a?a:void 0!==e?e:"rc-index-key-".concat(t)}function U(n,t){var e=n||{};return{label:e.label||(t?"children":"label"),value:e.value||"value",options:e.options||"options"}}function W(n){var t=(0,c.Z)({},n);return"props"in t||Object.defineProperty(t,"props",{get:function(){return(0,f.ZP)(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),t}}),t}var q=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","showArrow","inputIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],$=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"];function Y(n){return"tags"===n||"multiple"===n}var X=m.forwardRef((function(n,t){var e,o,f=n.id,w=n.prefixCls,k=n.className,C=n.showSearch,Z=n.tagRender,S=n.direction,N=n.omitDomProps,z=n.displayValues,P=n.onDisplayValuesChange,O=n.emptyOptions,M=n.notFoundContent,R=void 0===M?"Not Found":M,T=n.onClear,I=n.mode,_=n.disabled,L=n.loading,D=n.getInputElement,j=n.getRawInputElement,F=n.open,K=n.defaultOpen,B=n.onDropdownVisibleChange,U=n.activeValue,W=n.onActiveValueChange,X=n.activeDescendantId,G=n.searchValue,Q=n.autoClearSearchValue,J=n.onSearch,nn=n.onSearchSplit,tn=n.tokenSeparators,en=n.allowClear,an=n.showArrow,rn=n.inputIcon,on=n.clearIcon,ln=n.OptionList,cn=n.animation,sn=n.transitionName,un=n.dropdownStyle,dn=n.dropdownClassName,pn=n.dropdownMatchSelectWidth,fn=n.dropdownRender,mn=n.dropdownAlign,gn=n.placement,bn=n.getPopupContainer,hn=n.showAction,vn=void 0===hn?[]:hn,xn=n.onFocus,yn=n.onBlur,wn=n.onKeyUp,kn=n.onKeyDown,En=n.onMouseDown,Cn=(0,u.Z)(n,q),Zn=Y(I),Sn=(void 0!==C?C:Zn)||"combobox"===I,Nn=(0,c.Z)({},Cn);$.forEach((function(n){delete Nn[n]})),null==N||N.forEach((function(n){delete Nn[n]}));var zn=m.useState(!1),Pn=(0,s.Z)(zn,2),On=Pn[0],Mn=Pn[1];m.useEffect((function(){Mn((0,b.Z)())}),[]);var Rn=m.useRef(null),Tn=m.useRef(null),In=m.useRef(null),_n=m.useRef(null),Ln=m.useRef(null),An=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=m.useState(!1),e=(0,s.Z)(t,2),a=e[0],r=e[1],o=m.useRef(null),i=function(){window.clearTimeout(o.current)};return m.useEffect((function(){return i}),[]),[a,function(t,e){i(),o.current=window.setTimeout((function(){r(t),e&&e()}),n)},i]}(),Dn=(0,s.Z)(An,3),jn=Dn[0],Fn=Dn[1],Kn=Dn[2];m.useImperativeHandle(t,(function(){var n,t;return{focus:null===(n=_n.current)||void 0===n?void 0:n.focus,blur:null===(t=_n.current)||void 0===t?void 0:t.blur,scrollTo:function(n){var t;return null===(t=Ln.current)||void 0===t?void 0:t.scrollTo(n)}}}));var Vn=m.useMemo((function(){var n;if("combobox"!==I)return G;var t=null===(n=z[0])||void 0===n?void 0:n.value;return"string"==typeof t||"number"==typeof t?String(t):""}),[G,I,z]),Hn="combobox"===I&&"function"==typeof D&&D()||null,Bn="function"==typeof j&&j(),Un=(0,v.x1)(Tn,null==Bn||null===(e=Bn.props)||void 0===e?void 0:e.ref),Wn=(0,p.Z)(void 0,{defaultValue:K,value:F}),qn=(0,s.Z)(Wn,2),$n=qn[0],Yn=qn[1],Xn=$n,Gn=!R&&O;(_||Gn&&Xn&&"combobox"===I)&&(Xn=!1);var Qn=!Gn&&Xn,Jn=m.useCallback((function(n){var t=void 0!==n?n:!Xn;_||(Yn(t),Xn!==t&&(null==B||B(t)))}),[_,Xn,Yn,B]),nt=m.useMemo((function(){return(tn||[]).some((function(n){return["\n","\r\n"].includes(n)}))}),[tn]),tt=function(n,t,e){var a=!0,r=n;null==W||W(null);var o=e?null:function(n,t){if(!t||!t.length)return null;var e=!1,a=function n(t,a){var r=(0,H.Z)(a),o=r[0],i=r.slice(1);if(!o)return[t];var c=t.split(o);return e=e||c.length>1,c.reduce((function(t,e){return[].concat((0,l.Z)(t),(0,l.Z)(n(e,i)))}),[]).filter((function(n){return n}))}(n,t);return e?a:null}(n,tn);return"combobox"!==I&&o&&(r="",null==nn||nn(o),Jn(!1),a=!1),J&&Vn!==r&&J(r,{source:t?"typing":"effect"}),a};m.useEffect((function(){Xn||Zn||"combobox"===I||tt("",!1,!1)}),[Xn]),m.useEffect((function(){$n&&_&&Yn(!1),_&&Fn(!1)}),[_]);var et=y(),at=(0,s.Z)(et,2),rt=at[0],ot=at[1],it=m.useRef(!1),lt=[];m.useEffect((function(){return function(){lt.forEach((function(n){return clearTimeout(n)})),lt.splice(0,lt.length)}}),[]);var ct,st=m.useState(null),ut=(0,s.Z)(st,2),dt=ut[0],pt=ut[1],ft=m.useState({}),mt=(0,s.Z)(ft,2)[1];(0,g.Z)((function(){if(Qn){var n,t=Math.ceil(null===(n=Rn.current)||void 0===n?void 0:n.offsetWidth);dt===t||Number.isNaN(t)||pt(t)}}),[Qn]),Bn&&(ct=function(n){Jn(n)}),function(n,t,e,a){var r=m.useRef(null);r.current={open:t,triggerOpen:e,customizedTrigger:a},m.useEffect((function(){function n(n){var t,e;if(null===(t=r.current)||void 0===t||!t.customizedTrigger){var a=n.target;a.shadowRoot&&n.composed&&(a=n.composedPath()[0]||a),r.current.open&&[Rn.current,null===(e=In.current)||void 0===e?void 0:e.getPopupElement()].filter((function(n){return n})).every((function(n){return!n.contains(a)&&n!==a}))&&r.current.triggerOpen(!1)}}return window.addEventListener("mousedown",n),function(){return window.removeEventListener("mousedown",n)}}),[])}(0,Qn,Jn,!!Bn);var gt,bt,ht=m.useMemo((function(){return(0,c.Z)((0,c.Z)({},n),{},{notFoundContent:R,open:Xn,triggerOpen:Qn,id:f,showSearch:Sn,multiple:Zn,toggleOpen:Jn})}),[n,R,Qn,Xn,f,Sn,Zn,Jn]),vt=void 0!==an?an:L||!Zn&&"combobox"!==I;vt&&(gt=m.createElement(E,{className:i()("".concat(w,"-arrow"),(0,a.Z)({},"".concat(w,"-arrow-loading"),L)),customizeIcon:rn,customizeIconProps:{loading:L,searchValue:Vn,open:Xn,focused:jn,showSearch:Sn}})),_||!en||!z.length&&!Vn||"combobox"===I&&""===Vn||(bt=m.createElement(E,{className:"".concat(w,"-clear"),onMouseDown:function(){var n;null==T||T(),null===(n=_n.current)||void 0===n||n.focus(),P([],{type:"clear",values:z}),tt("",!1,!1)},customizeIcon:on},"×"));var xt,yt=m.createElement(ln,{ref:Ln}),wt=i()(w,k,(o={},(0,a.Z)(o,"".concat(w,"-focused"),jn),(0,a.Z)(o,"".concat(w,"-multiple"),Zn),(0,a.Z)(o,"".concat(w,"-single"),!Zn),(0,a.Z)(o,"".concat(w,"-allow-clear"),en),(0,a.Z)(o,"".concat(w,"-show-arrow"),vt),(0,a.Z)(o,"".concat(w,"-disabled"),_),(0,a.Z)(o,"".concat(w,"-loading"),L),(0,a.Z)(o,"".concat(w,"-open"),Xn),(0,a.Z)(o,"".concat(w,"-customize-input"),Hn),(0,a.Z)(o,"".concat(w,"-show-search"),Sn),o)),kt=m.createElement(V,{ref:In,disabled:_,prefixCls:w,visible:Qn,popupElement:yt,containerWidth:dt,animation:cn,transitionName:sn,dropdownStyle:un,dropdownClassName:dn,direction:S,dropdownMatchSelectWidth:pn,dropdownRender:fn,dropdownAlign:mn,placement:gn,getPopupContainer:bn,empty:O,getTriggerDOMNode:function(){return Tn.current},onPopupVisibleChange:ct,onPopupMouseEnter:function(){mt({})}},Bn?m.cloneElement(Bn,{ref:Un}):m.createElement(A,(0,r.Z)({},n,{domRef:Tn,prefixCls:w,inputElement:Hn,ref:_n,id:f,showSearch:Sn,autoClearSearchValue:Q,mode:I,activeDescendantId:X,tagRender:Z,values:z,open:Xn,onToggleOpen:Jn,activeValue:U,searchValue:Vn,onSearch:tt,onSearchSubmit:function(n){n&&n.trim()&&J(n,{source:"submit"})},onRemove:function(n){var t=z.filter((function(t){return t!==n}));P(t,{type:"remove",values:[n]})},tokenWithEnter:nt})));return xt=Bn?kt:m.createElement("div",(0,r.Z)({className:wt},Nn,{ref:Rn,onMouseDown:function(n){var t,e=n.target,a=null===(t=In.current)||void 0===t?void 0:t.getPopupElement();if(a&&a.contains(e)){var r=setTimeout((function(){var n,t=lt.indexOf(r);-1!==t&<.splice(t,1),Kn(),On||a.contains(document.activeElement)||null===(n=_n.current)||void 0===n||n.focus()}));lt.push(r)}for(var o=arguments.length,i=new Array(o>1?o-1:0),l=1;l=0;i-=1){var c=r[i];if(!c.disabled){r.splice(i,1),o=c;break}}o&&P(r,{type:"remove",values:[o]})}for(var s=arguments.length,u=new Array(s>1?s-1:0),d=1;d1?t-1:0),a=1;a1&&void 0!==arguments[1]&&arguments[1];return(0,en.Z)(n).map((function(n,e){if(!m.isValidElement(n)||!n.type)return null;var a=n,r=a.type.isSelectOptGroup,o=a.key,i=a.props,l=i.children,s=(0,u.Z)(i,rn);return t||!r?function(n){var t=n,e=t.key,a=t.props,r=a.children,o=a.value,i=(0,u.Z)(a,an);return(0,c.Z)({key:e,value:void 0!==o?o:e,children:r},i)}(n):(0,c.Z)((0,c.Z)({key:"__RC_SELECT_GRP__".concat(null===o?e:o,"__"),label:o},s),{},{options:on(l)})})).filter((function(n){return n}))}function ln(n){var t=m.useRef();t.current=n;var e=m.useCallback((function(){return t.current.apply(t,arguments)}),[]);return e}var cn=function(){return null};cn.isSelectOptGroup=!0;const sn=cn;var un=function(){return null};un.isSelectOption=!0;const dn=un;var pn=e(8423),fn=e(6982),mn=e(1635);const gn=m.createContext(null);var bn=["disabled","title","children","style","className"];function hn(n){return"string"==typeof n||"number"==typeof n}var vn=function(n,t){var e=m.useContext(x),o=e.prefixCls,c=e.id,d=e.open,p=e.multiple,f=e.mode,g=e.searchValue,b=e.toggleOpen,v=e.notFoundContent,y=e.onPopupScroll,k=m.useContext(gn),C=k.flattenOptions,Z=k.onActiveValue,S=k.defaultActiveFirstOption,N=k.onSelect,z=k.menuItemSelectedIcon,P=k.rawValues,O=k.fieldNames,M=k.virtual,R=k.listHeight,T=k.listItemHeight,I="".concat(o,"-item"),_=(0,fn.Z)((function(){return C}),[d,C],(function(n,t){return t[0]&&n[1]!==t[1]})),L=m.useRef(null),A=function(n){n.preventDefault()},D=function(n){L.current&&L.current.scrollTo("number"==typeof n?{index:n}:n)},j=function(n){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,e=_.length,a=0;a1&&void 0!==arguments[1]&&arguments[1];H(n);var e={source:t?"keyboard":"mouse"},a=_[n];a?Z(a.value,n,e):Z(null,-1,e)};(0,m.useEffect)((function(){B(!1!==S?j(0):-1)}),[_.length,g]);var U=m.useCallback((function(n){return P.has(n)&&"combobox"!==f}),[f,(0,l.Z)(P).toString(),P.size]);(0,m.useEffect)((function(){var n,t=setTimeout((function(){if(!p&&d&&1===P.size){var n=Array.from(P)[0],t=_.findIndex((function(t){return t.data.value===n}));-1!==t&&(B(t),D(t))}}));return d&&(null===(n=L.current)||void 0===n||n.scrollTo(void 0)),function(){return clearTimeout(t)}}),[d,g]);var W=function(n){void 0!==n&&N(n,{selected:!P.has(n)}),p||b(!1)};if(m.useImperativeHandle(t,(function(){return{onKeyDown:function(n){var t=n.which,e=n.ctrlKey;switch(t){case h.Z.N:case h.Z.P:case h.Z.UP:case h.Z.DOWN:var a=0;if(t===h.Z.UP?a=-1:t===h.Z.DOWN?a=1:/(mac\sos|macintosh)/i.test(navigator.appVersion)&&e&&(t===h.Z.N?a=1:t===h.Z.P&&(a=-1)),0!==a){var r=j(V+a,a);D(r),B(r,!0)}break;case h.Z.ENTER:var o=_[V];o&&!o.data.disabled?W(o.value):W(void 0),d&&n.preventDefault();break;case h.Z.ESC:b(!1),d&&n.stopPropagation()}},onKeyUp:function(){},scrollTo:function(n){D(n)}}})),0===_.length)return m.createElement("div",{role:"listbox",id:"".concat(c,"_list"),className:"".concat(I,"-empty"),onMouseDown:A},v);var q=Object.keys(O).map((function(n){return O[n]})),$=function(n){return n.label},Y=function(n){var t=_[n];if(!t)return null;var e=t.data||{},a=e.value,o=t.group,i=(0,w.Z)(e,!0),l=$(t);return t?m.createElement("div",(0,r.Z)({"aria-label":"string"!=typeof l||o?null:l},i,{key:n,role:o?"presentation":"option",id:"".concat(c,"_list_").concat(n),"aria-selected":U(a)}),a):null};return m.createElement(m.Fragment,null,m.createElement("div",{role:"listbox",id:"".concat(c,"_list"),style:{height:0,width:0,overflow:"hidden"}},Y(V-1),Y(V),Y(V+1)),m.createElement(mn.Z,{itemKey:"key",ref:L,data:_,height:R,itemHeight:T,fullHeight:!1,onMouseDown:A,onScroll:y,virtual:M},(function(n,t){var e,o=n.group,l=n.groupOption,c=n.data,s=n.label,d=n.value,p=c.key;if(o){var f,g=null!==(f=c.title)&&void 0!==f?f:hn(s)?s.toString():void 0;return m.createElement("div",{className:i()(I,"".concat(I,"-group")),title:g},void 0!==s?s:p)}var b=c.disabled,h=c.title,v=(c.children,c.style),x=c.className,y=(0,u.Z)(c,bn),k=(0,pn.Z)(y,q),C=U(d),Z="".concat(I,"-option"),S=i()(I,Z,x,(e={},(0,a.Z)(e,"".concat(Z,"-grouped"),l),(0,a.Z)(e,"".concat(Z,"-active"),V===t&&!b),(0,a.Z)(e,"".concat(Z,"-disabled"),b),(0,a.Z)(e,"".concat(Z,"-selected"),C),e)),N=$(n),P=!z||"function"==typeof z||C,O="number"==typeof N?N:N||d,M=hn(O)?O.toString():void 0;return void 0!==h&&(M=h),m.createElement("div",(0,r.Z)({},(0,w.Z)(k),{"aria-selected":C,className:S,title:M,onMouseMove:function(){V===t||b||B(t)},onClick:function(){b||W(d)},style:v}),m.createElement("div",{className:"".concat(Z,"-content")},O),m.isValidElement(z)||C,P&&m.createElement(E,{className:"".concat(I,"-option-state"),customizeIcon:z,customizeIconProps:{isSelected:C}},C?"✓":null))})))},xn=m.forwardRef(vn);xn.displayName="OptionList";const yn=xn;var wn=["id","mode","prefixCls","backfill","fieldNames","inputValue","searchValue","onSearch","autoClearSearchValue","onSelect","onDeselect","dropdownMatchSelectWidth","filterOption","filterSort","optionFilterProp","optionLabelProp","options","children","defaultActiveFirstOption","menuItemSelectedIcon","virtual","listHeight","listItemHeight","value","defaultValue","labelInValue","onChange"],kn=["inputValue"],En=m.forwardRef((function(n,t){var e=n.id,o=n.mode,i=n.prefixCls,f=void 0===i?"rc-select":i,g=n.backfill,b=n.fieldNames,h=n.inputValue,v=n.searchValue,x=n.onSearch,y=n.autoClearSearchValue,w=void 0===y||y,k=n.onSelect,E=n.onDeselect,C=n.dropdownMatchSelectWidth,Z=void 0===C||C,S=n.filterOption,z=n.filterSort,P=n.optionFilterProp,O=n.optionLabelProp,M=n.options,R=n.children,T=n.defaultActiveFirstOption,I=n.menuItemSelectedIcon,_=n.virtual,L=n.listHeight,A=void 0===L?200:L,D=n.listItemHeight,j=void 0===D?20:D,F=n.value,K=n.defaultValue,V=n.labelInValue,H=n.onChange,q=(0,u.Z)(n,wn),$=function(n){var t=m.useState(),e=(0,s.Z)(t,2),a=e[0],r=e[1];return m.useEffect((function(){var n;r("rc_select_".concat((tn?(n=nn,nn+=1):n="TEST_OR_SSR",n)))}),[]),n||a}(e),X=Y(o),J=!(M||!R),en=m.useMemo((function(){return(void 0!==S||"combobox"!==o)&&S}),[S,o]),an=m.useMemo((function(){return U(b,J)}),[JSON.stringify(b),J]),rn=(0,p.Z)("",{value:void 0!==v?v:h,postState:function(n){return n||""}}),cn=(0,s.Z)(rn,2),sn=cn[0],un=cn[1],dn=function(n,t,e,a,r){return m.useMemo((function(){var o=n;!n&&(o=on(t));var i=new Map,l=new Map,c=function(n,t,e){e&&"string"==typeof e&&n.set(t[e],t)};return function n(t){for(var o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=0;s1&&void 0!==arguments[1]?arguments[1]:{},e=t.fieldNames,a=t.childrenAsData,r=[],o=U(e,!1),i=o.label,l=o.value,c=o.options;return function n(t,e){t.forEach((function(t){var o=t[i];if(e||!(c in t)){var s=t[l];r.push({key:B(t,r.length),groupOption:e,data:t,label:o,value:s})}else{var u=o;void 0===u&&a&&(u=t.label),r.push({key:B(t,r.length),group:!0,data:t,label:u}),n(t[c],!0)}}))}(n,!1),r}(Tn,{fieldNames:an,childrenAsData:J})}),[Tn,an,J]),_n=function(n){var t=bn(n);if(En(t),H&&(t.length!==Sn.length||t.some((function(n,t){var e;return(null===(e=Sn[t])||void 0===e?void 0:e.value)!==(null==n?void 0:n.value)})))){var e=V?t:t.map((function(n){return n.value})),a=t.map((function(n){return W(Nn(n.value))}));H(X?e:e[0],X?a:a[0])}},Ln=m.useState(null),An=(0,s.Z)(Ln,2),Dn=An[0],jn=An[1],Fn=m.useState(0),Kn=(0,s.Z)(Fn,2),Vn=Kn[0],Hn=Kn[1],Bn=void 0!==T?T:"combobox"!==o,Un=m.useCallback((function(n,t){var e=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).source,a=void 0===e?"keyboard":e;Hn(t),g&&"combobox"===o&&null!==n&&"keyboard"===a&&jn(String(n))}),[g,o]),Wn=function(n,t,e){var a=function(){var t,e=Nn(n);return[V?{label:null==e?void 0:e[an.label],value:n,key:null!==(t=null==e?void 0:e.key)&&void 0!==t?t:n}:n,W(e)]};if(t&&k){var r=a(),o=(0,s.Z)(r,2),i=o[0],l=o[1];k(i,l)}else if(!t&&E&&"clear"!==e){var c=a(),u=(0,s.Z)(c,2),d=u[0],p=u[1];E(d,p)}},qn=ln((function(n,t){var e,a=!X||t.selected;e=a?X?[].concat((0,l.Z)(Sn),[n]):[n]:Sn.filter((function(t){return t.value!==n})),_n(e),Wn(n,a),"combobox"===o?jn(""):Y&&!w||(un(""),jn(""))})),$n=m.useMemo((function(){var n=!1!==_&&!1!==Z;return(0,c.Z)((0,c.Z)({},dn),{},{flattenOptions:In,onActiveValue:Un,defaultActiveFirstOption:Bn,onSelect:qn,menuItemSelectedIcon:I,rawValues:Pn,fieldNames:an,virtual:n,listHeight:A,listItemHeight:j,childrenAsData:J})}),[dn,In,Un,Bn,qn,I,Pn,an,_,Z,A,j,J]);return m.createElement(gn.Provider,{value:$n},m.createElement(G,(0,r.Z)({},q,{id:$,prefixCls:f,ref:t,omitDomProps:kn,mode:o,displayValues:zn,onDisplayValuesChange:function(n,t){_n(n);var e=t.type,a=t.values;"remove"!==e&&"clear"!==e||a.forEach((function(n){Wn(n.value,!1,e)}))},searchValue:sn,onSearch:function(n,t){if(un(n),jn(null),"submit"!==t.source)"blur"!==t.source&&("combobox"===o&&_n(n),null==x||x(n));else{var e=(n||"").trim();if(e){var a=Array.from(new Set([].concat((0,l.Z)(Pn),[e])));_n(a),Wn(e,!0),un("")}}},autoClearSearchValue:w,onSearchSplit:function(n){var t=n;"tags"!==o&&(t=n.map((function(n){var t=fn.get(n);return null==t?void 0:t.value})).filter((function(n){return void 0!==n})));var e=Array.from(new Set([].concat((0,l.Z)(Pn),(0,l.Z)(t))));_n(e),e.forEach((function(n){Wn(n,!0)}))},dropdownMatchSelectWidth:Z,OptionList:yn,emptyOptions:!In.length,activeValue:Dn,activeDescendantId:"".concat($,"_list_").concat(Vn)})))}));En.Option=dn,En.OptGroup=sn;const Cn=En;var Zn=e(3124),Sn=e(8258),Nn=e(8866),zn=e(7647),Pn=e(5702),On=e(3603),Mn=e(9708),Rn=e(9508),Tn=e(3061),In=e(4549),_n=e(7254),Ln=e(7085),An=e(6570),Dn=e(4173),jn="SECRET_COMBOBOX_MODE_DO_NOT_USE",Fn=function(n,t){var e,o,l=n.prefixCls,c=n.bordered,s=void 0===c||c,u=n.className,d=n.getPopupContainer,p=n.dropdownClassName,f=n.popupClassName,g=n.listHeight,b=void 0===g?256:g,h=n.placement,v=n.listItemHeight,x=void 0===v?24:v,y=n.size,w=n.disabled,k=n.notFoundContent,E=n.status,C=n.showArrow,Z=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r{"use strict";e.d(t,{BR:()=>f,ZP:()=>g,ri:()=>p});var a=e(7462),r=e(4942),o=e(3967),i=e.n(o),l=e(344),c=e(7294),s=e(3124),u=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r{"use strict";e.d(t,{u:()=>m,Z:()=>h});var a=e(7462),r=e(4942),o=e(9439),i=e(3967),l=e.n(i),c=e(344),s=e(7294),u=e(3124),d=e(1808);function p(n){var t=n.className,e=n.direction,o=n.index,i=n.marginDirection,l=n.children,c=n.split,u=n.wrap,d=s.useContext(m),p=d.horizontalSize,f=d.verticalSize,g=d.latestIndex,b={};return d.supportFlexGap||("vertical"===e?o{"use strict";e.d(t,{Z:()=>y});var a=e(7462),r=e(4942),o=e(7085),i=e(3967),l=e.n(i),c=e(9439),s=e(4925),u=e(7294),d=e(1770),p=e(5105),f=u.forwardRef((function(n,t){var e,a=n.prefixCls,o=void 0===a?"rc-switch":a,i=n.className,f=n.checked,m=n.defaultChecked,g=n.disabled,b=n.loadingIcon,h=n.checkedChildren,v=n.unCheckedChildren,x=n.onClick,y=n.onChange,w=n.onKeyDown,k=(0,s.Z)(n,["prefixCls","className","checked","defaultChecked","disabled","loadingIcon","checkedChildren","unCheckedChildren","onClick","onChange","onKeyDown"]),E=(0,d.Z)(!1,{value:f,defaultValue:m}),C=(0,c.Z)(E,2),Z=C[0],S=C[1];function N(n,t){var e=Z;return g||(S(e=n),null==y||y(e,t)),e}var z=l()(o,i,(e={},(0,r.Z)(e,"".concat(o,"-checked"),Z),(0,r.Z)(e,"".concat(o,"-disabled"),g),e));return u.createElement("button",Object.assign({},k,{type:"button",role:"switch","aria-checked":Z,disabled:g,className:z,ref:t,onKeyDown:function(n){n.which===p.Z.LEFT?N(!1,n):n.which===p.Z.RIGHT&&N(!0,n),null==w||w(n)},onClick:function(n){var t=N(!Z,n);null==x||x(t,n)}}),b,u.createElement("span",{className:"".concat(o,"-inner")},Z?h:v))}));f.displayName="Switch";const m=f;var g=e(3124),b=e(8866),h=e(7647),v=e(1790),x=u.forwardRef((function(n,t){var e,i=n.prefixCls,c=n.size,s=n.disabled,d=n.loading,p=n.className,f=void 0===p?"":p,x=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r{"use strict";e.d(t,{Z:()=>mo});var a=e(1002),r=e(4942),o=e(7462),i=e(9439),l=e(3967),c=e.n(l),s=e(1413),u=e(3433),d=e(7294),p=e(5110),f=e(4217),m=e(9370),g=e(6774),b=e.n(g),h=e(334),v=e(8717),x=e(4204);var y=e(4925),w=e(2550);function k(n){return null==n?[]:Array.isArray(n)?n:[n]}function E(n,t){if(!t&&"number"!=typeof t)return n;for(var e=k(t),a=n,r=0;r=e}(e,f||1,null==n?void 0:n.startRow,null==n?void 0:n.endRow);return{onHover:null==n?void 0:n.onHover,hovering:t}})),a=d.useContext(null==n?void 0:n.Context),r=a||{},o=r.listeners,l=r.getValue,c=d.useState((function(){return t(a?l():null)})),s=(0,i.Z)(c,2),u=s[0],p=s[1];return(0,z.Z)((function(){if(a)return o.add(n),function(){o.delete(n)};function n(n){p((function(e){var a=t(n);return b()(e,a)?e:a}))}}),[a]),u}(M),g=m.onHover,h=m.hovering;return d.createElement(D,(0,o.Z)({},n,{colSpan:p,rowSpan:f,hovering:h,ref:t,onHover:g}))}));j.displayName="WrappedCell";const F=j,K=d.createContext(null);function V(n,t,e,a,r){var o,i,l=e[n]||{},c=e[t]||{};"left"===l.fixed?o=a.left[n]:"right"===c.fixed&&(i=a.right[t]);var s=!1,u=!1,d=!1,p=!1,f=e[t+1],m=e[n-1];return"rtl"===r?void 0!==o?p=!(m&&"left"===m.fixed):void 0!==i&&(d=!(f&&"right"===f.fixed)):void 0!==o?s=!(f&&"left"===f.fixed):void 0!==i&&(u=!(m&&"right"===m.fixed)),{fixLeft:o,fixRight:i,lastFixLeft:s,firstFixRight:u,lastFixRight:d,firstFixLeft:p,isSticky:a.isSticky}}function H(n){var t,e=n.cells,a=n.stickyOffsets,r=n.flattenColumns,i=n.rowComponent,l=n.cellComponent,c=n.onHeaderRow,s=n.index,u=d.useContext(K),p=u.prefixCls,f=u.direction;c&&(t=c(e.map((function(n){return n.column})),s));var m=C(e.map((function(n){return n.column})));return d.createElement(i,t,e.map((function(n,t){var e,i=n.column,c=V(n.colStart,n.colEnd,r,a,f);return i&&i.onHeaderCell&&(e=n.column.onHeaderCell(i)),d.createElement(F,(0,o.Z)({},n,{ellipsis:i.ellipsis,align:i.align,component:l,prefixCls:p,key:m[t]},c,{additionalProps:e,rowType:"header"}))})))}H.displayName="HeaderRow";const B=H,U=function(n){var t=n.stickyOffsets,e=n.columns,a=n.flattenColumns,r=n.onHeaderRow,o=d.useContext(K),i=o.prefixCls,l=o.getComponent,c=d.useMemo((function(){return function(n){var t=[];!function n(e,a){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;t[r]=t[r]||[];var o=a;return e.filter(Boolean).map((function(e){var a={key:e.key,className:e.className||"",children:e.title,column:e,colStart:o},i=1,l=e.children;return l&&l.length>0&&(i=n(l,o,r+1).reduce((function(n,t){return n+t}),0),a.hasSubColumns=!0),"colSpan"in e&&(i=e.colSpan),"rowSpan"in e&&(a.rowSpan=e.rowSpan),a.colSpan=i,a.colEnd=a.colStart+i-1,t[r].push(a),o+=i,i}))}(n,0);for(var e=t.length,a=function(n){t[n].forEach((function(t){"rowSpan"in t||t.hasSubColumns||(t.rowSpan=e-n)}))},r=0;r1?e-1:0),o=1;o0?[].concat((0,u.Z)(n),(0,u.Z)(dn(r).map((function(n){return(0,s.Z)({fixed:a},n)})))):[].concat((0,u.Z)(n),[(0,s.Z)((0,s.Z)({},t),{},{fixed:a})])}),[])}function pn(n){var t=(0,d.useRef)(n),e=(0,d.useState)({}),a=(0,i.Z)(e,2)[1],r=(0,d.useRef)(null),o=(0,d.useRef)([]);return(0,d.useEffect)((function(){return function(){r.current=null}}),[]),[t.current,function(n){o.current.push(n);var e=Promise.resolve();r.current=e,e.then((function(){if(r.current===e){var n=o.current,i=t.current;o.current=[],n.forEach((function(n){t.current=n(t.current)})),r.current=null,i!==t.current&&a({})}}))}]}var fn=["columnType"];const mn=function(n){for(var t=n.colWidths,e=n.columns,a=[],r=!1,i=(n.columCount||e.length)-1;i>=0;i-=1){var l=t[i],c=e&&e[i],s=c&&c[on];if(l||s||r){var u=s||{},p=(u.columnType,(0,y.Z)(u,fn));a.unshift(d.createElement("col",(0,o.Z)({key:i,style:{width:l}},p))),r=!0}}return d.createElement("colgroup",null,a)},gn=function(n){var t=n.className,e=n.children;return d.createElement("div",{className:t},e)},bn=d.createContext({});var hn=["children"];function vn(n){return n.children}vn.Row=function(n){var t=n.children,e=(0,y.Z)(n,hn);return d.createElement("tr",e,t)},vn.Cell=function(n){var t=n.className,e=n.index,a=n.children,r=n.colSpan,i=void 0===r?1:r,l=n.rowSpan,c=n.align,s=d.useContext(K),u=s.prefixCls,p=s.direction,f=d.useContext(bn),m=f.scrollColumnIndex,g=f.stickyOffsets,b=e+i-1+1===m?i+1:i,h=V(e,e+b-1,f.flattenColumns,g,p);return d.createElement(F,(0,o.Z)({className:t,index:e,component:"td",prefixCls:u,record:null,dataIndex:null,align:c,colSpan:b,rowSpan:l,render:function(){return a}},h))};const xn=vn,yn=function(n){var t=n.children,e=n.stickyOffsets,a=n.flattenColumns,r=d.useContext(K).prefixCls,o=a.length-1,i=a[o],l=d.useMemo((function(){return{stickyOffsets:e,flattenColumns:a,scrollColumnIndex:(null==i?void 0:i.scrollbar)?o:null}}),[i,a,o,e]);return d.createElement(bn.Provider,{value:l},d.createElement("tfoot",{className:"".concat(r,"-summary")},t))};var wn=xn;function kn(n){var t,e=n.prefixCls,a=n.record,o=n.onExpand,i=n.expanded,l=n.expandable,s="".concat(e,"-row-expand-icon");return l?d.createElement("span",{className:c()(s,(t={},(0,r.Z)(t,"".concat(e,"-row-expanded"),i),(0,r.Z)(t,"".concat(e,"-row-collapsed"),!i),t)),onClick:function(n){o(a,n),n.stopPropagation()}}):d.createElement("span",{className:c()(s,"".concat(e,"-row-spaced"))})}var En=e(4019);function Cn(n){var t=n.getBoundingClientRect(),e=document.documentElement;return{left:t.left+(window.pageXOffset||e.scrollLeft)-(e.clientLeft||document.body.clientLeft||0),top:t.top+(window.pageYOffset||e.scrollTop)-(e.clientTop||document.body.clientTop||0)}}var Zn=function(n,t){var e,a,o=n.scrollBodyRef,l=n.onScroll,u=n.offsetScroll,p=n.container,f=d.useContext(K).prefixCls,m=(null===(e=o.current)||void 0===e?void 0:e.scrollWidth)||0,g=(null===(a=o.current)||void 0===a?void 0:a.clientWidth)||0,b=m&&g*(g/m),h=d.useRef(),v=pn({scrollLeft:0,isHiddenScrollBar:!1}),y=(0,i.Z)(v,2),w=y[0],k=y[1],E=d.useRef({delta:0,x:0}),C=d.useState(!1),Z=(0,i.Z)(C,2),S=Z[0],N=Z[1],z=function(){N(!1)},P=function(n){var t,e=(n||(null===(t=window)||void 0===t?void 0:t.event)).buttons;if(S&&0!==e){var a=E.current.x+n.pageX-E.current.x-E.current.delta;a<=0&&(a=0),a+b>=g&&(a=g-b),l({scrollLeft:a/g*(m+2)}),E.current.x=n.pageX}else S&&N(!1)},O=function(){if(o.current){var n=Cn(o.current).top,t=n+o.current.offsetHeight,e=p===window?document.documentElement.scrollTop+window.innerHeight:Cn(p).top+p.clientHeight;t-(0,x.Z)()<=e||n>=e-u?k((function(n){return(0,s.Z)((0,s.Z)({},n),{},{isHiddenScrollBar:!0})})):k((function(n){return(0,s.Z)((0,s.Z)({},n),{},{isHiddenScrollBar:!1})}))}},M=function(n){k((function(t){return(0,s.Z)((0,s.Z)({},t),{},{scrollLeft:n/m*g||0})}))};return d.useImperativeHandle(t,(function(){return{setScrollLeft:M}})),d.useEffect((function(){var n=(0,En.Z)(document.body,"mouseup",z,!1),t=(0,En.Z)(document.body,"mousemove",P,!1);return O(),function(){n.remove(),t.remove()}}),[b,S]),d.useEffect((function(){var n=(0,En.Z)(p,"scroll",O,!1),t=(0,En.Z)(window,"resize",O,!1);return function(){n.remove(),t.remove()}}),[p]),d.useEffect((function(){w.isHiddenScrollBar||k((function(n){var t=o.current;return t?(0,s.Z)((0,s.Z)({},n),{},{scrollLeft:t.scrollLeft/t.scrollWidth*t.clientWidth}):n}))}),[w.isHiddenScrollBar]),m<=g||!b||w.isHiddenScrollBar?null:d.createElement("div",{style:{height:(0,x.Z)(),width:g,bottom:u},className:"".concat(f,"-sticky-scroll")},d.createElement("div",{onMouseDown:function(n){n.persist(),E.current.delta=n.pageX-w.scrollLeft,E.current.x=0,N(!0),n.preventDefault()},ref:h,className:c()("".concat(f,"-sticky-scroll-bar"),(0,r.Z)({},"".concat(f,"-sticky-scroll-bar-active"),S)),style:{width:"".concat(b,"px"),transform:"translate3d(".concat(w.scrollLeft,"px, 0, 0)")}}))};const Sn=d.forwardRef(Zn);var Nn=(0,e(8924).Z)()?window:null,zn=["className","noData","columns","flattenColumns","colWidths","columCount","stickyOffsets","direction","fixHeader","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","children"],Pn=d.forwardRef((function(n,t){var e=n.className,a=n.noData,o=n.columns,i=n.flattenColumns,l=n.colWidths,p=n.columCount,f=n.stickyOffsets,m=n.direction,g=n.fixHeader,b=n.stickyTopOffset,h=n.stickyBottomOffset,v=n.stickyClassName,x=n.onScroll,k=n.maxContentScroll,E=n.children,C=(0,y.Z)(n,zn),Z=d.useContext(K),S=Z.prefixCls,N=Z.scrollbarSize,z=Z.isSticky,P=z&&!g?0:N,O=d.useRef(null),M=d.useCallback((function(n){(0,w.mH)(t,n),(0,w.mH)(O,n)}),[]);d.useEffect((function(){var n;function t(n){var t=n.currentTarget,e=n.deltaX;e&&(x({currentTarget:t,scrollLeft:t.scrollLeft+e}),n.preventDefault())}return null===(n=O.current)||void 0===n||n.addEventListener("wheel",t),function(){var n;null===(n=O.current)||void 0===n||n.removeEventListener("wheel",t)}}),[]);var R=d.useMemo((function(){return i.every((function(n){return n.width>=0}))}),[i]),T=i[i.length-1],I={fixed:T?T.fixed:null,scrollbar:!0,onHeaderCell:function(){return{className:"".concat(S,"-cell-scrollbar")}}},_=(0,d.useMemo)((function(){return P?[].concat((0,u.Z)(o),[I]):o}),[P,o]),L=(0,d.useMemo)((function(){return P?[].concat((0,u.Z)(i),[I]):i}),[P,i]),A=(0,d.useMemo)((function(){var n=f.right,t=f.left;return(0,s.Z)((0,s.Z)({},f),{},{left:"rtl"===m?[].concat((0,u.Z)(t.map((function(n){return n+P}))),[0]):t,right:"rtl"===m?n:[].concat((0,u.Z)(n.map((function(n){return n+P}))),[0]),isSticky:z})}),[P,f,z]),D=function(n,t){return(0,d.useMemo)((function(){for(var e=[],a=0;a=0&&t.splice(a,0,ln)}var o=t.indexOf(ln);t=t.filter((function(n,t){return n!==ln||t===o}));var s,b=w[o];s="left"!==x&&!x||g?"right"!==x&&!x||g!==w.length?b?b.fixed:null:"right":"left";var y=(n={},(0,r.Z)(n,on,{className:"".concat(e,"-expand-icon-col"),columnType:"EXPAND_COLUMN"}),(0,r.Z)(n,"title",c),(0,r.Z)(n,"fixed",s),(0,r.Z)(n,"className","".concat(e,"-row-expand-icon-cell")),(0,r.Z)(n,"width",v),(0,r.Z)(n,"render",(function(n,t,a){var r=u(t,a),o=l.has(r),i=!m||m(t),c=f({prefixCls:e,expanded:o,expandable:i,record:t,onExpand:p});return h?d.createElement("span",{onClick:function(n){return n.stopPropagation()}},c):c})),n);return t.map((function(n){return n===ln?y:n}))}return w.filter((function(n){return n!==ln}))}),[i,w,u,l,f,b]),E=d.useMemo((function(){var n=k;return t&&(n=t(n)),n.length||(n=[{render:function(){return null}}]),n}),[t,k,b]),C=d.useMemo((function(){return"rtl"===b?function(n){return n.map((function(n){var t=n.fixed,e=(0,y.Z)(n,sn),a=t;return"left"===t?a="right":"right"===t&&(a="left"),(0,s.Z)({fixed:a},e)}))}(dn(E)):dn(E)}),[E,b]);return[E,C]}((0,s.Z)((0,s.Z)((0,s.Z)({},n),an),{},{expandable:!!vn,columnTitle:wn,expandedKeys:Un,getRowKey:tn,onTriggerExpand:Wn,expandIcon:Dn,expandIconColumnIndex:Pn,direction:T}),q===Tn?Y:null),Qn=(0,i.Z)(Gn,2),Jn=Qn[0],nt=Qn[1],tt=d.useMemo((function(){return{columns:Jn,flattenColumns:nt}}),[Jn,nt]),et=d.useRef(),at=d.useRef(),rt=d.useRef(),ot=d.useRef(),it=d.useRef(),lt=d.useState(!1),ct=(0,i.Z)(lt,2),st=ct[0],ut=ct[1],dt=d.useState(!1),pt=(0,i.Z)(dt,2),ft=pt[0],mt=pt[1],gt=pn(new Map),bt=(0,i.Z)(gt,2),ht=bt[0],vt=bt[1],xt=C(nt).map((function(n){return ht.get(n)})),yt=d.useMemo((function(){return xt}),[xt.join("_")]),wt=function(n,t,e){return(0,d.useMemo)((function(){for(var a=[],r=[],o=0,i=0,l=0;l0)):(ut(o>0),mt(o=1},subscribe:function(n){return Hn.size||this.register(),Bn+=1,Hn.set(Bn,n),n(Un),Bn},unsubscribe:function(n){Hn.delete(n),Hn.size||this.unregister()},unregister:function(){var n=this;Object.keys(Vn).forEach((function(t){var e=Vn[t],a=n.matchHandlers[e];null==a||a.mql.removeListener(null==a?void 0:a.listener)})),Hn.clear()},register:function(){var n=this;Object.keys(Vn).forEach((function(t){var e=Vn[t],a=function(e){var a=e.matches;n.dispatch((0,o.Z)((0,o.Z)({},Un),(0,r.Z)({},t,a)))},i=window.matchMedia(e);i.addListener(a),n.matchHandlers[e]={mql:i,listener:a},a(i)}))}},qn=function(){var n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=(0,d.useRef)({}),e=Kn();return(0,d.useEffect)((function(){var a=Wn.subscribe((function(a){t.current=a,n&&e()}));return function(){return Wn.unsubscribe(a)}}),[]),t.current},$n=e(5767).Z,Yn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z"}}]},name:"double-left",theme:"outlined"};var Xn=e(76),Gn=function(n,t){return d.createElement(Xn.Z,(0,s.Z)((0,s.Z)({},n),{},{ref:t,icon:Yn}))};const Qn=d.forwardRef(Gn),Jn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z"}}]},name:"double-right",theme:"outlined"};var nt=function(n,t){return d.createElement(Xn.Z,(0,s.Z)((0,s.Z)({},n),{},{ref:t,icon:Jn}))};const tt=d.forwardRef(nt),et={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"};var at=function(n,t){return d.createElement(Xn.Z,(0,s.Z)((0,s.Z)({},n),{},{ref:t,icon:et}))};const rt=d.forwardRef(at),ot={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"};var it=function(n,t){return d.createElement(Xn.Z,(0,s.Z)((0,s.Z)({},n),{},{ref:t,icon:ot}))};const lt=d.forwardRef(it);var ct=e(5671),st=e(3144),ut=e(9340),dt=e(8557);const pt=function(n){var t,e="".concat(n.rootPrefixCls,"-item"),a=c()(e,"".concat(e,"-").concat(n.page),(t={},(0,r.Z)(t,"".concat(e,"-active"),n.active),(0,r.Z)(t,"".concat(e,"-disabled"),!n.page),(0,r.Z)(t,n.className,!!n.className),t));return d.createElement("li",{title:n.showTitle?n.page:null,className:a,onClick:function(){n.onClick(n.page)},onKeyPress:function(t){n.onKeyPress(t,n.onClick,n.page)},tabIndex:"0"},n.itemRender(n.page,"page",d.createElement("a",{rel:"nofollow"},n.page)))};var ft=function(n){(0,ut.Z)(e,n);var t=(0,dt.Z)(e);function e(){var n;(0,ct.Z)(this,e);for(var a=arguments.length,r=new Array(a),o=0;o=0||t.relatedTarget.className.indexOf("".concat(o,"-item"))>=0)||r(n.getValidValue()))},n.go=function(t){""!==n.state.goInputText&&(13!==t.keyCode&&"click"!==t.type||(n.setState({goInputText:""}),n.props.quickGo(n.getValidValue())))},n}return(0,st.Z)(e,[{key:"getValidValue",value:function(){var n=this.state.goInputText;return!n||isNaN(n)?void 0:Number(n)}},{key:"getPageSizeOptions",value:function(){var n=this.props,t=n.pageSize,e=n.pageSizeOptions;return e.some((function(n){return n.toString()===t.toString()}))?e:e.concat([t.toString()]).sort((function(n,t){return(isNaN(Number(n))?0:Number(n))-(isNaN(Number(t))?0:Number(t))}))}},{key:"render",value:function(){var n=this,t=this.props,e=t.pageSize,a=t.locale,r=t.rootPrefixCls,o=t.changeSize,i=t.quickGo,l=t.goButton,c=t.selectComponentClass,s=t.buildOptionText,u=t.selectPrefixCls,p=t.disabled,f=this.state.goInputText,m="".concat(r,"-options"),g=c,b=null,h=null,v=null;if(!o&&!i)return null;var x=this.getPageSizeOptions();if(o&&g){var y=x.map((function(t,e){return d.createElement(g.Option,{key:e,value:t.toString()},(s||n.buildOptionText)(t))}));b=d.createElement(g,{disabled:p,prefixCls:u,showSearch:!1,className:"".concat(m,"-size-changer"),optionLabelProp:"children",dropdownMatchSelectWidth:!1,value:(e||x[0]).toString(),onChange:this.changeSize,getPopupContainer:function(n){return n.parentNode},"aria-label":a.page_size,defaultOpen:!1},y)}return i&&(l&&(v="boolean"==typeof l?d.createElement("button",{type:"button",onClick:this.go,onKeyUp:this.go,disabled:p,className:"".concat(m,"-quick-jumper-button")},a.jump_to_confirm):d.createElement("span",{onClick:this.go,onKeyUp:this.go},l)),h=d.createElement("div",{className:"".concat(m,"-quick-jumper")},a.jump_to,d.createElement("input",{disabled:p,type:"text",value:f,onChange:this.handleChange,onKeyUp:this.go,onBlur:this.handleBlur,"aria-label":a.page}),a.page,v)),d.createElement("li",{className:"".concat(m)},b,h)}}]),e}(d.Component);ft.defaultProps={pageSizeOptions:["10","20","50","100"]};const mt=ft;function gt(){}function bt(n){var t=Number(n);return"number"==typeof t&&!isNaN(t)&&isFinite(t)&&Math.floor(t)===t}function ht(n,t,e){var a=void 0===n?t.pageSize:n;return Math.floor((e.total-1)/a)+1}var vt=function(n){(0,ut.Z)(e,n);var t=(0,dt.Z)(e);function e(n){var a;(0,ct.Z)(this,e),(a=t.call(this,n)).getJumpPrevPage=function(){return Math.max(1,a.state.current-(a.props.showLessItems?3:5))},a.getJumpNextPage=function(){return Math.min(ht(void 0,a.state,a.props),a.state.current+(a.props.showLessItems?3:5))},a.getItemIcon=function(n,t){var e=a.props.prefixCls,r=n||d.createElement("button",{type:"button","aria-label":t,className:"".concat(e,"-item-link")});return"function"==typeof n&&(r=d.createElement(n,(0,s.Z)({},a.props))),r},a.savePaginationNode=function(n){a.paginationNode=n},a.isValid=function(n){var t=a.props.total;return bt(n)&&n!==a.state.current&&bt(t)&&t>0},a.shouldDisplayQuickJumper=function(){var n=a.props,t=n.showQuickJumper;return!(n.total<=a.state.pageSize)&&t},a.handleKeyDown=function(n){38!==n.keyCode&&40!==n.keyCode||n.preventDefault()},a.handleKeyUp=function(n){var t=a.getValidValue(n);t!==a.state.currentInputValue&&a.setState({currentInputValue:t}),13===n.keyCode?a.handleChange(t):38===n.keyCode?a.handleChange(t-1):40===n.keyCode&&a.handleChange(t+1)},a.handleBlur=function(n){var t=a.getValidValue(n);a.handleChange(t)},a.changePageSize=function(n){var t=a.state.current,e=ht(n,a.state,a.props);t=t>e?e:t,0===e&&(t=a.state.current),"number"==typeof n&&("pageSize"in a.props||a.setState({pageSize:n}),"current"in a.props||a.setState({current:t,currentInputValue:t})),a.props.onShowSizeChange(t,n),"onChange"in a.props&&a.props.onChange&&a.props.onChange(t,n)},a.handleChange=function(n){var t=a.props,e=t.disabled,r=t.onChange,o=a.state,i=o.pageSize,l=o.current,c=o.currentInputValue;if(a.isValid(n)&&!e){var s=ht(void 0,a.state,a.props),u=n;return n>s?u=s:n<1&&(u=1),"current"in a.props||a.setState({current:u}),u!==c&&a.setState({currentInputValue:u}),r(u,i),u}return l},a.prev=function(){a.hasPrev()&&a.handleChange(a.state.current-1)},a.next=function(){a.hasNext()&&a.handleChange(a.state.current+1)},a.jumpPrev=function(){a.handleChange(a.getJumpPrevPage())},a.jumpNext=function(){a.handleChange(a.getJumpNextPage())},a.hasPrev=function(){return a.state.current>1},a.hasNext=function(){return a.state.current2?e-2:0),r=2;r=e?e:Number(t)}},{key:"getShowSizeChanger",value:function(){var n=this.props,t=n.showSizeChanger,e=n.total,a=n.totalBoundaryShowSizeChanger;return void 0!==t?t:e>a}},{key:"renderPrev",value:function(n){var t=this.props,e=t.prevIcon,a=(0,t.itemRender)(n,"prev",this.getItemIcon(e,"prev page")),r=!this.hasPrev();return(0,d.isValidElement)(a)?(0,d.cloneElement)(a,{disabled:r}):a}},{key:"renderNext",value:function(n){var t=this.props,e=t.nextIcon,a=(0,t.itemRender)(n,"next",this.getItemIcon(e,"next page")),r=!this.hasNext();return(0,d.isValidElement)(a)?(0,d.cloneElement)(a,{disabled:r}):a}},{key:"render",value:function(){var n=this,t=this.props,e=t.prefixCls,a=t.className,i=t.style,l=t.disabled,s=t.hideOnSinglePage,u=t.total,p=t.locale,f=t.showQuickJumper,m=t.showLessItems,g=t.showTitle,b=t.showTotal,h=t.simple,v=t.itemRender,x=t.showPrevNextJumpers,y=t.jumpPrevIcon,w=t.jumpNextIcon,k=t.selectComponentClass,E=t.selectPrefixCls,C=t.pageSizeOptions,Z=this.state,S=Z.current,N=Z.pageSize,z=Z.currentInputValue;if(!0===s&&u<=N)return null;var P=ht(void 0,this.state,this.props),O=[],M=null,R=null,T=null,I=null,_=null,L=f&&f.goButton,A=m?1:2,D=S-1>0?S-1:0,j=S+1u?u:S*N]));if(h)return L&&(_="boolean"==typeof L?d.createElement("button",{type:"button",onClick:this.handleGoTO,onKeyUp:this.handleGoTO},p.jump_to_confirm):d.createElement("span",{onClick:this.handleGoTO,onKeyUp:this.handleGoTO},L),_=d.createElement("li",{title:g?"".concat(p.jump_to).concat(S,"/").concat(P):null,className:"".concat(e,"-simple-pager")},_)),d.createElement("ul",(0,o.Z)({className:c()(e,"".concat(e,"-simple"),(0,r.Z)({},"".concat(e,"-disabled"),l),a),style:i,ref:this.savePaginationNode},F),K,d.createElement("li",{title:g?p.prev_page:null,onClick:this.prev,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterPrev,className:c()("".concat(e,"-prev"),(0,r.Z)({},"".concat(e,"-disabled"),!this.hasPrev())),"aria-disabled":!this.hasPrev()},this.renderPrev(D)),d.createElement("li",{title:g?"".concat(S,"/").concat(P):null,className:"".concat(e,"-simple-pager")},d.createElement("input",{type:"text",value:z,disabled:l,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,onChange:this.handleKeyUp,onBlur:this.handleBlur,size:"3"}),d.createElement("span",{className:"".concat(e,"-slash")},"/"),P),d.createElement("li",{title:g?p.next_page:null,onClick:this.next,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterNext,className:c()("".concat(e,"-next"),(0,r.Z)({},"".concat(e,"-disabled"),!this.hasNext())),"aria-disabled":!this.hasNext()},this.renderNext(j)),_);if(P<=3+2*A){var V={locale:p,rootPrefixCls:e,onClick:this.handleChange,onKeyPress:this.runIfEnter,showTitle:g,itemRender:v};P||O.push(d.createElement(pt,(0,o.Z)({},V,{key:"noPager",page:1,className:"".concat(e,"-item-disabled")})));for(var H=1;H<=P;H+=1){var B=S===H;O.push(d.createElement(pt,(0,o.Z)({},V,{key:H,page:H,active:B})))}}else{var U=m?p.prev_3:p.prev_5,W=m?p.next_3:p.next_5;x&&(M=d.createElement("li",{title:g?U:null,key:"prev",onClick:this.jumpPrev,tabIndex:"0",onKeyPress:this.runIfEnterJumpPrev,className:c()("".concat(e,"-jump-prev"),(0,r.Z)({},"".concat(e,"-jump-prev-custom-icon"),!!y))},v(this.getJumpPrevPage(),"jump-prev",this.getItemIcon(y,"prev page"))),R=d.createElement("li",{title:g?W:null,key:"next",tabIndex:"0",onClick:this.jumpNext,onKeyPress:this.runIfEnterJumpNext,className:c()("".concat(e,"-jump-next"),(0,r.Z)({},"".concat(e,"-jump-next-custom-icon"),!!w))},v(this.getJumpNextPage(),"jump-next",this.getItemIcon(w,"next page")))),I=d.createElement(pt,{locale:p,last:!0,rootPrefixCls:e,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:P,page:P,active:!1,showTitle:g,itemRender:v}),T=d.createElement(pt,{locale:p,rootPrefixCls:e,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:1,page:1,active:!1,showTitle:g,itemRender:v});var q=Math.max(1,S-A),$=Math.min(S+A,P);S-1<=A&&($=1+2*A),P-S<=A&&(q=P-2*A);for(var Y=q;Y<=$;Y+=1){var X=S===Y;O.push(d.createElement(pt,{locale:p,rootPrefixCls:e,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:Y,page:Y,active:X,showTitle:g,itemRender:v}))}S-1>=2*A&&3!==S&&(O[0]=(0,d.cloneElement)(O[0],{className:"".concat(e,"-item-after-jump-prev")}),O.unshift(M)),P-S>=2*A&&S!==P-2&&(O[O.length-1]=(0,d.cloneElement)(O[O.length-1],{className:"".concat(e,"-item-before-jump-next")}),O.push(R)),1!==q&&O.unshift(T),$!==P&&O.push(I)}var G=!this.hasPrev()||!P,Q=!this.hasNext()||!P;return d.createElement("ul",(0,o.Z)({className:c()(e,a,(0,r.Z)({},"".concat(e,"-disabled"),l)),style:i,ref:this.savePaginationNode},F),K,d.createElement("li",{title:g?p.prev_page:null,onClick:this.prev,tabIndex:G?null:0,onKeyPress:this.runIfEnterPrev,className:c()("".concat(e,"-prev"),(0,r.Z)({},"".concat(e,"-disabled"),G)),"aria-disabled":G},this.renderPrev(D)),O,d.createElement("li",{title:g?p.next_page:null,onClick:this.next,tabIndex:Q?null:0,onKeyPress:this.runIfEnterNext,className:c()("".concat(e,"-next"),(0,r.Z)({},"".concat(e,"-disabled"),Q)),"aria-disabled":Q},this.renderNext(j)),d.createElement(mt,{disabled:l,locale:p,rootPrefixCls:e,selectComponentClass:k,selectPrefixCls:E,changeSize:this.getShowSizeChanger()?this.changePageSize:null,current:S,pageSize:N,pageSizeOptions:C,quickGo:this.shouldDisplayQuickJumper()?this.handleChange:null,goButton:L}))}}],[{key:"getDerivedStateFromProps",value:function(n,t){var e={};if("current"in n&&(e.current=n.current,n.current!==t.current&&(e.currentInputValue=e.current)),"pageSize"in n&&n.pageSize!==t.pageSize){var a=t.current,r=ht(n.pageSize,t,n);a=a>r?r:a,"current"in n||(e.current=a,e.currentInputValue=a),e.pageSize=n.pageSize}return e}}]),e}(d.Component);vt.defaultProps={defaultCurrent:1,total:0,defaultPageSize:10,onChange:gt,className:"",selectPrefixCls:"rc-select",prefixCls:"rc-pagination",selectComponentClass:null,hideOnSinglePage:!1,showPrevNextJumpers:!0,showQuickJumper:!1,showLessItems:!1,showTitle:!0,onShowSizeChange:gt,locale:{items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"},style:{},itemRender:function(n,t,e){return e},totalBoundaryShowSizeChanger:50};const xt=vt;var yt=e(2906),wt=e(2051),kt=e(2239),Et=function(n){return d.createElement(kt.Z,(0,o.Z)({},n,{size:"small"}))},Ct=function(n){return d.createElement(kt.Z,(0,o.Z)({},n,{size:"middle"}))};Et.Option=kt.Z.Option,Ct.Option=kt.Z.Option;const Zt=function(n){var t=n.prefixCls,e=n.selectPrefixCls,a=n.className,i=n.size,l=n.locale,s=n.selectComponentClass,u=n.responsive,p=n.showSizeChanger,f=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r0&&(a=z().map((function(n){return d.createElement(ee,{prefixCls:P,key:n.value.toString(),disabled:"disabled"in n?n.disabled:b.disabled,value:n.value,checked:k.includes(n.value),onChange:n.onChange,className:"".concat(O,"-item"),style:n.style},n.label)})));var R={toggleOption:function(n){var t=k.indexOf(n.value),e=(0,u.Z)(k);-1===t?e.push(n.value):e.splice(t,1),"value"in b||E(e);var a=z();null==g||g(e.filter((function(n){return S.includes(n)})).sort((function(n,t){return a.findIndex((function(t){return t.value===n}))-a.findIndex((function(n){return n.value===t}))})))},value:k,disabled:b.disabled,name:b.name,registerValue:function(n){N((function(t){return[].concat((0,u.Z)(t),[n])}))},cancelValue:function(n){N((function(t){return t.filter((function(t){return t!==n}))}))}},T=c()(O,(0,r.Z)({},"".concat(O,"-rtl"),"rtl"===x),f);return d.createElement("div",(0,o.Z)({className:T,style:m},M,{ref:t}),d.createElement(Xt.Provider,{value:R},a))},Qt=d.forwardRef(Gt);const Jt=d.memo(Qt);var ne=e(8866),te=function(n,t){var e,a,i=n.prefixCls,l=n.className,s=n.children,u=n.indeterminate,p=void 0!==u&&u,f=n.style,m=n.onMouseEnter,g=n.onMouseLeave,b=n.skipGroup,h=void 0!==b&&b,v=n.disabled,x=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r0&&(T=x.map((function(n){return"string"==typeof n||"number"==typeof n?d.createElement(Ae,{key:n.toString(),prefixCls:M,disabled:k,value:n,checked:m===n},n):d.createElement(Ae,{key:"radio-group-value-options-".concat(n.value),prefixCls:M,disabled:n.disabled||k,value:n.value,checked:m===n.value,style:n.style},n.label)})));var I=C||u,_=c()(R,"".concat(R,"-").concat(w),(e={},(0,r.Z)(e,"".concat(R,"-").concat(I),I),(0,r.Z)(e,"".concat(R,"-rtl"),"rtl"===s),e),v);return d.createElement("div",(0,o.Z)({},function(n){return Object.keys(n).reduce((function(t,e){return!e.startsWith("data-")&&!e.startsWith("aria-")&&"role"!==e||e.startsWith("data-__")||(t[e]=n[e]),t}),{})}(n),{className:_,style:Z,onMouseEnter:N,onMouseLeave:z,onFocus:P,onBlur:O,id:S,ref:t}),d.createElement(Re,{value:{onChange:function(t){var e=m,a=t.target.value;"value"in n||g(a);var r=n.onChange;r&&a!==e&&r(t)},value:m,disabled:n.disabled,name:n.name,optionType:n.optionType}},T))}));const je=d.memo(De);var Fe=function(n,t){var e=d.useContext(Dn.E_).getPrefixCls,a=n.prefixCls,r=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r1&&void 0!==arguments[1]?arguments[1]:null;return e.map((function(d,p){for(var f,m=na(a?a.pos:"0",p),g=ta(d[o],m),b=0;b1&&void 0!==arguments[1]?arguments[1]:{},e=t.initWrapper,r=t.processEntity,o=t.onProcessFinished,i=t.externalGetKey,l=t.childrenPropName,c=t.fieldNames,s=i||(arguments.length>2?arguments[2]:void 0),d={},p={},f={posEntities:d,keyEntities:p};return e&&(f=e(f)||f),function(n,t,e){var o,i=("object"===(0,a.Z)(e)?e:{externalGetKey:e})||{},l=i.childrenPropName,c=i.externalGetKey,s=ea(i.fieldNames),m=s.key,g=s.children,b=l||g;c?"string"==typeof c?o=function(n){return n[c]}:"function"==typeof c&&(o=function(n){return c(n)}):o=function(n,t){return ta(n[m],t)},function t(e,a,i,l){var c=e?e[b]:n,s=e?na(i.pos,a):"0",m=e?[].concat((0,u.Z)(l),[e]):[];if(e){var g=o(e,s);!function(n){var t=n.node,e=n.index,a=n.pos,o=n.key,i=n.parentPos,l=n.level,c={node:t,nodes:n.nodes,index:e,key:o,pos:a,level:l},s=ta(o,a);d[a]=c,p[s]=c,c.parent=d[i],c.parent&&(c.parent.children=c.parent.children||[],c.parent.children.push(c)),r&&r(c,f)}({node:e,index:a,pos:s,key:g,parentPos:i.node?i.pos:null,level:i.level+1,nodes:m})}c&&c.forEach((function(n,a){t(n,a,{node:e,pos:s,level:i?i.level+1:-1},m)}))}(null)}(n,0,{externalGetKey:s,childrenPropName:l,fieldNames:c}),o&&o(f),f}function ia(n,t){var e=t.expandedKeys,a=t.selectedKeys,r=t.loadedKeys,o=t.loadingKeys,i=t.checkedKeys,l=t.halfCheckedKeys,c=t.dragOverNodeKey,s=t.dropPosition,u=Qe(t.keyEntities,n);return{eventKey:n,expanded:-1!==e.indexOf(n),selected:-1!==a.indexOf(n),loaded:-1!==r.indexOf(n),loading:-1!==o.indexOf(n),checked:-1!==i.indexOf(n),halfChecked:-1!==l.indexOf(n),pos:String(u?u.pos:""),dragOver:c===n&&0===s,dragOverGapTop:c===n&&-1===s,dragOverGapBottom:c===n&&1===s}}function la(n){var t=n.data,e=n.expanded,a=n.selected,r=n.checked,o=n.loaded,i=n.loading,l=n.halfChecked,c=n.dragOver,u=n.dragOverGapTop,d=n.dragOverGapBottom,p=n.pos,f=n.active,m=n.eventKey,g=(0,s.Z)((0,s.Z)({},t),{},{expanded:e,selected:a,checked:r,loaded:o,loading:i,halfChecked:l,dragOver:c,dragOverGapTop:u,dragOverGapBottom:d,pos:p,active:f,key:m});return"props"in g||Object.defineProperty(g,"props",{get:function(){return(0,h.ZP)(!1,"Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."),n}}),g}var ca=["eventKey","className","style","dragOver","dragOverGapTop","dragOverGapBottom","isLeaf","isStart","isEnd","expanded","selected","checked","halfChecked","loading","domRef","active","data","onMouseMove","selectable"],sa="open",ua="close",da=function(n){(0,ut.Z)(e,n);var t=(0,dt.Z)(e);function e(){var n;(0,ct.Z)(this,e);for(var a=arguments.length,r=new Array(a),o=0;o0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],e=n.length,a=t.length;if(1!==Math.abs(e-a))return{add:!1,key:null};function r(n,t){var e=new Map;n.forEach((function(n){e.set(n,!0)}));var a=t.filter((function(n){return!e.has(n)}));return 1===a.length?a[0]:null}return e ").concat(t);return t}(C)),d.createElement("div",null,d.createElement("input",{style:xa,disabled:!1===E||m,tabIndex:!1!==E?S:null,onKeyDown:N,onFocus:P,onBlur:O,value:"",onChange:ya,"aria-label":"for screen reader"})),d.createElement("div",{className:"".concat(e,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0}},d.createElement("div",{className:"".concat(e,"-indent")},d.createElement("div",{ref:L,className:"".concat(e,"-indent-unit")}))),d.createElement($e.Z,(0,o.Z)({},I,{data:on,itemKey:Sa,height:x,fullHeight:!1,virtual:k,itemHeight:w,prefixCls:"".concat(e,"-list"),ref:_,onVisibleChange:function(n,t){var e=new Set(n);t.filter((function(n){return!e.has(n)})).some((function(n){return Sa(n)===wa}))&&rn()}}),(function(n){var t=n.pos,e=(0,o.Z)({},(qe(n.data),n.data)),a=n.title,r=n.key,i=n.isStart,l=n.isEnd,c=ta(r,t);delete e.key,delete e.children;var s=ia(c,ln);return d.createElement(ba,(0,o.Z)({},e,s,{title:a,active:!!C&&r===C.key,pos:t,data:n.data,isStart:i,isEnd:l,motion:v,motionNodes:r===wa?G:null,motionType:tn,onMotionStart:R,onMotionEnd:rn,treeNodeRequiredProps:ln,onMouseMove:function(){M(null)}}))})))}));Na.displayName="NodeList";const za=Na;function Pa(n,t){if(!n)return[];var e=n.slice(),a=e.indexOf(t);return a>=0&&e.splice(a,1),e}function Oa(n,t){var e=(n||[]).slice();return-1===e.indexOf(t)&&e.push(t),e}function Ma(n){return n.split("-")}function Ra(n,t){var e=[];return function n(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach((function(t){var a=t.key,r=t.children;e.push(a),n(r)}))}(Qe(t,n).children),e}function Ta(n){if(n.parent){var t=Ma(n.pos);return Number(t[t.length-1])===n.parent.children.length-1}return!1}function Ia(n,t,e,a,r,o,i,l,c,s){var u,d=n.clientX,p=n.clientY,f=n.target.getBoundingClientRect(),m=f.top,g=f.height,b=(("rtl"===s?-1:1)*(((null==r?void 0:r.x)||0)-d)-12)/a,h=Qe(l,e.props.eventKey);if(p-1.5?o({dragNode:N,dropNode:z,dropPosition:1})?E=1:P=!1:o({dragNode:N,dropNode:z,dropPosition:0})?E=0:o({dragNode:N,dropNode:z,dropPosition:1})?E=1:P=!1:o({dragNode:N,dropNode:z,dropPosition:1})?E=1:P=!1,{dropPosition:E,dropLevelOffset:C,dropTargetKey:h.key,dropTargetPos:h.pos,dragOverNodeKey:k,dropContainerKey:0===E?null:(null===(u=h.parent)||void 0===u?void 0:u.key)||null,dropAllowed:P}}function _a(n,t){if(n)return t.multiple?n.slice():n.length?[n[0]]:n}function La(n){if(!n)return null;var t;if(Array.isArray(n))t={checkedKeys:n,halfCheckedKeys:void 0};else{if("object"!==(0,a.Z)(n))return(0,h.ZP)(!1,"`checkedKeys` is not an array or an object"),null;t={checkedKeys:n.checked||void 0,halfCheckedKeys:n.halfChecked||void 0}}return t}function Aa(n,t){var e=new Set;function a(n){if(!e.has(n)){var r=Qe(t,n);if(r){e.add(n);var o=r.parent;r.node.disabled||o&&a(o.key)}}}return(n||[]).forEach((function(n){a(n)})),(0,u.Z)(e)}function Da(n,t){var e=new Set;return n.forEach((function(n){t.has(n)||e.add(n)})),e}function ja(n){var t=n||{},e=t.disabled,a=t.disableCheckbox,r=t.checkable;return!(!e&&!a)||!1===r}function Fa(n,t,e,a){var r,o=[];r=a||ja;var i,l=new Set(n.filter((function(n){var t=!!Qe(e,n);return t||o.push(n),t}))),c=new Map,s=0;return Object.keys(e).forEach((function(n){var t=e[n],a=t.level,r=c.get(a);r||(r=new Set,c.set(a,r)),r.add(t),s=Math.max(s,a)})),(0,h.ZP)(!o.length,"Tree missing follow keys: ".concat(o.slice(0,100).map((function(n){return"'".concat(n,"'")})).join(", "))),i=!0===t?function(n,t,e,a){for(var r=new Set(n),o=new Set,i=0;i<=e;i+=1)(t.get(i)||new Set).forEach((function(n){var t=n.key,e=n.node,o=n.children,i=void 0===o?[]:o;r.has(t)&&!a(e)&&i.filter((function(n){return!a(n.node)})).forEach((function(n){r.add(n.key)}))}));for(var l=new Set,c=e;c>=0;c-=1)(t.get(c)||new Set).forEach((function(n){var t=n.parent,e=n.node;if(!a(e)&&n.parent&&!l.has(n.parent.key))if(a(n.parent.node))l.add(t.key);else{var i=!0,c=!1;(t.children||[]).filter((function(n){return!a(n.node)})).forEach((function(n){var t=n.key,e=r.has(t);i&&!e&&(i=!1),c||!e&&!o.has(t)||(c=!0)})),i&&r.add(t.key),c&&o.add(t.key),l.add(t.key)}}));return{checkedKeys:Array.from(r),halfCheckedKeys:Array.from(Da(o,r))}}(l,c,s,r):function(n,t,e,a,r){for(var o=new Set(n),i=new Set(t),l=0;l<=a;l+=1)(e.get(l)||new Set).forEach((function(n){var t=n.key,e=n.node,a=n.children,l=void 0===a?[]:a;o.has(t)||i.has(t)||r(e)||l.filter((function(n){return!r(n.node)})).forEach((function(n){o.delete(n.key)}))}));i=new Set;for(var c=new Set,s=a;s>=0;s-=1)(e.get(s)||new Set).forEach((function(n){var t=n.parent,e=n.node;if(!r(e)&&n.parent&&!c.has(n.parent.key))if(r(n.parent.node))c.add(t.key);else{var a=!0,l=!1;(t.children||[]).filter((function(n){return!r(n.node)})).forEach((function(n){var t=n.key,e=o.has(t);a&&!e&&(a=!1),l||!e&&!i.has(t)||(l=!0)})),a||o.delete(t.key),l&&i.add(t.key),c.add(t.key)}}));return{checkedKeys:Array.from(o),halfCheckedKeys:Array.from(Da(i,o))}}(l,t.halfCheckedKeys,c,s,r),i}var Ka=function(n){(0,ut.Z)(e,n);var t=(0,dt.Z)(e);function e(){var n;(0,ct.Z)(this,e);for(var a=arguments.length,r=new Array(a),o=0;o2&&void 0!==arguments[2]&&arguments[2],o=n.state,i=o.dragChildrenKeys,l=o.dropPosition,c=o.dropTargetKey,u=o.dropTargetPos;if(o.dropAllowed){var d=n.props.onDrop;if(n.setState({dragOverNodeKey:null}),n.cleanDragState(),null!==c){var p=(0,s.Z)((0,s.Z)({},ia(c,n.getTreeNodeRequiredProps())),{},{active:(null===(a=n.getActiveItem())||void 0===a?void 0:a.key)===c,data:Qe(n.state.keyEntities,c).node}),f=-1!==i.indexOf(c);(0,h.ZP)(!f,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var m=Ma(u),g={event:t,node:la(p),dragNode:n.dragNode?la(n.dragNode.props):null,dragNodesKeys:[n.dragNode.props.eventKey].concat(i),dropToGap:0!==l,dropPosition:l+Number(m[m.length-1])};r||null==d||d(g),n.dragNode=null}}},n.cleanDragState=function(){null!==n.state.draggingNodeKey&&n.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),n.dragStartMousePosition=null,n.currentMouseOverDroppableNodeKey=null},n.triggerExpandActionExpand=function(t,e){var a=n.state,r=a.expandedKeys,o=a.flattenNodes,i=e.expanded,l=e.key;if(!(e.isLeaf||t.shiftKey||t.metaKey||t.ctrlKey)){var c=o.filter((function(n){return n.key===l}))[0],u=la((0,s.Z)((0,s.Z)({},ia(l,n.getTreeNodeRequiredProps())),{},{data:c.data}));n.setExpandedKeys(i?Pa(r,l):Oa(r,l)),n.onNodeExpand(t,u)}},n.onNodeClick=function(t,e){var a=n.props,r=a.onClick;"click"===a.expandAction&&n.triggerExpandActionExpand(t,e),null==r||r(t,e)},n.onNodeDoubleClick=function(t,e){var a=n.props,r=a.onDoubleClick;"doubleClick"===a.expandAction&&n.triggerExpandActionExpand(t,e),null==r||r(t,e)},n.onNodeSelect=function(t,e){var a=n.state.selectedKeys,r=n.state,o=r.keyEntities,i=r.fieldNames,l=n.props,c=l.onSelect,s=l.multiple,u=e.selected,d=e[i.key],p=!u,f=(a=p?s?Oa(a,d):[d]:Pa(a,d)).map((function(n){var t=Qe(o,n);return t?t.node:null})).filter((function(n){return n}));n.setUncontrolledState({selectedKeys:a}),null==c||c(a,{event:"select",selected:p,node:e,selectedNodes:f,nativeEvent:t.nativeEvent})},n.onNodeCheck=function(t,e,a){var r,o=n.state,i=o.keyEntities,l=o.checkedKeys,c=o.halfCheckedKeys,s=n.props,d=s.checkStrictly,p=s.onCheck,f=e.key,m={event:"check",node:e,checked:a,nativeEvent:t.nativeEvent};if(d){var g=a?Oa(l,f):Pa(l,f);r={checked:g,halfChecked:Pa(c,f)},m.checkedNodes=g.map((function(n){return Qe(i,n)})).filter((function(n){return n})).map((function(n){return n.node})),n.setUncontrolledState({checkedKeys:g})}else{var b=Fa([].concat((0,u.Z)(l),[f]),!0,i),h=b.checkedKeys,v=b.halfCheckedKeys;if(!a){var x=new Set(h);x.delete(f);var y=Fa(Array.from(x),{checked:!1,halfCheckedKeys:v},i);h=y.checkedKeys,v=y.halfCheckedKeys}r=h,m.checkedNodes=[],m.checkedNodesPositions=[],m.halfCheckedKeys=v,h.forEach((function(n){var t=Qe(i,n);if(t){var e=t.node,a=t.pos;m.checkedNodes.push(e),m.checkedNodesPositions.push({node:e,pos:a})}})),n.setUncontrolledState({checkedKeys:h},!1,{halfCheckedKeys:v})}null==p||p(r,m)},n.onNodeLoad=function(t){var e=t.key,a=new Promise((function(a,r){n.setState((function(o){var i=o.loadedKeys,l=void 0===i?[]:i,c=o.loadingKeys,s=void 0===c?[]:c,u=n.props,d=u.loadData,p=u.onLoad;return d&&-1===l.indexOf(e)&&-1===s.indexOf(e)?(d(t).then((function(){var r=Oa(n.state.loadedKeys,e);null==p||p(r,{event:"load",node:t}),n.setUncontrolledState({loadedKeys:r}),n.setState((function(n){return{loadingKeys:Pa(n.loadingKeys,e)}})),a()})).catch((function(t){if(n.setState((function(n){return{loadingKeys:Pa(n.loadingKeys,e)}})),n.loadingRetryTimes[e]=(n.loadingRetryTimes[e]||0)+1,n.loadingRetryTimes[e]>=10){var o=n.state.loadedKeys;(0,h.ZP)(!1,"Retry for `loadData` many times but still failed. No more retry."),n.setUncontrolledState({loadedKeys:Oa(o,e)}),a()}r(t)})),{loadingKeys:Oa(s,e)}):null}))}));return a.catch((function(){})),a},n.onNodeMouseEnter=function(t,e){var a=n.props.onMouseEnter;null==a||a({event:t,node:e})},n.onNodeMouseLeave=function(t,e){var a=n.props.onMouseLeave;null==a||a({event:t,node:e})},n.onNodeContextMenu=function(t,e){var a=n.props.onRightClick;a&&(t.preventDefault(),a({event:t,node:e}))},n.onFocus=function(){var t=n.props.onFocus;n.setState({focused:!0});for(var e=arguments.length,a=new Array(e),r=0;r1&&void 0!==arguments[1]&&arguments[1],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!n.destroyed){var r=!1,o=!0,i={};Object.keys(t).forEach((function(e){e in n.props?o=!1:(r=!0,i[e]=t[e])})),!r||e&&!o||n.setState((0,s.Z)((0,s.Z)({},i),a))}},n.scrollTo=function(t){n.listRef.current.scrollTo(t)},n}return(0,st.Z)(e,[{key:"componentDidMount",value:function(){this.destroyed=!1,this.onUpdated()}},{key:"componentDidUpdate",value:function(){this.onUpdated()}},{key:"onUpdated",value:function(){var n=this.props.activeKey;void 0!==n&&n!==this.state.activeKey&&(this.setState({activeKey:n}),null!==n&&this.scrollTo({key:n}))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("dragend",this.onWindowDragEnd),this.destroyed=!0}},{key:"resetDragState",value:function(){this.setState({dragOverNodeKey:null,dropPosition:null,dropLevelOffset:null,dropTargetKey:null,dropContainerKey:null,dropTargetPos:null,dropAllowed:!1})}},{key:"render",value:function(){var n,t,e=this.state,i=e.focused,l=e.flattenNodes,s=e.keyEntities,u=e.draggingNodeKey,p=e.activeKey,m=e.dropLevelOffset,g=e.dropContainerKey,b=e.dropTargetKey,h=e.dropPosition,v=e.dragOverNodeKey,x=e.indent,y=this.props,w=y.prefixCls,k=y.className,E=y.style,C=y.showLine,Z=y.focusable,S=y.tabIndex,N=void 0===S?0:S,z=y.selectable,P=y.showIcon,O=y.icon,M=y.switcherIcon,R=y.draggable,T=y.checkable,I=y.checkStrictly,_=y.disabled,L=y.motion,A=y.loadData,D=y.filterTreeNode,j=y.height,F=y.itemHeight,K=y.virtual,V=y.titleRender,H=y.dropIndicatorRender,B=y.onContextMenu,U=y.onScroll,W=y.direction,q=y.rootClassName,$=y.rootStyle,Y=(0,f.Z)(this.props,{aria:!0,data:!0});return R&&(t="object"===(0,a.Z)(R)?R:"function"==typeof R?{nodeDraggable:R}:{}),d.createElement(We.Provider,{value:{prefixCls:w,selectable:z,showIcon:P,icon:O,switcherIcon:M,draggable:t,draggingNodeKey:u,checkable:T,checkStrictly:I,disabled:_,keyEntities:s,dropLevelOffset:m,dropContainerKey:g,dropTargetKey:b,dropPosition:h,dragOverNodeKey:v,indent:x,direction:W,dropIndicatorRender:H,loadData:A,filterTreeNode:D,titleRender:V,onNodeClick:this.onNodeClick,onNodeDoubleClick:this.onNodeDoubleClick,onNodeExpand:this.onNodeExpand,onNodeSelect:this.onNodeSelect,onNodeCheck:this.onNodeCheck,onNodeLoad:this.onNodeLoad,onNodeMouseEnter:this.onNodeMouseEnter,onNodeMouseLeave:this.onNodeMouseLeave,onNodeContextMenu:this.onNodeContextMenu,onNodeDragStart:this.onNodeDragStart,onNodeDragEnter:this.onNodeDragEnter,onNodeDragOver:this.onNodeDragOver,onNodeDragLeave:this.onNodeDragLeave,onNodeDragEnd:this.onNodeDragEnd,onNodeDrop:this.onNodeDrop}},d.createElement("div",{role:"tree",className:c()(w,k,q,(n={},(0,r.Z)(n,"".concat(w,"-show-line"),C),(0,r.Z)(n,"".concat(w,"-focused"),i),(0,r.Z)(n,"".concat(w,"-active-focused"),null!==p),n)),style:$},d.createElement(za,(0,o.Z)({ref:this.listRef,prefixCls:w,style:E,data:l,disabled:_,selectable:z,checkable:!!T,motion:L,dragging:null!==u,height:j,itemHeight:F,virtual:K,focusable:Z,focused:i,tabIndex:N,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:B,onScroll:U},this.getTreeNodeRequiredProps(),Y))))}}],[{key:"getDerivedStateFromProps",value:function(n,t){var e,a=t.prevProps,o={prevProps:n};function i(t){return!a&&t in n||a&&a[t]!==n[t]}var l=t.fieldNames;if(i("fieldNames")&&(l=ea(n.fieldNames),o.fieldNames=l),i("treeData")?e=n.treeData:i("children")&&((0,h.ZP)(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),e=aa(n.children)),e){o.treeData=e;var c=oa(e,{fieldNames:l});o.keyEntities=(0,s.Z)((0,r.Z)({},wa,Ea),c.keyEntities)}var u,d=o.keyEntities||t.keyEntities;if(i("expandedKeys")||a&&i("autoExpandParent"))o.expandedKeys=n.autoExpandParent||!a&&n.defaultExpandParent?Aa(n.expandedKeys,d):n.expandedKeys;else if(!a&&n.defaultExpandAll){var p=(0,s.Z)({},d);delete p[wa],o.expandedKeys=Object.keys(p).map((function(n){return p[n].key}))}else!a&&n.defaultExpandedKeys&&(o.expandedKeys=n.autoExpandParent||n.defaultExpandParent?Aa(n.defaultExpandedKeys,d):n.defaultExpandedKeys);if(o.expandedKeys||delete o.expandedKeys,e||o.expandedKeys){var f=ra(e||t.treeData,o.expandedKeys||t.expandedKeys,l);o.flattenNodes=f}if(n.selectable&&(i("selectedKeys")?o.selectedKeys=_a(n.selectedKeys,n):!a&&n.defaultSelectedKeys&&(o.selectedKeys=_a(n.defaultSelectedKeys,n))),n.checkable&&(i("checkedKeys")?u=La(n.checkedKeys)||{}:!a&&n.defaultCheckedKeys?u=La(n.defaultCheckedKeys)||{}:e&&(u=La(n.checkedKeys)||{checkedKeys:t.checkedKeys,halfCheckedKeys:t.halfCheckedKeys}),u)){var m=u,g=m.checkedKeys,b=void 0===g?[]:g,v=m.halfCheckedKeys,x=void 0===v?[]:v;if(!n.checkStrictly){var y=Fa(b,!0,d);b=y.checkedKeys,x=y.halfCheckedKeys}o.checkedKeys=b,o.halfCheckedKeys=x}return i("loadedKeys")&&(o.loadedKeys=n.loadedKeys),o}}]),e}(d.Component);Ka.defaultProps={prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[],dropIndicatorRender:function(n){var t=n.dropPosition,e=n.dropLevelOffset,a=n.indent,r={pointerEvents:"none",position:"absolute",right:0,backgroundColor:"red",height:2};switch(t){case-1:r.top=0,r.left=-e*a;break;case 1:r.bottom=0,r.left=-e*a;break;case 0:r.bottom=0,r.left=a}return d.createElement("div",{style:r})},allowDrop:function(){return!0},expandAction:!1},Ka.TreeNode=fa;const Va=Ka,Ha={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z"}}]},name:"holder",theme:"outlined"};var Ba=function(n,t){return d.createElement(Xn.Z,(0,s.Z)((0,s.Z)({},n),{},{ref:t,icon:Ha}))};const Ua=d.forwardRef(Ba);function Wa(n){var t,e=n.dropPosition,a=n.dropLevelOffset,o=n.prefixCls,i=n.indent,l=n.direction,c=void 0===l?"ltr":l,s="ltr"===c?"left":"right",u="ltr"===c?"right":"left",p=(t={},(0,r.Z)(t,s,-a*i+4),(0,r.Z)(t,u,0),t);switch(e){case-1:p.top=-3;break;case 1:p.bottom=-3;break;default:p.bottom=-3,p[s]=i+4}return d.createElement("div",{style:p,className:"".concat(o,"-drop-indicator")})}const qa={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"filled"};var $a=function(n,t){return d.createElement(Xn.Z,(0,s.Z)((0,s.Z)({},n),{},{ref:t,icon:qa}))};const Ya=d.forwardRef($a),Xa={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z"}}]},name:"file",theme:"outlined"};var Ga=function(n,t){return d.createElement(Xn.Z,(0,s.Z)((0,s.Z)({},n),{},{ref:t,icon:Xa}))};const Qa=d.forwardRef(Ga);var Ja=e(7085);const nr={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"minus-square",theme:"outlined"};var tr=function(n,t){return d.createElement(Xn.Z,(0,s.Z)((0,s.Z)({},n),{},{ref:t,icon:nr}))};const er=d.forwardRef(tr),ar={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"plus-square",theme:"outlined"};var rr=function(n,t){return d.createElement(Xn.Z,(0,s.Z)((0,s.Z)({},n),{},{ref:t,icon:ar}))};const or=d.forwardRef(rr),ir=d.forwardRef((function(n,t){var e,i=d.useContext(Dn.E_),l=i.getPrefixCls,s=i.direction,u=i.virtual,p=n.prefixCls,f=n.className,m=n.showIcon,g=void 0!==m&&m,b=n.showLine,h=n.switcherIcon,v=n.blockNode,x=void 0!==v&&v,y=n.children,w=n.checkable,k=void 0!==w&&w,E=n.selectable,C=void 0===E||E,Z=n.draggable,S=n.motion,N=void 0===S?(0,o.Z)((0,o.Z)({},se.ZP),{motionAppear:!1}):S,z=l("tree",p),P=(0,o.Z)((0,o.Z)({},n),{checkable:k,selectable:C,showIcon:g,motion:N,blockNode:x,showLine:Boolean(b),dropIndicatorRender:Wa}),O=d.useMemo((function(){if(!Z)return!1;var n={};switch((0,a.Z)(Z)){case"function":n.nodeDraggable=Z;break;case"object":n=(0,o.Z)({},Z)}return!1!==n.icon&&(n.icon=n.icon||d.createElement(Ua,null)),n}),[Z]);return d.createElement(Va,(0,o.Z)({itemHeight:20,ref:t,virtual:u},P,{prefixCls:z,className:c()((e={},(0,r.Z)(e,"".concat(z,"-icon-hide"),!g),(0,r.Z)(e,"".concat(z,"-block-node"),x),(0,r.Z)(e,"".concat(z,"-unselectable"),!C),(0,r.Z)(e,"".concat(z,"-rtl"),"rtl"===s),e),f),direction:s,checkable:k?d.createElement("span",{className:"".concat(z,"-checkbox-inner")}):k,selectable:C,switcherIcon:function(n){return function(n,t,e,r){var o,i=r.isLeaf,l=r.expanded;if(r.loading)return d.createElement(Ja.Z,{className:"".concat(n,"-switcher-loading-icon")});if(e&&"object"===(0,a.Z)(e)&&(o=e.showLeafIcon),i){if(!e)return null;if("boolean"!=typeof o&&o){var s="function"==typeof o?o(r):o,u="".concat(n,"-switcher-line-custom-icon");return(0,zt.l$)(s)?(0,zt.Tm)(s,{className:c()(s.props.className||"",u)}):s}return o?d.createElement(Qa,{className:"".concat(n,"-switcher-line-icon")}):d.createElement("span",{className:"".concat(n,"-switcher-leaf-line")})}var p="".concat(n,"-switcher-icon"),f="function"==typeof t?t(r):t;return(0,zt.l$)(f)?(0,zt.Tm)(f,{className:c()(f.props.className||"",p)}):f||(e?l?d.createElement(er,{className:"".concat(n,"-switcher-line-icon")}):d.createElement(or,{className:"".concat(n,"-switcher-line-icon")}):d.createElement(Ya,{className:p}))}(z,h,b,n)},draggable:O}),y)})),lr={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}}]},name:"folder-open",theme:"outlined"};var cr=function(n,t){return d.createElement(Xn.Z,(0,s.Z)((0,s.Z)({},n),{},{ref:t,icon:lr}))};const sr=d.forwardRef(cr),ur={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z"}}]},name:"folder",theme:"outlined"};var dr=function(n,t){return d.createElement(Xn.Z,(0,s.Z)((0,s.Z)({},n),{},{ref:t,icon:ur}))};const pr=d.forwardRef(dr);var fr;function mr(n,t){n.forEach((function(n){var e=n.key,a=n.children;!1!==t(e,n)&&mr(a||[],t)}))}function gr(n,t){var e=(0,u.Z)(t),a=[];return mr(n,(function(n,t){var r=e.indexOf(n);return-1!==r&&(a.push(t),e.splice(r,1)),!!e.length})),a}!function(n){n[n.None=0]="None",n[n.Start=1]="Start",n[n.End=2]="End"}(fr||(fr={}));var br=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r0&&void 0!==arguments[0]?arguments[0]:{confirm:!1,closeDropdown:!1},t=n.confirm,e=n.closeDropdown;t&&tn([]),e&&I(!1),G(""),V(N?(z||[]).map((function(n){return String(n)})):[])},rn=c()((0,r.Z)({},"".concat(u,"-menu-without-submenu"),!(s.filters||[]).some((function(n){return n.children})))),on=function n(t){var e;return(0,o.Z)((0,o.Z)({},t),{text:t.title,value:t.key,children:(null===(e=t.children)||void 0===e?void 0:e.map((function(t){return n(t)})))||[]})};if("function"==typeof s.filterDropdown)J=s.filterDropdown({prefixCls:"".concat(u,"-custom"),setSelectedKeys:function(n){return H({selectedKeys:n})},selectedKeys:K(),confirm:function(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{closeDropdown:!0}).closeDropdown&&I(!1),tn(K())},clearFilters:an,filters:s.filters,visible:e,close:function(){I(!1)}});else if(s.filterDropdown)J=s.filterDropdown;else{var ln=K()||[];J=d.createElement(d.Fragment,null,0===(s.filters||[]).length?d.createElement(Oe.Z,{image:Oe.Z.PRESENTED_IMAGE_SIMPLE,description:y.filterEmptyText,imageStyle:{height:24},style:{margin:0,padding:"16px 0"}}):"tree"===g?d.createElement(d.Fragment,null,d.createElement(Zr,{filterSearch:h,value:X,onChange:Q,tablePrefixCls:a,locale:y}),d.createElement("div",{className:"".concat(a,"-filter-dropdown-tree")},f?d.createElement(re,{checked:ln.length===Tr(s.filters).length,indeterminate:ln.length>0&&ln.length0?c:n}),b=Math.ceil((c||n)/g.pageSize);g.current>b&&(g.current=b||1);var h=function(n,t){m({current:null!=n?n:1,pageSize:t||g.pageSize})};return!1===t?[{},function(){}]:[(0,o.Z)((0,o.Z)({},g),{onChange:function(n,a){var r;t&&(null===(r=t.onChange)||void 0===r||r.call(t,n,a)),h(n,a),e(n,a||(null==g?void 0:g.pageSize))}}),h]}var Dr=e(4506),jr=e(7254),Fr={},Kr="SELECT_ALL",Vr="SELECT_INVERT",Hr="SELECT_NONE",Br=[];function Ur(n,t){var e=[];return(n||[]).forEach((function(n){e.push(n),n&&"object"===(0,a.Z)(n)&&t in n&&(e=[].concat((0,u.Z)(e),(0,u.Z)(Ur(n[t],t))))})),e}function Wr(n,t){var e=n||{},a=e.preserveSelectedRowKeys,l=e.selectedRowKeys,c=e.defaultSelectedRowKeys,s=e.getCheckboxProps,p=e.onChange,f=e.onSelect,m=e.onSelectAll,g=e.onSelectInvert,b=e.onSelectNone,h=e.onSelectMultiple,v=e.columnWidth,x=e.type,y=e.selections,w=e.fixed,k=e.renderCell,E=e.hideSelectAll,C=e.checkStrictly,Z=void 0===C||C,S=t.prefixCls,N=t.data,z=t.pageData,P=t.getRecordByKey,O=t.getRowKey,M=t.expandType,R=t.childrenColumnName,T=t.locale,I=t.getPopupContainer,_=(0,Ut.Z)(l||c||Br,{value:l}),L=(0,i.Z)(_,2),A=L[0],D=L[1],j=d.useRef(new Map),F=(0,d.useCallback)((function(n){if(a){var t=new Map;n.forEach((function(n){var e=P(n);!e&&j.current.has(n)&&(e=j.current.get(n)),t.set(n,e)})),j.current=t}}),[P,a]);d.useEffect((function(){F(A)}),[A]);var K=(0,d.useMemo)((function(){return Z?{keyEntities:null}:oa(N,{externalGetKey:O,childrenPropName:R})}),[N,O,Z,R]).keyEntities,V=(0,d.useMemo)((function(){return Ur(z,R)}),[z,R]),H=(0,d.useMemo)((function(){var n=new Map;return V.forEach((function(t,e){var a=O(t,e),r=(s?s(t):null)||{};n.set(a,r)})),n}),[V,O,s]),B=(0,d.useCallback)((function(n){var t;return!!(null===(t=H.get(O(n)))||void 0===t?void 0:t.disabled)}),[H,O]),U=(0,d.useMemo)((function(){if(Z)return[A||[],[]];var n=Fa(A,!0,K,B);return[n.checkedKeys||[],n.halfCheckedKeys]}),[A,Z,K,B]),W=(0,i.Z)(U,2),q=W[0],$=W[1],Y=(0,d.useMemo)((function(){var n="radio"===x?q.slice(0,1):q;return new Set(n)}),[q,x]),X=(0,d.useMemo)((function(){return"radio"===x?new Set:new Set($)}),[$,x]),G=(0,d.useState)(null),Q=(0,i.Z)(G,2),J=Q[0],nn=Q[1];d.useEffect((function(){n||D(Br)}),[!!n]);var tn=(0,d.useCallback)((function(n,t){var e,r;F(n),a?(e=n,r=n.map((function(n){return j.current.get(n)}))):(e=[],r=[],n.forEach((function(n){var t=P(n);void 0!==t&&(e.push(n),r.push(t))}))),D(e),null==p||p(e,r,{type:t})}),[D,P,p,a]),en=(0,d.useCallback)((function(n,t,e,a){if(f){var r=e.map((function(n){return P(n)}));f(P(n),t,r,a)}tn(e,"single")}),[f,P,tn]),an=(0,d.useMemo)((function(){return!y||E?null:(!0===y?[Kr,Vr,Hr]:y).map((function(n){return n===Kr?{key:"all",text:T.selectionAll,onSelect:function(){tn(N.map((function(n,t){return O(n,t)})).filter((function(n){var t=H.get(n);return!(null==t?void 0:t.disabled)||Y.has(n)})),"all")}}:n===Vr?{key:"invert",text:T.selectInvert,onSelect:function(){var n=new Set(Y);z.forEach((function(t,e){var a=O(t,e),r=H.get(a);(null==r?void 0:r.disabled)||(n.has(a)?n.delete(a):n.add(a))}));var t=Array.from(n);g&&g(t),tn(t,"invert")}}:n===Hr?{key:"none",text:T.selectNone,onSelect:function(){null==b||b(),tn(Array.from(Y).filter((function(n){var t=H.get(n);return null==t?void 0:t.disabled})),"none")}}:n})).map((function(n){return(0,o.Z)((0,o.Z)({},n),{onSelect:function(){for(var t,e,a=arguments.length,r=new Array(a),o=0;o2&&void 0!==arguments[2]&&arguments[2],a=(0,o.Z)((0,o.Z)({},dn),n);e&&(dn.resetPagination(),a.pagination.current&&(a.pagination.current=1),h&&h.onChange&&h.onChange(1,a.pagination.pageSize)),T&&!1!==T.scrollToFirstRowOnChange&&on.body.current&&function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.getContainer,a=void 0===e?function(){return window}:e,r=t.callback,o=t.duration,i=void 0===o?450:o,l=a(),c=function(n){var t,e;if("undefined"==typeof window)return 0;var a="scrollTop",r=0;return _t(n)?r=n.pageYOffset:n instanceof Document?r=n.documentElement[a]:(n instanceof HTMLElement||n)&&(r=n[a]),n&&!_t(n)&&"number"!=typeof r&&(r=null===(e=(null!==(t=n.ownerDocument)&&void 0!==t?t:n).documentElement)||void 0===e?void 0:e[a]),r}(l),s=Date.now();(0,It.Z)((function t(){var e,a,o,u=Date.now()-s,d=(e=u>i?i:u,o=n-(a=c),(e/=i/2)<1?o/2*e*e*e+a:o/2*((e-=2)*e*e+2)+a);_t(l)?l.scrollTo(window.pageXOffset,d):l instanceof Document||"HTMLDocument"===l.constructor.name?l.documentElement.scrollTop=d:l.scrollTop=d,ur?Zn.slice((t-1)*r,t*r):Zn:Zn.slice((t-1)*r,t*r)}),[!!h,Zn,On&&On.current,On&&On.pageSize,On&&On.total]),In=Wr(v,{prefixCls:J,data:Zn,pageData:Rn,getRowKey:ln,getRecordByKey:sn,expandType:rn,childrenColumnName:an,locale:X,getPopupContainer:S}),_n=(0,i.Z)(In,2),Kn=_n[0],Vn=_n[1];tn.__PARENT_RENDER_ICON__=tn.expandIcon,tn.expandIcon=tn.expandIcon||z||function(n){return function(t){var e,a=t.prefixCls,o=t.onExpand,i=t.record,l=t.expanded,s=t.expandable,u="".concat(a,"-row-expand-icon");return d.createElement("button",{type:"button",onClick:function(n){o(i,n),n.stopPropagation()},className:c()(u,(e={},(0,r.Z)(e,"".concat(u,"-spaced"),!s),(0,r.Z)(e,"".concat(u,"-expanded"),s&&l),(0,r.Z)(e,"".concat(u,"-collapsed"),s&&!l),e)),"aria-label":l?n.collapse:n.expand,"aria-expanded":l})}}(X),"nest"===rn&&void 0===tn.expandIconColumnIndex?tn.expandIconColumnIndex=v?1:0:tn.expandIconColumnIndex>0&&v&&(tn.expandIconColumnIndex-=1),"number"!=typeof tn.indentSize&&(tn.indentSize="number"==typeof R?R:15);var Hn,Bn,Un,Wn=d.useCallback((function(n){return Nn(Kn(kn(gn(n))))}),[gn,kn,Kn]);if(!1!==h&&(null==On?void 0:On.total)){var Yn;Yn=On.size?On.size:"small"===Y||"middle"===Y?"small":void 0;var Xn=function(n){return d.createElement(Zt,(0,o.Z)({},On,{className:c()("".concat(J,"-pagination ").concat(J,"-pagination-").concat(n),On.className),size:Yn}))},Gn="rtl"===$?"left":"right",Qn=On.position;if(null!==Qn&&Array.isArray(Qn)){var Jn=Qn.find((function(n){return n.includes("top")})),nt=Qn.find((function(n){return n.includes("bottom")})),tt=Qn.every((function(n){return"none"==="".concat(n)}));Jn||nt||tt||(Bn=Xn(Gn)),Jn&&(Hn=Xn(Jn.toLowerCase().replace("top",""))),nt&&(Bn=Xn(nt.toLowerCase().replace("bottom","")))}else Bn=Xn(Gn)}"boolean"==typeof N?Un={spinning:N}:"object"===(0,a.Z)(N)&&(Un=(0,o.Z)({spinning:!0},N));var et=c()("".concat(J,"-wrapper"),(0,r.Z)({},"".concat(J,"-wrapper-rtl"),"rtl"===$),s);return d.createElement("div",{ref:t,className:et,style:p},d.createElement(Tt,(0,o.Z)({spinning:!1},Un),Hn,d.createElement(Ln,(0,o.Z)({},V,{columns:K,direction:$,expandable:tn,prefixCls:J,className:c()((e={},(0,r.Z)(e,"".concat(J,"-middle"),"middle"===Y),(0,r.Z)(e,"".concat(J,"-small"),"small"===Y),(0,r.Z)(e,"".concat(J,"-bordered"),m),(0,r.Z)(e,"".concat(J,"-empty"),0===G.length),e)),data:Rn,rowKey:ln,rowClassName:function(n,t,e){var a;return a="function"==typeof w?c()(w(n,t,e)):c()(w),c()((0,r.Z)({},"".concat(J,"-row-selected"),Vn.has(ln(n,t))),a)},emptyText:_&&_.emptyText||(q||jn.Z)("Table"),internalHooks:Tn,internalRefs:on,transformColumns:Wn})),Bn))}var fo=d.forwardRef(po);fo.SELECTION_COLUMN=Fr,fo.EXPAND_COLUMN=Ln.EXPAND_COLUMN,fo.SELECTION_ALL=Kr,fo.SELECTION_INVERT=Vr,fo.SELECTION_NONE=Hr,fo.Column=function(n){return null},fo.ColumnGroup=function(n){return null},fo.Summary=wn;const mo=fo},9381:(n,t,e)=>{"use strict";e.d(t,{Z:()=>S});var a=e(4942),r=e(9439),o=e(7462),i=e(3967),l=e.n(i),c=e(1002),s=e(1413),u=e(4925),d=e(7294),p=e(2306),f=e(3159);function m(n){var t=n.showArrow,e=n.arrowContent,a=n.children,r=n.prefixCls,o=n.id,i=n.overlayInnerStyle,c=n.className,s=n.style;return d.createElement("div",{className:l()("".concat(r,"-content"),c),style:s},!1!==t&&d.createElement("div",{className:"".concat(r,"-arrow"),key:"arrow"},e),d.createElement("div",{className:"".concat(r,"-inner"),id:o,role:"tooltip",style:i},"function"==typeof a?a():a))}var g=function(n,t){var e=n.overlayClassName,a=n.trigger,r=void 0===a?["hover"]:a,i=n.mouseEnterDelay,l=void 0===i?0:i,g=n.mouseLeaveDelay,b=void 0===g?.1:g,h=n.overlayStyle,v=n.prefixCls,x=void 0===v?"rc-tooltip":v,y=n.children,w=n.onVisibleChange,k=n.afterVisibleChange,E=n.transitionName,C=n.animation,Z=n.motion,S=n.placement,N=void 0===S?"right":S,z=n.align,P=void 0===z?{}:z,O=n.destroyTooltipOnHide,M=void 0!==O&&O,R=n.defaultVisible,T=n.getTooltipContainer,I=n.overlayInnerStyle,_=n.arrowContent,L=n.overlay,A=n.id,D=n.showArrow,j=(0,u.Z)(n,["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","motion","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlayInnerStyle","arrowContent","overlay","id","showArrow"]),F=(0,d.useRef)(null);(0,d.useImperativeHandle)(t,(function(){return F.current}));var K=(0,s.Z)({},j);"visible"in n&&(K.popupVisible=n.visible);var V=!1,H=!1;if("boolean"==typeof M)V=M;else if(M&&"object"===(0,c.Z)(M)){var B=M.keepParent;V=!0===B,H=!1===B}return d.createElement(p.Z,(0,o.Z)({popupClassName:e,prefixCls:x,popup:function(){return d.createElement(m,{showArrow:D,arrowContent:_,key:"content",prefixCls:x,id:A,overlayInnerStyle:I},L)},action:r,builtinPlacements:f.C,popupPlacement:N,ref:F,popupAlign:P,getPopupContainer:T,onPopupVisibleChange:w,afterPopupVisibleChange:k,popupTransitionName:E,popupAnimation:C,popupMotion:Z,defaultPopupVisible:R,destroyPopupOnHide:V,autoDestroy:H,mouseLeaveDelay:b,popupStyle:h,mouseEnterDelay:l},K),y)};const b=(0,d.forwardRef)(g);var h=e(1770),v=e(3124),x=e(3355),y=((0,x.b)("success","processing","error","default","warning"),(0,x.b)("pink","red","yellow","orange","cyan","green","blue","purple","geekblue","magenta","volcano","gold","lime")),w=e(3603),k=e(636),E=e(6159),C=new RegExp("^(".concat(y.join("|"),")(-inverse)?$"));var Z=d.forwardRef((function(n,t){var e,i=d.useContext(v.E_),c=i.getPopupContainer,s=i.getPrefixCls,u=i.direction,p=(0,h.Z)(!1,{value:void 0!==n.open?n.open:n.visible,defaultValue:void 0!==n.defaultOpen?n.defaultOpen:n.defaultVisible}),f=(0,r.Z)(p,2),m=f[0],g=f[1],x=function(){var t=n.title,e=n.overlay;return!t&&!e&&0!==t},y=function(){var t=n.builtinPlacements,e=n.arrowPointAtCenter,a=void 0!==e&&e,r=n.autoAdjustOverflow,o=void 0===r||r;return t||(0,k.Z)({arrowPointAtCenter:a,autoAdjustOverflow:o})},Z=n.getPopupContainer,S=n.placement,N=void 0===S?"top":S,z=n.mouseEnterDelay,P=void 0===z?.1:z,O=n.mouseLeaveDelay,M=void 0===O?.1:O,R=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r{"use strict";e.d(t,{Z:()=>rn});var a=e(7462),r=e(7294),o=e(4942),i=e(1002),l=e(9439),c=e(9508),s=e(1413);const u={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"}}]},name:"copy",theme:"outlined"};var d=e(76),p=function(n,t){return r.createElement(d.Z,(0,s.Z)((0,s.Z)({},n),{},{ref:t,icon:u}))};const f=r.forwardRef(p),m={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"}}]},name:"edit",theme:"outlined"};var g=function(n,t){return r.createElement(d.Z,(0,s.Z)((0,s.Z)({},n),{},{ref:t,icon:m}))};const b=r.forwardRef(g);var h=e(3967),v=e.n(h),x=e(640),y=e.n(x),w=e(8717),k=e(344),E=e(8410),C=e(1770),Z=e(8423),S=e(2550),N=e(3124),z=e(2051),P=e(5105),O={border:0,background:"transparent",padding:0,lineHeight:"inherit",display:"inline-block"};const M=r.forwardRef((function(n,t){var e=n.style,o=n.noStyle,i=n.disabled,l=function(n,t){var e={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&t.indexOf(a)<0&&(e[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);rt){var l=t-e;return a.push(String(o).slice(0,l)),a}a.push(o),e=i}return n}const B=function(n){var t=n.enabledMeasure,e=n.children,o=n.text,i=n.width,c=n.fontSize,s=n.rows,u=n.onEllipsis,d=r.useState([0,0,0]),p=(0,l.Z)(d,2),f=(0,l.Z)(p[0],3),m=f[0],g=f[1],b=f[2],h=p[1],v=r.useState(0),x=(0,l.Z)(v,2),y=x[0],w=x[1],C=r.useState(0),Z=(0,l.Z)(C,2),S=Z[0],N=Z[1],z=r.useRef(null),P=r.useRef(null),O=r.useMemo((function(){return(0,k.Z)(o)}),[o]),M=r.useMemo((function(){return function(n){var t=0;return n.forEach((function(n){V(n)?t+=String(n).length:t+=1})),t}(O)}),[O]),R=r.useMemo((function(){return t&&3===y?e(H(O,g),g1&&ot,st=function(n){var t;Dn(!0),null===(t=nt.onExpand)||void 0===t||t.call(nt,n)},ut=r.useState(0),dt=(0,l.Z)(ut,2),pt=dt[0],ft=dt[1],mt=r.useState(0),gt=(0,l.Z)(mt,2),bt=gt[0],ht=gt[1],vt=function(n){var t;Vn(n),Kn!==n&&(null===(t=nt.onEllipsis)||void 0===t||t.call(nt,n))};r.useEffect((function(){var n=Q.current;if(Jn&&ot&&n){var t=ct?n.offsetHeight{"use strict";var a=e(1742),r={"text/plain":"Text","text/html":"Url",default:"Text"};n.exports=function(n,t){var e,o,i,l,c,s,u=!1;t||(t={}),e=t.debug||!1;try{if(i=a(),l=document.createRange(),c=document.getSelection(),(s=document.createElement("span")).textContent=n,s.ariaHidden="true",s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",(function(a){if(a.stopPropagation(),t.format)if(a.preventDefault(),void 0===a.clipboardData){e&&console.warn("unable to use e.clipboardData"),e&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var o=r[t.format]||r.default;window.clipboardData.setData(o,n)}else a.clipboardData.clearData(),a.clipboardData.setData(t.format,n);t.onCopy&&(a.preventDefault(),t.onCopy(a.clipboardData))})),document.body.appendChild(s),l.selectNodeContents(s),c.addRange(l),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(a){e&&console.error("unable to copy using execCommand: ",a),e&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",n),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(a){e&&console.error("unable to copy using clipboardData: ",a),e&&console.error("falling back to prompt"),o=function(n){var t=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return n.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(o,n)}}finally{c&&("function"==typeof c.removeRange?c.removeRange(l):c.removeAllRanges()),s&&document.body.removeChild(s),i()}return u}},9924:(n,t,e)=>{"use strict";e.d(t,{Z:()=>p});var a=e(8081),r=e.n(a),o=e(3645),i=e.n(o),l=e(1667),c=e.n(l),s=new URL(e(2445),e.b),u=i()(r()),d=c()(s);u.push([n.id,`[class^=ant-]::-ms-clear,\n[class*= ant-]::-ms-clear,\n[class^=ant-] input::-ms-clear,\n[class*= ant-] input::-ms-clear,\n[class^=ant-] input::-ms-reveal,\n[class*= ant-] input::-ms-reveal {\n display: none;\n}\n/* stylelint-disable property-no-vendor-prefix, at-rule-no-vendor-prefix */\nhtml,\nbody {\n width: 100%;\n height: 100%;\n}\ninput::-ms-clear,\ninput::-ms-reveal {\n display: none;\n}\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n@-ms-viewport {\n width: device-width;\n}\nbody {\n margin: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n font-variant: tabular-nums;\n line-height: 1.5715;\n background-color: #fff;\n font-feature-settings: 'tnum';\n}\n[tabindex='-1']:focus {\n outline: none !important;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-top: 0;\n margin-bottom: 0.5em;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 500;\n}\np {\n margin-top: 0;\n margin-bottom: 1em;\n}\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n border-bottom: 0;\n cursor: help;\n}\naddress {\n margin-bottom: 1em;\n font-style: normal;\n line-height: inherit;\n}\ninput[type='text'],\ninput[type='password'],\ninput[type='number'],\ntextarea {\n -webkit-appearance: none;\n}\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1em;\n}\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\ndt {\n font-weight: 500;\n}\ndd {\n margin-bottom: 0.5em;\n margin-left: 0;\n}\nblockquote {\n margin: 0 0 1em;\n}\ndfn {\n font-style: italic;\n}\nb,\nstrong {\n font-weight: bolder;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\nsub {\n bottom: -0.25em;\n}\nsup {\n top: -0.5em;\n}\na {\n color: #2673e5;\n text-decoration: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n transition: color 0.3s;\n -webkit-text-decoration-skip: objects;\n}\na:hover {\n color: #5096f2;\n}\na:active {\n color: #1755bf;\n}\na:active,\na:hover {\n text-decoration: none;\n outline: 0;\n}\na:focus {\n text-decoration: none;\n outline: 0;\n}\na[disabled] {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\npre,\ncode,\nkbd,\nsamp {\n font-size: 1em;\n font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;\n}\npre {\n margin-top: 0;\n margin-bottom: 1em;\n overflow: auto;\n}\nfigure {\n margin: 0 0 1em;\n}\nimg {\n vertical-align: middle;\n border-style: none;\n}\na,\narea,\nbutton,\n[role='button'],\ninput:not([type='range']),\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\ntable {\n border-collapse: collapse;\n}\ncaption {\n padding-top: 0.75em;\n padding-bottom: 0.3em;\n color: rgba(0, 0, 0, 0.45);\n text-align: left;\n caption-side: bottom;\n}\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n color: inherit;\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n}\nbutton,\ninput {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml [type="button"],\n[type="reset"],\n[type="submit"] {\n -webkit-appearance: button;\n}\nbutton::-moz-focus-inner,\n[type='button']::-moz-focus-inner,\n[type='reset']::-moz-focus-inner,\n[type='submit']::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\ninput[type='radio'],\ninput[type='checkbox'] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type='date'],\ninput[type='time'],\ninput[type='datetime-local'],\ninput[type='month'] {\n -webkit-appearance: listbox;\n}\ntextarea {\n overflow: auto;\n resize: vertical;\n}\nfieldset {\n min-width: 0;\n margin: 0;\n padding: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n margin-bottom: 0.5em;\n padding: 0;\n color: inherit;\n font-size: 1.5em;\n line-height: inherit;\n white-space: normal;\n}\nprogress {\n vertical-align: baseline;\n}\n[type='number']::-webkit-inner-spin-button,\n[type='number']::-webkit-outer-spin-button {\n height: auto;\n}\n[type='search'] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n[type='search']::-webkit-search-cancel-button,\n[type='search']::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\noutput {\n display: inline-block;\n}\nsummary {\n display: list-item;\n}\ntemplate {\n display: none;\n}\n[hidden] {\n display: none !important;\n}\nmark {\n padding: 0.2em;\n background-color: #feffe6;\n}\n::selection {\n color: #fff;\n background: #2673e5;\n}\n.clearfix::before {\n display: table;\n content: '';\n}\n.clearfix::after {\n display: table;\n clear: both;\n content: '';\n}\n.anticon {\n display: inline-flex;\n align-items: center;\n color: inherit;\n font-style: normal;\n line-height: 0;\n text-align: center;\n text-transform: none;\n vertical-align: -0.125em;\n text-rendering: optimizelegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.anticon > * {\n line-height: 1;\n}\n.anticon svg {\n display: inline-block;\n}\n.anticon::before {\n display: none;\n}\n.anticon .anticon-icon {\n display: block;\n}\n.anticon > .anticon {\n line-height: 0;\n vertical-align: 0;\n}\n.anticon[tabindex] {\n cursor: pointer;\n}\n.anticon-spin,\n.anticon-spin::before {\n display: inline-block;\n animation: loadingCircle 1s infinite linear;\n}\n.ant-fade-enter,\n.ant-fade-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-fade-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-fade-enter.ant-fade-enter-active,\n.ant-fade-appear.ant-fade-appear-active {\n animation-name: antFadeIn;\n animation-play-state: running;\n}\n.ant-fade-leave.ant-fade-leave-active {\n animation-name: antFadeOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-fade-enter,\n.ant-fade-appear {\n opacity: 0;\n animation-timing-function: linear;\n}\n.ant-fade-leave {\n animation-timing-function: linear;\n}\n@keyframes antFadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes antFadeOut {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n.ant-move-up-enter,\n.ant-move-up-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-move-up-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-move-up-enter.ant-move-up-enter-active,\n.ant-move-up-appear.ant-move-up-appear-active {\n animation-name: antMoveUpIn;\n animation-play-state: running;\n}\n.ant-move-up-leave.ant-move-up-leave-active {\n animation-name: antMoveUpOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-move-up-enter,\n.ant-move-up-appear {\n opacity: 0;\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\n}\n.ant-move-up-leave {\n animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);\n}\n.ant-move-down-enter,\n.ant-move-down-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-move-down-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-move-down-enter.ant-move-down-enter-active,\n.ant-move-down-appear.ant-move-down-appear-active {\n animation-name: antMoveDownIn;\n animation-play-state: running;\n}\n.ant-move-down-leave.ant-move-down-leave-active {\n animation-name: antMoveDownOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-move-down-enter,\n.ant-move-down-appear {\n opacity: 0;\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\n}\n.ant-move-down-leave {\n animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);\n}\n.ant-move-left-enter,\n.ant-move-left-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-move-left-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-move-left-enter.ant-move-left-enter-active,\n.ant-move-left-appear.ant-move-left-appear-active {\n animation-name: antMoveLeftIn;\n animation-play-state: running;\n}\n.ant-move-left-leave.ant-move-left-leave-active {\n animation-name: antMoveLeftOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-move-left-enter,\n.ant-move-left-appear {\n opacity: 0;\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\n}\n.ant-move-left-leave {\n animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);\n}\n.ant-move-right-enter,\n.ant-move-right-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-move-right-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-move-right-enter.ant-move-right-enter-active,\n.ant-move-right-appear.ant-move-right-appear-active {\n animation-name: antMoveRightIn;\n animation-play-state: running;\n}\n.ant-move-right-leave.ant-move-right-leave-active {\n animation-name: antMoveRightOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-move-right-enter,\n.ant-move-right-appear {\n opacity: 0;\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\n}\n.ant-move-right-leave {\n animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);\n}\n@keyframes antMoveDownIn {\n 0% {\n transform: translateY(100%);\n transform-origin: 0 0;\n opacity: 0;\n }\n 100% {\n transform: translateY(0%);\n transform-origin: 0 0;\n opacity: 1;\n }\n}\n@keyframes antMoveDownOut {\n 0% {\n transform: translateY(0%);\n transform-origin: 0 0;\n opacity: 1;\n }\n 100% {\n transform: translateY(100%);\n transform-origin: 0 0;\n opacity: 0;\n }\n}\n@keyframes antMoveLeftIn {\n 0% {\n transform: translateX(-100%);\n transform-origin: 0 0;\n opacity: 0;\n }\n 100% {\n transform: translateX(0%);\n transform-origin: 0 0;\n opacity: 1;\n }\n}\n@keyframes antMoveLeftOut {\n 0% {\n transform: translateX(0%);\n transform-origin: 0 0;\n opacity: 1;\n }\n 100% {\n transform: translateX(-100%);\n transform-origin: 0 0;\n opacity: 0;\n }\n}\n@keyframes antMoveRightIn {\n 0% {\n transform: translateX(100%);\n transform-origin: 0 0;\n opacity: 0;\n }\n 100% {\n transform: translateX(0%);\n transform-origin: 0 0;\n opacity: 1;\n }\n}\n@keyframes antMoveRightOut {\n 0% {\n transform: translateX(0%);\n transform-origin: 0 0;\n opacity: 1;\n }\n 100% {\n transform: translateX(100%);\n transform-origin: 0 0;\n opacity: 0;\n }\n}\n@keyframes antMoveUpIn {\n 0% {\n transform: translateY(-100%);\n transform-origin: 0 0;\n opacity: 0;\n }\n 100% {\n transform: translateY(0%);\n transform-origin: 0 0;\n opacity: 1;\n }\n}\n@keyframes antMoveUpOut {\n 0% {\n transform: translateY(0%);\n transform-origin: 0 0;\n opacity: 1;\n }\n 100% {\n transform: translateY(-100%);\n transform-origin: 0 0;\n opacity: 0;\n }\n}\n@keyframes loadingCircle {\n 100% {\n transform: rotate(360deg);\n }\n}\n[ant-click-animating='true'],\n[ant-click-animating-without-extra-node='true'] {\n position: relative;\n}\nhtml {\n --antd-wave-shadow-color: #2673e5;\n --scroll-bar: 0;\n}\n[ant-click-animating-without-extra-node='true']::after,\n.ant-click-animating-node {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n border-radius: inherit;\n box-shadow: 0 0 0 0 #2673e5;\n box-shadow: 0 0 0 0 var(--antd-wave-shadow-color);\n opacity: 0.2;\n animation: fadeEffect 2s cubic-bezier(0.08, 0.82, 0.17, 1), waveEffect 0.4s cubic-bezier(0.08, 0.82, 0.17, 1);\n animation-fill-mode: forwards;\n content: '';\n pointer-events: none;\n}\n@keyframes waveEffect {\n 100% {\n box-shadow: 0 0 0 #2673e5;\n box-shadow: 0 0 0 6px var(--antd-wave-shadow-color);\n }\n}\n@keyframes fadeEffect {\n 100% {\n opacity: 0;\n }\n}\n.ant-slide-up-enter,\n.ant-slide-up-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-slide-up-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-slide-up-enter.ant-slide-up-enter-active,\n.ant-slide-up-appear.ant-slide-up-appear-active {\n animation-name: antSlideUpIn;\n animation-play-state: running;\n}\n.ant-slide-up-leave.ant-slide-up-leave-active {\n animation-name: antSlideUpOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-slide-up-enter,\n.ant-slide-up-appear {\n transform: scale(0);\n transform-origin: 0% 0%;\n opacity: 0;\n animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);\n}\n.ant-slide-up-leave {\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n}\n.ant-slide-down-enter,\n.ant-slide-down-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-slide-down-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-slide-down-enter.ant-slide-down-enter-active,\n.ant-slide-down-appear.ant-slide-down-appear-active {\n animation-name: antSlideDownIn;\n animation-play-state: running;\n}\n.ant-slide-down-leave.ant-slide-down-leave-active {\n animation-name: antSlideDownOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-slide-down-enter,\n.ant-slide-down-appear {\n transform: scale(0);\n transform-origin: 0% 0%;\n opacity: 0;\n animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);\n}\n.ant-slide-down-leave {\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n}\n.ant-slide-left-enter,\n.ant-slide-left-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-slide-left-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-slide-left-enter.ant-slide-left-enter-active,\n.ant-slide-left-appear.ant-slide-left-appear-active {\n animation-name: antSlideLeftIn;\n animation-play-state: running;\n}\n.ant-slide-left-leave.ant-slide-left-leave-active {\n animation-name: antSlideLeftOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-slide-left-enter,\n.ant-slide-left-appear {\n transform: scale(0);\n transform-origin: 0% 0%;\n opacity: 0;\n animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);\n}\n.ant-slide-left-leave {\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n}\n.ant-slide-right-enter,\n.ant-slide-right-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-slide-right-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-slide-right-enter.ant-slide-right-enter-active,\n.ant-slide-right-appear.ant-slide-right-appear-active {\n animation-name: antSlideRightIn;\n animation-play-state: running;\n}\n.ant-slide-right-leave.ant-slide-right-leave-active {\n animation-name: antSlideRightOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-slide-right-enter,\n.ant-slide-right-appear {\n transform: scale(0);\n transform-origin: 0% 0%;\n opacity: 0;\n animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);\n}\n.ant-slide-right-leave {\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n}\n@keyframes antSlideUpIn {\n 0% {\n transform: scaleY(0.8);\n transform-origin: 0% 0%;\n opacity: 0;\n }\n 100% {\n transform: scaleY(1);\n transform-origin: 0% 0%;\n opacity: 1;\n }\n}\n@keyframes antSlideUpOut {\n 0% {\n transform: scaleY(1);\n transform-origin: 0% 0%;\n opacity: 1;\n }\n 100% {\n transform: scaleY(0.8);\n transform-origin: 0% 0%;\n opacity: 0;\n }\n}\n@keyframes antSlideDownIn {\n 0% {\n transform: scaleY(0.8);\n transform-origin: 100% 100%;\n opacity: 0;\n }\n 100% {\n transform: scaleY(1);\n transform-origin: 100% 100%;\n opacity: 1;\n }\n}\n@keyframes antSlideDownOut {\n 0% {\n transform: scaleY(1);\n transform-origin: 100% 100%;\n opacity: 1;\n }\n 100% {\n transform: scaleY(0.8);\n transform-origin: 100% 100%;\n opacity: 0;\n }\n}\n@keyframes antSlideLeftIn {\n 0% {\n transform: scaleX(0.8);\n transform-origin: 0% 0%;\n opacity: 0;\n }\n 100% {\n transform: scaleX(1);\n transform-origin: 0% 0%;\n opacity: 1;\n }\n}\n@keyframes antSlideLeftOut {\n 0% {\n transform: scaleX(1);\n transform-origin: 0% 0%;\n opacity: 1;\n }\n 100% {\n transform: scaleX(0.8);\n transform-origin: 0% 0%;\n opacity: 0;\n }\n}\n@keyframes antSlideRightIn {\n 0% {\n transform: scaleX(0.8);\n transform-origin: 100% 0%;\n opacity: 0;\n }\n 100% {\n transform: scaleX(1);\n transform-origin: 100% 0%;\n opacity: 1;\n }\n}\n@keyframes antSlideRightOut {\n 0% {\n transform: scaleX(1);\n transform-origin: 100% 0%;\n opacity: 1;\n }\n 100% {\n transform: scaleX(0.8);\n transform-origin: 100% 0%;\n opacity: 0;\n }\n}\n.ant-zoom-enter,\n.ant-zoom-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-zoom-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-zoom-enter.ant-zoom-enter-active,\n.ant-zoom-appear.ant-zoom-appear-active {\n animation-name: antZoomIn;\n animation-play-state: running;\n}\n.ant-zoom-leave.ant-zoom-leave-active {\n animation-name: antZoomOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-zoom-enter,\n.ant-zoom-appear {\n transform: scale(0);\n opacity: 0;\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\n}\n.ant-zoom-enter-prepare,\n.ant-zoom-appear-prepare {\n transform: none;\n}\n.ant-zoom-leave {\n animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);\n}\n.ant-zoom-big-enter,\n.ant-zoom-big-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-zoom-big-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-zoom-big-enter.ant-zoom-big-enter-active,\n.ant-zoom-big-appear.ant-zoom-big-appear-active {\n animation-name: antZoomBigIn;\n animation-play-state: running;\n}\n.ant-zoom-big-leave.ant-zoom-big-leave-active {\n animation-name: antZoomBigOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-zoom-big-enter,\n.ant-zoom-big-appear {\n transform: scale(0);\n opacity: 0;\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\n}\n.ant-zoom-big-enter-prepare,\n.ant-zoom-big-appear-prepare {\n transform: none;\n}\n.ant-zoom-big-leave {\n animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);\n}\n.ant-zoom-big-fast-enter,\n.ant-zoom-big-fast-appear {\n animation-duration: 0.1s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-zoom-big-fast-leave {\n animation-duration: 0.1s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-zoom-big-fast-enter.ant-zoom-big-fast-enter-active,\n.ant-zoom-big-fast-appear.ant-zoom-big-fast-appear-active {\n animation-name: antZoomBigIn;\n animation-play-state: running;\n}\n.ant-zoom-big-fast-leave.ant-zoom-big-fast-leave-active {\n animation-name: antZoomBigOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-zoom-big-fast-enter,\n.ant-zoom-big-fast-appear {\n transform: scale(0);\n opacity: 0;\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\n}\n.ant-zoom-big-fast-enter-prepare,\n.ant-zoom-big-fast-appear-prepare {\n transform: none;\n}\n.ant-zoom-big-fast-leave {\n animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);\n}\n.ant-zoom-up-enter,\n.ant-zoom-up-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-zoom-up-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-zoom-up-enter.ant-zoom-up-enter-active,\n.ant-zoom-up-appear.ant-zoom-up-appear-active {\n animation-name: antZoomUpIn;\n animation-play-state: running;\n}\n.ant-zoom-up-leave.ant-zoom-up-leave-active {\n animation-name: antZoomUpOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-zoom-up-enter,\n.ant-zoom-up-appear {\n transform: scale(0);\n opacity: 0;\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\n}\n.ant-zoom-up-enter-prepare,\n.ant-zoom-up-appear-prepare {\n transform: none;\n}\n.ant-zoom-up-leave {\n animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);\n}\n.ant-zoom-down-enter,\n.ant-zoom-down-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-zoom-down-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-zoom-down-enter.ant-zoom-down-enter-active,\n.ant-zoom-down-appear.ant-zoom-down-appear-active {\n animation-name: antZoomDownIn;\n animation-play-state: running;\n}\n.ant-zoom-down-leave.ant-zoom-down-leave-active {\n animation-name: antZoomDownOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-zoom-down-enter,\n.ant-zoom-down-appear {\n transform: scale(0);\n opacity: 0;\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\n}\n.ant-zoom-down-enter-prepare,\n.ant-zoom-down-appear-prepare {\n transform: none;\n}\n.ant-zoom-down-leave {\n animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);\n}\n.ant-zoom-left-enter,\n.ant-zoom-left-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-zoom-left-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-zoom-left-enter.ant-zoom-left-enter-active,\n.ant-zoom-left-appear.ant-zoom-left-appear-active {\n animation-name: antZoomLeftIn;\n animation-play-state: running;\n}\n.ant-zoom-left-leave.ant-zoom-left-leave-active {\n animation-name: antZoomLeftOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-zoom-left-enter,\n.ant-zoom-left-appear {\n transform: scale(0);\n opacity: 0;\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\n}\n.ant-zoom-left-enter-prepare,\n.ant-zoom-left-appear-prepare {\n transform: none;\n}\n.ant-zoom-left-leave {\n animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);\n}\n.ant-zoom-right-enter,\n.ant-zoom-right-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-zoom-right-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n.ant-zoom-right-enter.ant-zoom-right-enter-active,\n.ant-zoom-right-appear.ant-zoom-right-appear-active {\n animation-name: antZoomRightIn;\n animation-play-state: running;\n}\n.ant-zoom-right-leave.ant-zoom-right-leave-active {\n animation-name: antZoomRightOut;\n animation-play-state: running;\n pointer-events: none;\n}\n.ant-zoom-right-enter,\n.ant-zoom-right-appear {\n transform: scale(0);\n opacity: 0;\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\n}\n.ant-zoom-right-enter-prepare,\n.ant-zoom-right-appear-prepare {\n transform: none;\n}\n.ant-zoom-right-leave {\n animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);\n}\n@keyframes antZoomIn {\n 0% {\n transform: scale(0.2);\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes antZoomOut {\n 0% {\n transform: scale(1);\n }\n 100% {\n transform: scale(0.2);\n opacity: 0;\n }\n}\n@keyframes antZoomBigIn {\n 0% {\n transform: scale(0.8);\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes antZoomBigOut {\n 0% {\n transform: scale(1);\n }\n 100% {\n transform: scale(0.8);\n opacity: 0;\n }\n}\n@keyframes antZoomUpIn {\n 0% {\n transform: scale(0.8);\n transform-origin: 50% 0%;\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n transform-origin: 50% 0%;\n }\n}\n@keyframes antZoomUpOut {\n 0% {\n transform: scale(1);\n transform-origin: 50% 0%;\n }\n 100% {\n transform: scale(0.8);\n transform-origin: 50% 0%;\n opacity: 0;\n }\n}\n@keyframes antZoomLeftIn {\n 0% {\n transform: scale(0.8);\n transform-origin: 0% 50%;\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n transform-origin: 0% 50%;\n }\n}\n@keyframes antZoomLeftOut {\n 0% {\n transform: scale(1);\n transform-origin: 0% 50%;\n }\n 100% {\n transform: scale(0.8);\n transform-origin: 0% 50%;\n opacity: 0;\n }\n}\n@keyframes antZoomRightIn {\n 0% {\n transform: scale(0.8);\n transform-origin: 100% 50%;\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n transform-origin: 100% 50%;\n }\n}\n@keyframes antZoomRightOut {\n 0% {\n transform: scale(1);\n transform-origin: 100% 50%;\n }\n 100% {\n transform: scale(0.8);\n transform-origin: 100% 50%;\n opacity: 0;\n }\n}\n@keyframes antZoomDownIn {\n 0% {\n transform: scale(0.8);\n transform-origin: 50% 100%;\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n transform-origin: 50% 100%;\n }\n}\n@keyframes antZoomDownOut {\n 0% {\n transform: scale(1);\n transform-origin: 50% 100%;\n }\n 100% {\n transform: scale(0.8);\n transform-origin: 50% 100%;\n opacity: 0;\n }\n}\n.ant-motion-collapse-legacy {\n overflow: hidden;\n}\n.ant-motion-collapse-legacy-active {\n transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important;\n}\n.ant-motion-collapse {\n overflow: hidden;\n transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important;\n}\n/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\n/* stylelint-disable no-duplicate-selectors */\n/* stylelint-disable */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\n.ant-affix {\n position: fixed;\n z-index: 10;\n}\n.ant-alert {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n display: flex;\n align-items: center;\n padding: 8px 15px;\n word-wrap: break-word;\n border-radius: 4px;\n}\n.ant-alert-content {\n flex: 1;\n min-width: 0;\n}\n.ant-alert-icon {\n margin-right: 8px;\n}\n.ant-alert-description {\n display: none;\n font-size: 14px;\n line-height: 22px;\n}\n.ant-alert-success {\n background-color: #f6ffed;\n border: 1px solid #b7eb8f;\n}\n.ant-alert-success .ant-alert-icon {\n color: #52c41a;\n}\n.ant-alert-info {\n background-color: #f0f8ff;\n border: 1px solid #a6d2ff;\n}\n.ant-alert-info .ant-alert-icon {\n color: #2673e5;\n}\n.ant-alert-warning {\n background-color: #fffbe6;\n border: 1px solid #ffe58f;\n}\n.ant-alert-warning .ant-alert-icon {\n color: #faad14;\n}\n.ant-alert-error {\n background-color: #fff2f0;\n border: 1px solid #ffccc7;\n}\n.ant-alert-error .ant-alert-icon {\n color: #ff4d4f;\n}\n.ant-alert-error .ant-alert-description > pre {\n margin: 0;\n padding: 0;\n}\n.ant-alert-action {\n margin-left: 8px;\n}\n.ant-alert-close-icon {\n margin-left: 8px;\n padding: 0;\n overflow: hidden;\n font-size: 12px;\n line-height: 12px;\n background-color: transparent;\n border: none;\n outline: none;\n cursor: pointer;\n}\n.ant-alert-close-icon .anticon-close {\n color: rgba(0, 0, 0, 0.45);\n transition: color 0.3s;\n}\n.ant-alert-close-icon .anticon-close:hover {\n color: rgba(0, 0, 0, 0.75);\n}\n.ant-alert-close-text {\n color: rgba(0, 0, 0, 0.45);\n transition: color 0.3s;\n}\n.ant-alert-close-text:hover {\n color: rgba(0, 0, 0, 0.75);\n}\n.ant-alert-with-description {\n align-items: flex-start;\n padding: 15px 15px 15px 24px;\n}\n.ant-alert-with-description.ant-alert-no-icon {\n padding: 15px 15px;\n}\n.ant-alert-with-description .ant-alert-icon {\n margin-right: 15px;\n font-size: 24px;\n}\n.ant-alert-with-description .ant-alert-message {\n display: block;\n margin-bottom: 4px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 16px;\n}\n.ant-alert-message {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-alert-with-description .ant-alert-description {\n display: block;\n}\n.ant-alert.ant-alert-motion-leave {\n overflow: hidden;\n opacity: 1;\n transition: max-height 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), opacity 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), padding-top 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), padding-bottom 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), margin-bottom 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);\n}\n.ant-alert.ant-alert-motion-leave-active {\n max-height: 0;\n margin-bottom: 0 !important;\n padding-top: 0;\n padding-bottom: 0;\n opacity: 0;\n}\n.ant-alert-banner {\n margin-bottom: 0;\n border: 0;\n border-radius: 0;\n}\n.ant-alert.ant-alert-rtl {\n direction: rtl;\n}\n.ant-alert-rtl .ant-alert-icon {\n margin-right: auto;\n margin-left: 8px;\n}\n.ant-alert-rtl .ant-alert-action {\n margin-right: 8px;\n margin-left: auto;\n}\n.ant-alert-rtl .ant-alert-close-icon {\n margin-right: 8px;\n margin-left: auto;\n}\n.ant-alert-rtl.ant-alert-with-description {\n padding-right: 24px;\n padding-left: 15px;\n}\n.ant-alert-rtl.ant-alert-with-description .ant-alert-icon {\n margin-right: auto;\n margin-left: 15px;\n}\n.ant-anchor {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n padding-left: 2px;\n}\n.ant-anchor-wrapper {\n margin-left: -4px;\n padding-left: 4px;\n overflow: auto;\n background-color: transparent;\n}\n.ant-anchor-ink {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n}\n.ant-anchor-ink::before {\n position: relative;\n display: block;\n width: 2px;\n height: 100%;\n margin: 0 auto;\n background-color: #f0f0f0;\n content: ' ';\n}\n.ant-anchor-ink-ball {\n position: absolute;\n left: 50%;\n display: none;\n width: 8px;\n height: 8px;\n background-color: #fff;\n border: 2px solid #2673e5;\n border-radius: 8px;\n transform: translateX(-50%);\n transition: top 0.3s ease-in-out;\n}\n.ant-anchor-ink-ball.ant-anchor-ink-ball-visible {\n display: inline-block;\n}\n.ant-anchor-fixed .ant-anchor-ink .ant-anchor-ink-ball {\n display: none;\n}\n.ant-anchor-link {\n padding: 4px 0 4px 16px;\n}\n.ant-anchor-link-title {\n position: relative;\n display: block;\n margin-bottom: 3px;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.85);\n white-space: nowrap;\n text-overflow: ellipsis;\n transition: all 0.3s;\n}\n.ant-anchor-link-title:only-child {\n margin-bottom: 0;\n}\n.ant-anchor-link-active > .ant-anchor-link-title {\n color: #2673e5;\n}\n.ant-anchor-link .ant-anchor-link {\n padding-top: 2px;\n padding-bottom: 2px;\n}\n.ant-anchor-rtl {\n direction: rtl;\n}\n.ant-anchor-rtl.ant-anchor-wrapper {\n margin-right: -4px;\n margin-left: 0;\n padding-right: 4px;\n padding-left: 0;\n}\n.ant-anchor-rtl .ant-anchor-ink {\n right: 0;\n left: auto;\n}\n.ant-anchor-rtl .ant-anchor-ink-ball {\n right: 50%;\n left: 0;\n transform: translateX(50%);\n}\n.ant-anchor-rtl .ant-anchor-link {\n padding: 4px 16px 4px 0;\n}\n.ant-select-auto-complete {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n}\n.ant-select-auto-complete .ant-select-clear {\n right: 13px;\n}\n.ant-avatar {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n display: inline-block;\n overflow: hidden;\n color: #fff;\n white-space: nowrap;\n text-align: center;\n vertical-align: middle;\n background: #ccc;\n width: 32px;\n height: 32px;\n line-height: 32px;\n border-radius: 50%;\n}\n.ant-avatar-image {\n background: transparent;\n}\n.ant-avatar .ant-image-img {\n display: block;\n}\n.ant-avatar-string {\n position: absolute;\n left: 50%;\n transform-origin: 0 center;\n}\n.ant-avatar.ant-avatar-icon {\n font-size: 18px;\n}\n.ant-avatar.ant-avatar-icon > .anticon {\n margin: 0;\n}\n.ant-avatar-lg {\n width: 40px;\n height: 40px;\n line-height: 40px;\n border-radius: 50%;\n}\n.ant-avatar-lg-string {\n position: absolute;\n left: 50%;\n transform-origin: 0 center;\n}\n.ant-avatar-lg.ant-avatar-icon {\n font-size: 24px;\n}\n.ant-avatar-lg.ant-avatar-icon > .anticon {\n margin: 0;\n}\n.ant-avatar-sm {\n width: 24px;\n height: 24px;\n line-height: 24px;\n border-radius: 50%;\n}\n.ant-avatar-sm-string {\n position: absolute;\n left: 50%;\n transform-origin: 0 center;\n}\n.ant-avatar-sm.ant-avatar-icon {\n font-size: 14px;\n}\n.ant-avatar-sm.ant-avatar-icon > .anticon {\n margin: 0;\n}\n.ant-avatar-square {\n border-radius: 4px;\n}\n.ant-avatar > img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.ant-avatar-group {\n display: inline-flex;\n}\n.ant-avatar-group .ant-avatar {\n border: 1px solid #fff;\n}\n.ant-avatar-group .ant-avatar:not(:first-child) {\n margin-left: -8px;\n}\n.ant-avatar-group-popover .ant-avatar + .ant-avatar {\n margin-left: 3px;\n}\n.ant-avatar-group-rtl .ant-avatar:not(:first-child) {\n margin-right: -8px;\n margin-left: 0;\n}\n.ant-avatar-group-popover.ant-popover-rtl .ant-avatar + .ant-avatar {\n margin-right: 3px;\n margin-left: 0;\n}\n.ant-back-top {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: fixed;\n right: 100px;\n bottom: 50px;\n z-index: 10;\n width: 40px;\n height: 40px;\n cursor: pointer;\n}\n.ant-back-top:empty {\n display: none;\n}\n.ant-back-top-rtl {\n right: auto;\n left: 100px;\n direction: rtl;\n}\n.ant-back-top-content {\n width: 40px;\n height: 40px;\n overflow: hidden;\n color: #fff;\n text-align: center;\n background-color: rgba(0, 0, 0, 0.45);\n border-radius: 20px;\n transition: all 0.3s;\n}\n.ant-back-top-content:hover {\n background-color: rgba(0, 0, 0, 0.85);\n transition: all 0.3s;\n}\n.ant-back-top-icon {\n font-size: 24px;\n line-height: 40px;\n}\n@media screen and (max-width: 768px) {\n .ant-back-top {\n right: 60px;\n }\n .ant-back-top-rtl {\n right: auto;\n left: 60px;\n }\n}\n@media screen and (max-width: 480px) {\n .ant-back-top {\n right: 20px;\n }\n .ant-back-top-rtl {\n right: auto;\n left: 20px;\n }\n}\n.ant-badge {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n display: inline-block;\n line-height: 1;\n}\n.ant-badge-count {\n z-index: auto;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n color: #fff;\n font-weight: normal;\n font-size: 12px;\n line-height: 20px;\n white-space: nowrap;\n text-align: center;\n background: #ff4d4f;\n border-radius: 10px;\n box-shadow: 0 0 0 1px #fff;\n}\n.ant-badge-count a,\n.ant-badge-count a:hover {\n color: #fff;\n}\n.ant-badge-count-sm {\n min-width: 14px;\n height: 14px;\n padding: 0;\n font-size: 12px;\n line-height: 14px;\n border-radius: 7px;\n}\n.ant-badge-multiple-words {\n padding: 0 8px;\n}\n.ant-badge-dot {\n z-index: auto;\n width: 6px;\n min-width: 6px;\n height: 6px;\n background: #ff4d4f;\n border-radius: 100%;\n box-shadow: 0 0 0 1px #fff;\n}\n.ant-badge-dot.ant-scroll-number {\n transition: background 1.5s;\n}\n.ant-badge-count,\n.ant-badge-dot,\n.ant-badge .ant-scroll-number-custom-component {\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n transform-origin: 100% 0%;\n}\n.ant-badge-count.anticon-spin,\n.ant-badge-dot.anticon-spin,\n.ant-badge .ant-scroll-number-custom-component.anticon-spin {\n animation: antBadgeLoadingCircle 1s infinite linear;\n}\n.ant-badge-status {\n line-height: inherit;\n vertical-align: baseline;\n}\n.ant-badge-status-dot {\n position: relative;\n top: -1px;\n display: inline-block;\n width: 6px;\n height: 6px;\n vertical-align: middle;\n border-radius: 50%;\n}\n.ant-badge-status-success {\n background-color: #52c41a;\n}\n.ant-badge-status-processing {\n position: relative;\n background-color: #1890ff;\n}\n.ant-badge-status-processing::after {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 1px solid #1890ff;\n border-radius: 50%;\n animation: antStatusProcessing 1.2s infinite ease-in-out;\n content: '';\n}\n.ant-badge-status-default {\n background-color: #d9d9d9;\n}\n.ant-badge-status-error {\n background-color: #ff4d4f;\n}\n.ant-badge-status-warning {\n background-color: #faad14;\n}\n.ant-badge-status-pink {\n background: #eb2f96;\n}\n.ant-badge-status-magenta {\n background: #eb2f96;\n}\n.ant-badge-status-red {\n background: #f5222d;\n}\n.ant-badge-status-volcano {\n background: #fa541c;\n}\n.ant-badge-status-orange {\n background: #fa8c16;\n}\n.ant-badge-status-yellow {\n background: #fadb14;\n}\n.ant-badge-status-gold {\n background: #faad14;\n}\n.ant-badge-status-cyan {\n background: #13c2c2;\n}\n.ant-badge-status-lime {\n background: #a0d911;\n}\n.ant-badge-status-green {\n background: #52c41a;\n}\n.ant-badge-status-blue {\n background: #1890ff;\n}\n.ant-badge-status-geekblue {\n background: #2f54eb;\n}\n.ant-badge-status-purple {\n background: #722ed1;\n}\n.ant-badge-status-text {\n margin-left: 8px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n}\n.ant-badge-zoom-appear,\n.ant-badge-zoom-enter {\n animation: antZoomBadgeIn 0.3s cubic-bezier(0.12, 0.4, 0.29, 1.46);\n animation-fill-mode: both;\n}\n.ant-badge-zoom-leave {\n animation: antZoomBadgeOut 0.3s cubic-bezier(0.71, -0.46, 0.88, 0.6);\n animation-fill-mode: both;\n}\n.ant-badge-not-a-wrapper .ant-badge-zoom-appear,\n.ant-badge-not-a-wrapper .ant-badge-zoom-enter {\n animation: antNoWrapperZoomBadgeIn 0.3s cubic-bezier(0.12, 0.4, 0.29, 1.46);\n}\n.ant-badge-not-a-wrapper .ant-badge-zoom-leave {\n animation: antNoWrapperZoomBadgeOut 0.3s cubic-bezier(0.71, -0.46, 0.88, 0.6);\n}\n.ant-badge-not-a-wrapper:not(.ant-badge-status) {\n vertical-align: middle;\n}\n.ant-badge-not-a-wrapper .ant-scroll-number-custom-component,\n.ant-badge-not-a-wrapper .ant-badge-count {\n transform: none;\n}\n.ant-badge-not-a-wrapper .ant-scroll-number-custom-component,\n.ant-badge-not-a-wrapper .ant-scroll-number {\n position: relative;\n top: auto;\n display: block;\n transform-origin: 50% 50%;\n}\n@keyframes antStatusProcessing {\n 0% {\n transform: scale(0.8);\n opacity: 0.5;\n }\n 100% {\n transform: scale(2.4);\n opacity: 0;\n }\n}\n.ant-scroll-number {\n overflow: hidden;\n direction: ltr;\n}\n.ant-scroll-number-only {\n position: relative;\n display: inline-block;\n height: 20px;\n transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n /* stylelint-disable property-no-vendor-prefix */\n -webkit-transform-style: preserve-3d;\n -webkit-backface-visibility: hidden;\n /* stylelint-enable property-no-vendor-prefix */\n}\n.ant-scroll-number-only > p.ant-scroll-number-only-unit {\n height: 20px;\n margin: 0;\n /* stylelint-disable property-no-vendor-prefix */\n -webkit-transform-style: preserve-3d;\n -webkit-backface-visibility: hidden;\n /* stylelint-enable property-no-vendor-prefix */\n}\n.ant-scroll-number-symbol {\n vertical-align: top;\n}\n@keyframes antZoomBadgeIn {\n 0% {\n transform: scale(0) translate(50%, -50%);\n opacity: 0;\n }\n 100% {\n transform: scale(1) translate(50%, -50%);\n }\n}\n@keyframes antZoomBadgeOut {\n 0% {\n transform: scale(1) translate(50%, -50%);\n }\n 100% {\n transform: scale(0) translate(50%, -50%);\n opacity: 0;\n }\n}\n@keyframes antNoWrapperZoomBadgeIn {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n }\n}\n@keyframes antNoWrapperZoomBadgeOut {\n 0% {\n transform: scale(1);\n }\n 100% {\n transform: scale(0);\n opacity: 0;\n }\n}\n@keyframes antBadgeLoadingCircle {\n 0% {\n transform-origin: 50%;\n }\n 100% {\n transform: translate(50%, -50%) rotate(360deg);\n transform-origin: 50%;\n }\n}\n.ant-ribbon-wrapper {\n position: relative;\n}\n.ant-ribbon {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: absolute;\n top: 8px;\n height: 22px;\n padding: 0 8px;\n color: #fff;\n line-height: 22px;\n white-space: nowrap;\n background-color: #2673e5;\n border-radius: 2px;\n}\n.ant-ribbon-text {\n color: #fff;\n}\n.ant-ribbon-corner {\n position: absolute;\n top: 100%;\n width: 8px;\n height: 8px;\n color: currentcolor;\n border: 4px solid;\n transform: scaleY(0.75);\n transform-origin: top;\n}\n.ant-ribbon-corner::after {\n position: absolute;\n top: -4px;\n left: -4px;\n width: inherit;\n height: inherit;\n color: rgba(0, 0, 0, 0.25);\n border: inherit;\n content: '';\n}\n.ant-ribbon-color-pink {\n color: #eb2f96;\n background: #eb2f96;\n}\n.ant-ribbon-color-magenta {\n color: #eb2f96;\n background: #eb2f96;\n}\n.ant-ribbon-color-red {\n color: #f5222d;\n background: #f5222d;\n}\n.ant-ribbon-color-volcano {\n color: #fa541c;\n background: #fa541c;\n}\n.ant-ribbon-color-orange {\n color: #fa8c16;\n background: #fa8c16;\n}\n.ant-ribbon-color-yellow {\n color: #fadb14;\n background: #fadb14;\n}\n.ant-ribbon-color-gold {\n color: #faad14;\n background: #faad14;\n}\n.ant-ribbon-color-cyan {\n color: #13c2c2;\n background: #13c2c2;\n}\n.ant-ribbon-color-lime {\n color: #a0d911;\n background: #a0d911;\n}\n.ant-ribbon-color-green {\n color: #52c41a;\n background: #52c41a;\n}\n.ant-ribbon-color-blue {\n color: #1890ff;\n background: #1890ff;\n}\n.ant-ribbon-color-geekblue {\n color: #2f54eb;\n background: #2f54eb;\n}\n.ant-ribbon-color-purple {\n color: #722ed1;\n background: #722ed1;\n}\n.ant-ribbon.ant-ribbon-placement-end {\n right: -8px;\n border-bottom-right-radius: 0;\n}\n.ant-ribbon.ant-ribbon-placement-end .ant-ribbon-corner {\n right: 0;\n border-color: currentcolor transparent transparent currentcolor;\n}\n.ant-ribbon.ant-ribbon-placement-start {\n left: -8px;\n border-bottom-left-radius: 0;\n}\n.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner {\n left: 0;\n border-color: currentcolor currentcolor transparent transparent;\n}\n.ant-badge-rtl {\n direction: rtl;\n}\n.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-badge-count,\n.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-badge-dot,\n.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-scroll-number-custom-component {\n right: auto;\n left: 0;\n direction: ltr;\n transform: translate(-50%, -50%);\n transform-origin: 0% 0%;\n}\n.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-scroll-number-custom-component {\n right: auto;\n left: 0;\n transform: translate(-50%, -50%);\n transform-origin: 0% 0%;\n}\n.ant-badge-rtl .ant-badge-status-text {\n margin-right: 8px;\n margin-left: 0;\n}\n.ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-appear,\n.ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-enter {\n animation-name: antZoomBadgeInRtl;\n}\n.ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-leave {\n animation-name: antZoomBadgeOutRtl;\n}\n.ant-ribbon-rtl {\n direction: rtl;\n}\n.ant-ribbon-rtl.ant-ribbon-placement-end {\n right: unset;\n left: -8px;\n border-bottom-right-radius: 2px;\n border-bottom-left-radius: 0;\n}\n.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner {\n right: unset;\n left: 0;\n border-color: currentcolor currentcolor transparent transparent;\n}\n.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner::after {\n border-color: currentcolor currentcolor transparent transparent;\n}\n.ant-ribbon-rtl.ant-ribbon-placement-start {\n right: -8px;\n left: unset;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 2px;\n}\n.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner {\n right: 0;\n left: unset;\n border-color: currentcolor transparent transparent currentcolor;\n}\n.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner::after {\n border-color: currentcolor transparent transparent currentcolor;\n}\n@keyframes antZoomBadgeInRtl {\n 0% {\n transform: scale(0) translate(-50%, -50%);\n opacity: 0;\n }\n 100% {\n transform: scale(1) translate(-50%, -50%);\n }\n}\n@keyframes antZoomBadgeOutRtl {\n 0% {\n transform: scale(1) translate(-50%, -50%);\n }\n 100% {\n transform: scale(0) translate(-50%, -50%);\n opacity: 0;\n }\n}\n.ant-breadcrumb {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n}\n.ant-breadcrumb .anticon {\n font-size: 14px;\n}\n.ant-breadcrumb ol {\n display: flex;\n flex-wrap: wrap;\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.ant-breadcrumb a {\n color: rgba(0, 0, 0, 0.45);\n transition: color 0.3s;\n}\n.ant-breadcrumb a:hover {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-breadcrumb li:last-child {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-breadcrumb li:last-child a {\n color: rgba(0, 0, 0, 0.85);\n}\nli:last-child > .ant-breadcrumb-separator {\n display: none;\n}\n.ant-breadcrumb-separator {\n margin: 0 8px;\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-breadcrumb-link > .anticon + span,\n.ant-breadcrumb-link > .anticon + a {\n margin-left: 4px;\n}\n.ant-breadcrumb-overlay-link > .anticon {\n margin-left: 4px;\n}\n.ant-breadcrumb-rtl {\n direction: rtl;\n}\n.ant-breadcrumb-rtl::before {\n display: table;\n content: '';\n}\n.ant-breadcrumb-rtl::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-breadcrumb-rtl::before {\n display: table;\n content: '';\n}\n.ant-breadcrumb-rtl::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-breadcrumb-rtl > span {\n float: right;\n}\n.ant-breadcrumb-rtl .ant-breadcrumb-link > .anticon + span,\n.ant-breadcrumb-rtl .ant-breadcrumb-link > .anticon + a {\n margin-right: 4px;\n margin-left: 0;\n}\n.ant-breadcrumb-rtl .ant-breadcrumb-overlay-link > .anticon {\n margin-right: 4px;\n margin-left: 0;\n}\n.ant-btn {\n line-height: 1.5715;\n position: relative;\n display: inline-block;\n font-weight: 400;\n white-space: nowrap;\n text-align: center;\n background-image: none;\n border: 1px solid transparent;\n box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015);\n cursor: pointer;\n transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n user-select: none;\n touch-action: manipulation;\n height: 32px;\n padding: 4px 15px;\n font-size: 14px;\n border-radius: 4px;\n color: rgba(0, 0, 0, 0.85);\n border-color: #d9d9d9;\n background: #fff;\n}\n.ant-btn > .anticon {\n line-height: 1;\n}\n.ant-btn,\n.ant-btn:active,\n.ant-btn:focus {\n outline: 0;\n}\n.ant-btn:not([disabled]):hover {\n text-decoration: none;\n}\n.ant-btn:not([disabled]):active {\n outline: 0;\n box-shadow: none;\n}\n.ant-btn[disabled] {\n cursor: not-allowed;\n}\n.ant-btn[disabled] > * {\n pointer-events: none;\n}\n.ant-btn-lg {\n height: 40px;\n padding: 6.4px 15px;\n font-size: 16px;\n border-radius: 4px;\n}\n.ant-btn-sm {\n height: 24px;\n padding: 0px 7px;\n font-size: 14px;\n border-radius: 4px;\n}\n.ant-btn > a:only-child {\n color: currentcolor;\n}\n.ant-btn > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn:hover,\n.ant-btn:focus {\n color: #5096f2;\n border-color: #5096f2;\n background: #fff;\n}\n.ant-btn:hover > a:only-child,\n.ant-btn:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn:hover > a:only-child::after,\n.ant-btn:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn:active {\n color: #1755bf;\n border-color: #1755bf;\n background: #fff;\n}\n.ant-btn:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn[disabled],\n.ant-btn[disabled]:hover,\n.ant-btn[disabled]:focus,\n.ant-btn[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn[disabled] > a:only-child,\n.ant-btn[disabled]:hover > a:only-child,\n.ant-btn[disabled]:focus > a:only-child,\n.ant-btn[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn[disabled] > a:only-child::after,\n.ant-btn[disabled]:hover > a:only-child::after,\n.ant-btn[disabled]:focus > a:only-child::after,\n.ant-btn[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn:hover,\n.ant-btn:focus,\n.ant-btn:active {\n text-decoration: none;\n background: #fff;\n}\n.ant-btn > span {\n display: inline-block;\n}\n.ant-btn-primary {\n color: #fff;\n border-color: #2673e5;\n background: #2673e5;\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);\n box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);\n}\n.ant-btn-primary > a:only-child {\n color: currentcolor;\n}\n.ant-btn-primary > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-primary:hover,\n.ant-btn-primary:focus {\n color: #fff;\n border-color: #5096f2;\n background: #5096f2;\n}\n.ant-btn-primary:hover > a:only-child,\n.ant-btn-primary:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-primary:hover > a:only-child::after,\n.ant-btn-primary:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-primary:active {\n color: #fff;\n border-color: #1755bf;\n background: #1755bf;\n}\n.ant-btn-primary:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-primary:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-primary[disabled],\n.ant-btn-primary[disabled]:hover,\n.ant-btn-primary[disabled]:focus,\n.ant-btn-primary[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-primary[disabled] > a:only-child,\n.ant-btn-primary[disabled]:hover > a:only-child,\n.ant-btn-primary[disabled]:focus > a:only-child,\n.ant-btn-primary[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-primary[disabled] > a:only-child::after,\n.ant-btn-primary[disabled]:hover > a:only-child::after,\n.ant-btn-primary[disabled]:focus > a:only-child::after,\n.ant-btn-primary[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child) {\n border-right-color: #5096f2;\n border-left-color: #5096f2;\n}\n.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled {\n border-color: #d9d9d9;\n}\n.ant-btn-group .ant-btn-primary:first-child:not(:last-child) {\n border-right-color: #5096f2;\n}\n.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled] {\n border-right-color: #d9d9d9;\n}\n.ant-btn-group .ant-btn-primary:last-child:not(:first-child),\n.ant-btn-group .ant-btn-primary + .ant-btn-primary {\n border-left-color: #5096f2;\n}\n.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled],\n.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] {\n border-left-color: #d9d9d9;\n}\n.ant-btn-ghost {\n color: rgba(0, 0, 0, 0.85);\n border-color: #d9d9d9;\n background: transparent;\n}\n.ant-btn-ghost > a:only-child {\n color: currentcolor;\n}\n.ant-btn-ghost > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-ghost:hover,\n.ant-btn-ghost:focus {\n color: #5096f2;\n border-color: #5096f2;\n background: transparent;\n}\n.ant-btn-ghost:hover > a:only-child,\n.ant-btn-ghost:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-ghost:hover > a:only-child::after,\n.ant-btn-ghost:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-ghost:active {\n color: #1755bf;\n border-color: #1755bf;\n background: transparent;\n}\n.ant-btn-ghost:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-ghost:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-ghost[disabled],\n.ant-btn-ghost[disabled]:hover,\n.ant-btn-ghost[disabled]:focus,\n.ant-btn-ghost[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-ghost[disabled] > a:only-child,\n.ant-btn-ghost[disabled]:hover > a:only-child,\n.ant-btn-ghost[disabled]:focus > a:only-child,\n.ant-btn-ghost[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-ghost[disabled] > a:only-child::after,\n.ant-btn-ghost[disabled]:hover > a:only-child::after,\n.ant-btn-ghost[disabled]:focus > a:only-child::after,\n.ant-btn-ghost[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dashed {\n color: rgba(0, 0, 0, 0.85);\n border-color: #d9d9d9;\n background: #fff;\n border-style: dashed;\n}\n.ant-btn-dashed > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dashed > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dashed:hover,\n.ant-btn-dashed:focus {\n color: #5096f2;\n border-color: #5096f2;\n background: #fff;\n}\n.ant-btn-dashed:hover > a:only-child,\n.ant-btn-dashed:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dashed:hover > a:only-child::after,\n.ant-btn-dashed:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dashed:active {\n color: #1755bf;\n border-color: #1755bf;\n background: #fff;\n}\n.ant-btn-dashed:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dashed:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dashed[disabled],\n.ant-btn-dashed[disabled]:hover,\n.ant-btn-dashed[disabled]:focus,\n.ant-btn-dashed[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-dashed[disabled] > a:only-child,\n.ant-btn-dashed[disabled]:hover > a:only-child,\n.ant-btn-dashed[disabled]:focus > a:only-child,\n.ant-btn-dashed[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dashed[disabled] > a:only-child::after,\n.ant-btn-dashed[disabled]:hover > a:only-child::after,\n.ant-btn-dashed[disabled]:focus > a:only-child::after,\n.ant-btn-dashed[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-danger {\n color: #fff;\n border-color: #ff4d4f;\n background: #ff4d4f;\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);\n box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);\n}\n.ant-btn-danger > a:only-child {\n color: currentcolor;\n}\n.ant-btn-danger > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-danger:hover,\n.ant-btn-danger:focus {\n color: #fff;\n border-color: #ff7875;\n background: #ff7875;\n}\n.ant-btn-danger:hover > a:only-child,\n.ant-btn-danger:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-danger:hover > a:only-child::after,\n.ant-btn-danger:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-danger:active {\n color: #fff;\n border-color: #d9363e;\n background: #d9363e;\n}\n.ant-btn-danger:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-danger:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-danger[disabled],\n.ant-btn-danger[disabled]:hover,\n.ant-btn-danger[disabled]:focus,\n.ant-btn-danger[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-danger[disabled] > a:only-child,\n.ant-btn-danger[disabled]:hover > a:only-child,\n.ant-btn-danger[disabled]:focus > a:only-child,\n.ant-btn-danger[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-danger[disabled] > a:only-child::after,\n.ant-btn-danger[disabled]:hover > a:only-child::after,\n.ant-btn-danger[disabled]:focus > a:only-child::after,\n.ant-btn-danger[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-link {\n color: #2673e5;\n border-color: transparent;\n background: transparent;\n box-shadow: none;\n}\n.ant-btn-link > a:only-child {\n color: currentcolor;\n}\n.ant-btn-link > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-link:hover,\n.ant-btn-link:focus {\n color: #5096f2;\n border-color: #5096f2;\n background: transparent;\n}\n.ant-btn-link:hover > a:only-child,\n.ant-btn-link:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-link:hover > a:only-child::after,\n.ant-btn-link:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-link:active {\n color: #1755bf;\n border-color: #1755bf;\n background: transparent;\n}\n.ant-btn-link:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-link:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-link[disabled],\n.ant-btn-link[disabled]:hover,\n.ant-btn-link[disabled]:focus,\n.ant-btn-link[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-link[disabled] > a:only-child,\n.ant-btn-link[disabled]:hover > a:only-child,\n.ant-btn-link[disabled]:focus > a:only-child,\n.ant-btn-link[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-link[disabled] > a:only-child::after,\n.ant-btn-link[disabled]:hover > a:only-child::after,\n.ant-btn-link[disabled]:focus > a:only-child::after,\n.ant-btn-link[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-link:hover {\n background: transparent;\n}\n.ant-btn-link:hover,\n.ant-btn-link:focus,\n.ant-btn-link:active {\n border-color: transparent;\n}\n.ant-btn-link[disabled],\n.ant-btn-link[disabled]:hover,\n.ant-btn-link[disabled]:focus,\n.ant-btn-link[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: transparent;\n background: transparent;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-link[disabled] > a:only-child,\n.ant-btn-link[disabled]:hover > a:only-child,\n.ant-btn-link[disabled]:focus > a:only-child,\n.ant-btn-link[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-link[disabled] > a:only-child::after,\n.ant-btn-link[disabled]:hover > a:only-child::after,\n.ant-btn-link[disabled]:focus > a:only-child::after,\n.ant-btn-link[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-text {\n color: rgba(0, 0, 0, 0.85);\n border-color: transparent;\n background: transparent;\n box-shadow: none;\n}\n.ant-btn-text > a:only-child {\n color: currentcolor;\n}\n.ant-btn-text > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-text:hover,\n.ant-btn-text:focus {\n color: #5096f2;\n border-color: #5096f2;\n background: transparent;\n}\n.ant-btn-text:hover > a:only-child,\n.ant-btn-text:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-text:hover > a:only-child::after,\n.ant-btn-text:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-text:active {\n color: #1755bf;\n border-color: #1755bf;\n background: transparent;\n}\n.ant-btn-text:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-text:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-text[disabled],\n.ant-btn-text[disabled]:hover,\n.ant-btn-text[disabled]:focus,\n.ant-btn-text[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-text[disabled] > a:only-child,\n.ant-btn-text[disabled]:hover > a:only-child,\n.ant-btn-text[disabled]:focus > a:only-child,\n.ant-btn-text[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-text[disabled] > a:only-child::after,\n.ant-btn-text[disabled]:hover > a:only-child::after,\n.ant-btn-text[disabled]:focus > a:only-child::after,\n.ant-btn-text[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-text:hover,\n.ant-btn-text:focus {\n color: rgba(0, 0, 0, 0.85);\n background: rgba(0, 0, 0, 0.018);\n border-color: transparent;\n}\n.ant-btn-text:active {\n color: rgba(0, 0, 0, 0.85);\n background: rgba(0, 0, 0, 0.028);\n border-color: transparent;\n}\n.ant-btn-text[disabled],\n.ant-btn-text[disabled]:hover,\n.ant-btn-text[disabled]:focus,\n.ant-btn-text[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: transparent;\n background: transparent;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-text[disabled] > a:only-child,\n.ant-btn-text[disabled]:hover > a:only-child,\n.ant-btn-text[disabled]:focus > a:only-child,\n.ant-btn-text[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-text[disabled] > a:only-child::after,\n.ant-btn-text[disabled]:hover > a:only-child::after,\n.ant-btn-text[disabled]:focus > a:only-child::after,\n.ant-btn-text[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous {\n color: #ff4d4f;\n border-color: #ff4d4f;\n background: #fff;\n}\n.ant-btn-dangerous > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous:hover,\n.ant-btn-dangerous:focus {\n color: #ff7875;\n border-color: #ff7875;\n background: #fff;\n}\n.ant-btn-dangerous:hover > a:only-child,\n.ant-btn-dangerous:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous:hover > a:only-child::after,\n.ant-btn-dangerous:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous:active {\n color: #d9363e;\n border-color: #d9363e;\n background: #fff;\n}\n.ant-btn-dangerous:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous[disabled],\n.ant-btn-dangerous[disabled]:hover,\n.ant-btn-dangerous[disabled]:focus,\n.ant-btn-dangerous[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-dangerous[disabled] > a:only-child,\n.ant-btn-dangerous[disabled]:hover > a:only-child,\n.ant-btn-dangerous[disabled]:focus > a:only-child,\n.ant-btn-dangerous[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous[disabled] > a:only-child::after,\n.ant-btn-dangerous[disabled]:hover > a:only-child::after,\n.ant-btn-dangerous[disabled]:focus > a:only-child::after,\n.ant-btn-dangerous[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-primary {\n color: #fff;\n border-color: #ff4d4f;\n background: #ff4d4f;\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);\n box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);\n}\n.ant-btn-dangerous.ant-btn-primary > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-primary > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-primary:hover,\n.ant-btn-dangerous.ant-btn-primary:focus {\n color: #fff;\n border-color: #ff7875;\n background: #ff7875;\n}\n.ant-btn-dangerous.ant-btn-primary:hover > a:only-child,\n.ant-btn-dangerous.ant-btn-primary:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-primary:hover > a:only-child::after,\n.ant-btn-dangerous.ant-btn-primary:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-primary:active {\n color: #fff;\n border-color: #d9363e;\n background: #d9363e;\n}\n.ant-btn-dangerous.ant-btn-primary:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-primary:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-primary[disabled],\n.ant-btn-dangerous.ant-btn-primary[disabled]:hover,\n.ant-btn-dangerous.ant-btn-primary[disabled]:focus,\n.ant-btn-dangerous.ant-btn-primary[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child,\n.ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child,\n.ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child,\n.ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child::after,\n.ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child::after,\n.ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child::after,\n.ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-link {\n color: #ff4d4f;\n border-color: transparent;\n background: transparent;\n box-shadow: none;\n}\n.ant-btn-dangerous.ant-btn-link > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-link > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-link:hover,\n.ant-btn-dangerous.ant-btn-link:focus {\n color: #5096f2;\n border-color: #5096f2;\n background: transparent;\n}\n.ant-btn-dangerous.ant-btn-link:hover > a:only-child,\n.ant-btn-dangerous.ant-btn-link:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after,\n.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-link:active {\n color: #1755bf;\n border-color: #1755bf;\n background: transparent;\n}\n.ant-btn-dangerous.ant-btn-link:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-link[disabled],\n.ant-btn-dangerous.ant-btn-link[disabled]:hover,\n.ant-btn-dangerous.ant-btn-link[disabled]:focus,\n.ant-btn-dangerous.ant-btn-link[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child,\n.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child,\n.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child,\n.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after,\n.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after,\n.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after,\n.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-link:hover,\n.ant-btn-dangerous.ant-btn-link:focus {\n color: #ff7875;\n border-color: transparent;\n background: transparent;\n}\n.ant-btn-dangerous.ant-btn-link:hover > a:only-child,\n.ant-btn-dangerous.ant-btn-link:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after,\n.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-link:active {\n color: #d9363e;\n border-color: transparent;\n background: transparent;\n}\n.ant-btn-dangerous.ant-btn-link:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-link[disabled],\n.ant-btn-dangerous.ant-btn-link[disabled]:hover,\n.ant-btn-dangerous.ant-btn-link[disabled]:focus,\n.ant-btn-dangerous.ant-btn-link[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: transparent;\n background: transparent;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child,\n.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child,\n.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child,\n.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after,\n.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after,\n.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after,\n.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-text {\n color: #ff4d4f;\n border-color: transparent;\n background: transparent;\n box-shadow: none;\n}\n.ant-btn-dangerous.ant-btn-text > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-text > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-text:hover,\n.ant-btn-dangerous.ant-btn-text:focus {\n color: #5096f2;\n border-color: #5096f2;\n background: transparent;\n}\n.ant-btn-dangerous.ant-btn-text:hover > a:only-child,\n.ant-btn-dangerous.ant-btn-text:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-text:hover > a:only-child::after,\n.ant-btn-dangerous.ant-btn-text:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-text:active {\n color: #1755bf;\n border-color: #1755bf;\n background: transparent;\n}\n.ant-btn-dangerous.ant-btn-text:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-text:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-text[disabled],\n.ant-btn-dangerous.ant-btn-text[disabled]:hover,\n.ant-btn-dangerous.ant-btn-text[disabled]:focus,\n.ant-btn-dangerous.ant-btn-text[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child,\n.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child,\n.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child,\n.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child::after,\n.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child::after,\n.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child::after,\n.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-text:hover,\n.ant-btn-dangerous.ant-btn-text:focus {\n color: #ff7875;\n border-color: transparent;\n background: rgba(0, 0, 0, 0.018);\n}\n.ant-btn-dangerous.ant-btn-text:hover > a:only-child,\n.ant-btn-dangerous.ant-btn-text:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-text:hover > a:only-child::after,\n.ant-btn-dangerous.ant-btn-text:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-text:active {\n color: #d9363e;\n border-color: transparent;\n background: rgba(0, 0, 0, 0.028);\n}\n.ant-btn-dangerous.ant-btn-text:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-text:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-dangerous.ant-btn-text[disabled],\n.ant-btn-dangerous.ant-btn-text[disabled]:hover,\n.ant-btn-dangerous.ant-btn-text[disabled]:focus,\n.ant-btn-dangerous.ant-btn-text[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: transparent;\n background: transparent;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child,\n.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child,\n.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child,\n.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child::after,\n.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child::after,\n.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child::after,\n.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-icon-only {\n width: 32px;\n height: 32px;\n padding: 2.4px 0;\n font-size: 16px;\n border-radius: 4px;\n vertical-align: -3px;\n}\n.ant-btn-icon-only > * {\n font-size: 16px;\n}\n.ant-btn-icon-only.ant-btn-lg {\n width: 40px;\n height: 40px;\n padding: 4.9px 0;\n font-size: 18px;\n border-radius: 4px;\n}\n.ant-btn-icon-only.ant-btn-lg > * {\n font-size: 18px;\n}\n.ant-btn-icon-only.ant-btn-sm {\n width: 24px;\n height: 24px;\n padding: 0px 0;\n font-size: 14px;\n border-radius: 4px;\n}\n.ant-btn-icon-only.ant-btn-sm > * {\n font-size: 14px;\n}\n.ant-btn-icon-only > .anticon {\n display: flex;\n justify-content: center;\n}\n.ant-btn-icon-only .anticon-loading {\n padding: 0 !important;\n}\na.ant-btn-icon-only {\n vertical-align: -1px;\n}\na.ant-btn-icon-only > .anticon {\n display: inline;\n}\n.ant-btn-round {\n height: 32px;\n padding: 4px 16px;\n font-size: 14px;\n border-radius: 32px;\n}\n.ant-btn-round.ant-btn-lg {\n height: 40px;\n padding: 6.4px 20px;\n font-size: 16px;\n border-radius: 40px;\n}\n.ant-btn-round.ant-btn-sm {\n height: 24px;\n padding: 0px 12px;\n font-size: 14px;\n border-radius: 24px;\n}\n.ant-btn-round.ant-btn-icon-only {\n width: auto;\n}\n.ant-btn-circle {\n min-width: 32px;\n padding-right: 0;\n padding-left: 0;\n text-align: center;\n border-radius: 50%;\n}\n.ant-btn-circle.ant-btn-lg {\n min-width: 40px;\n border-radius: 50%;\n}\n.ant-btn-circle.ant-btn-sm {\n min-width: 24px;\n border-radius: 50%;\n}\n.ant-btn::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n left: -1px;\n z-index: 1;\n display: none;\n background: #fff;\n border-radius: inherit;\n opacity: 0.35;\n transition: opacity 0.2s;\n content: '';\n pointer-events: none;\n}\n.ant-btn .anticon {\n transition: margin-left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-btn .anticon.anticon-plus > svg,\n.ant-btn .anticon.anticon-minus > svg {\n shape-rendering: optimizespeed;\n}\n.ant-btn.ant-btn-loading {\n position: relative;\n cursor: default;\n}\n.ant-btn.ant-btn-loading::before {\n display: block;\n}\n.ant-btn > .ant-btn-loading-icon {\n transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-btn > .ant-btn-loading-icon .anticon {\n padding-right: 8px;\n animation: none;\n}\n.ant-btn > .ant-btn-loading-icon .anticon svg {\n animation: loadingCircle 1s infinite linear;\n}\n.ant-btn-group {\n position: relative;\n display: inline-flex;\n}\n.ant-btn-group > .ant-btn,\n.ant-btn-group > span > .ant-btn {\n position: relative;\n}\n.ant-btn-group > .ant-btn:hover,\n.ant-btn-group > span > .ant-btn:hover,\n.ant-btn-group > .ant-btn:focus,\n.ant-btn-group > span > .ant-btn:focus,\n.ant-btn-group > .ant-btn:active,\n.ant-btn-group > span > .ant-btn:active {\n z-index: 2;\n}\n.ant-btn-group > .ant-btn[disabled],\n.ant-btn-group > span > .ant-btn[disabled] {\n z-index: 0;\n}\n.ant-btn-group .ant-btn-icon-only {\n font-size: 14px;\n}\n.ant-btn-group .ant-btn + .ant-btn,\n.ant-btn + .ant-btn-group,\n.ant-btn-group span + .ant-btn,\n.ant-btn-group .ant-btn + span,\n.ant-btn-group > span + span,\n.ant-btn-group + .ant-btn,\n.ant-btn-group + .ant-btn-group {\n margin-left: -1px;\n}\n.ant-btn-group .ant-btn-primary + .ant-btn:not(.ant-btn-primary):not([disabled]) {\n border-left-color: transparent;\n}\n.ant-btn-group .ant-btn {\n border-radius: 0;\n}\n.ant-btn-group > .ant-btn:first-child,\n.ant-btn-group > span:first-child > .ant-btn {\n margin-left: 0;\n}\n.ant-btn-group > .ant-btn:only-child {\n border-radius: 4px;\n}\n.ant-btn-group > span:only-child > .ant-btn {\n border-radius: 4px;\n}\n.ant-btn-group > .ant-btn:first-child:not(:last-child),\n.ant-btn-group > span:first-child:not(:last-child) > .ant-btn {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.ant-btn-group > .ant-btn:last-child:not(:first-child),\n.ant-btn-group > span:last-child:not(:first-child) > .ant-btn {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.ant-btn-group-sm > .ant-btn:only-child {\n border-radius: 4px;\n}\n.ant-btn-group-sm > span:only-child > .ant-btn {\n border-radius: 4px;\n}\n.ant-btn-group-sm > .ant-btn:first-child:not(:last-child),\n.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.ant-btn-group-sm > .ant-btn:last-child:not(:first-child),\n.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.ant-btn-group > .ant-btn-group {\n float: left;\n}\n.ant-btn-group > .ant-btn-group:not(:first-child):not(:last-child) > .ant-btn {\n border-radius: 0;\n}\n.ant-btn-group > .ant-btn-group:first-child:not(:last-child) > .ant-btn:last-child {\n padding-right: 8px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-btn-group > .ant-btn-group:last-child:not(:first-child) > .ant-btn:first-child {\n padding-left: 8px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-btn-rtl.ant-btn-group .ant-btn + .ant-btn,\n.ant-btn-rtl.ant-btn + .ant-btn-group,\n.ant-btn-rtl.ant-btn-group span + .ant-btn,\n.ant-btn-rtl.ant-btn-group .ant-btn + span,\n.ant-btn-rtl.ant-btn-group > span + span,\n.ant-btn-rtl.ant-btn-group + .ant-btn,\n.ant-btn-rtl.ant-btn-group + .ant-btn-group,\n.ant-btn-group-rtl.ant-btn-group .ant-btn + .ant-btn,\n.ant-btn-group-rtl.ant-btn + .ant-btn-group,\n.ant-btn-group-rtl.ant-btn-group span + .ant-btn,\n.ant-btn-group-rtl.ant-btn-group .ant-btn + span,\n.ant-btn-group-rtl.ant-btn-group > span + span,\n.ant-btn-group-rtl.ant-btn-group + .ant-btn,\n.ant-btn-group-rtl.ant-btn-group + .ant-btn-group {\n margin-right: -1px;\n margin-left: auto;\n}\n.ant-btn-group.ant-btn-group-rtl {\n direction: rtl;\n}\n.ant-btn-group-rtl.ant-btn-group > .ant-btn:first-child:not(:last-child),\n.ant-btn-group-rtl.ant-btn-group > span:first-child:not(:last-child) > .ant-btn {\n border-radius: 0 4px 4px 0;\n}\n.ant-btn-group-rtl.ant-btn-group > .ant-btn:last-child:not(:first-child),\n.ant-btn-group-rtl.ant-btn-group > span:last-child:not(:first-child) > .ant-btn {\n border-radius: 4px 0 0 4px;\n}\n.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:first-child:not(:last-child),\n.ant-btn-group-rtl.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn {\n border-radius: 0 4px 4px 0;\n}\n.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:last-child:not(:first-child),\n.ant-btn-group-rtl.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn {\n border-radius: 4px 0 0 4px;\n}\n.ant-btn:focus > span,\n.ant-btn:active > span {\n position: relative;\n}\n.ant-btn > .anticon + span,\n.ant-btn > span + .anticon {\n margin-left: 8px;\n}\n.ant-btn.ant-btn-background-ghost {\n color: #fff;\n border-color: #fff;\n}\n.ant-btn.ant-btn-background-ghost,\n.ant-btn.ant-btn-background-ghost:hover,\n.ant-btn.ant-btn-background-ghost:active,\n.ant-btn.ant-btn-background-ghost:focus {\n background: transparent;\n}\n.ant-btn.ant-btn-background-ghost:hover,\n.ant-btn.ant-btn-background-ghost:focus {\n color: #5096f2;\n border-color: #5096f2;\n}\n.ant-btn.ant-btn-background-ghost:active {\n color: #1755bf;\n border-color: #1755bf;\n}\n.ant-btn.ant-btn-background-ghost[disabled] {\n color: rgba(0, 0, 0, 0.25);\n background: transparent;\n border-color: #d9d9d9;\n}\n.ant-btn-background-ghost.ant-btn-primary {\n color: #2673e5;\n border-color: #2673e5;\n text-shadow: none;\n}\n.ant-btn-background-ghost.ant-btn-primary > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-primary > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-primary:hover,\n.ant-btn-background-ghost.ant-btn-primary:focus {\n color: #5096f2;\n border-color: #5096f2;\n}\n.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-primary:active {\n color: #1755bf;\n border-color: #1755bf;\n}\n.ant-btn-background-ghost.ant-btn-primary:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-primary:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-primary[disabled],\n.ant-btn-background-ghost.ant-btn-primary[disabled]:hover,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:focus,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-danger {\n color: #ff4d4f;\n border-color: #ff4d4f;\n text-shadow: none;\n}\n.ant-btn-background-ghost.ant-btn-danger > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-danger > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-danger:hover,\n.ant-btn-background-ghost.ant-btn-danger:focus {\n color: #ff7875;\n border-color: #ff7875;\n}\n.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-danger:active {\n color: #d9363e;\n border-color: #d9363e;\n}\n.ant-btn-background-ghost.ant-btn-danger:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-danger:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-danger[disabled],\n.ant-btn-background-ghost.ant-btn-danger[disabled]:hover,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:focus,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-dangerous {\n color: #ff4d4f;\n border-color: #ff4d4f;\n text-shadow: none;\n}\n.ant-btn-background-ghost.ant-btn-dangerous > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-dangerous > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-dangerous:hover,\n.ant-btn-background-ghost.ant-btn-dangerous:focus {\n color: #ff7875;\n border-color: #ff7875;\n}\n.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child,\n.ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-dangerous:active {\n color: #d9363e;\n border-color: #d9363e;\n}\n.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-dangerous[disabled],\n.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover,\n.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus,\n.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child,\n.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child,\n.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child,\n.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link {\n color: #ff4d4f;\n border-color: transparent;\n text-shadow: none;\n}\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover,\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus {\n color: #ff7875;\n border-color: transparent;\n}\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child,\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active {\n color: #d9363e;\n border-color: transparent;\n}\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled],\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover,\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus,\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n background: #f5f5f5;\n text-shadow: none;\n box-shadow: none;\n}\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child,\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child,\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child,\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {\n color: currentcolor;\n}\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after,\n.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\n.ant-btn-two-chinese-chars::first-letter {\n letter-spacing: 0.34em;\n}\n.ant-btn-two-chinese-chars > *:not(.anticon) {\n margin-right: -0.34em;\n letter-spacing: 0.34em;\n}\n.ant-btn.ant-btn-block {\n width: 100%;\n}\n.ant-btn:empty {\n display: inline-block;\n width: 0;\n visibility: hidden;\n content: '\\a0';\n}\na.ant-btn {\n padding-top: 0.01px !important;\n line-height: 30px;\n}\na.ant-btn-disabled {\n cursor: not-allowed;\n}\na.ant-btn-disabled > * {\n pointer-events: none;\n}\na.ant-btn-disabled,\na.ant-btn-disabled:hover,\na.ant-btn-disabled:focus,\na.ant-btn-disabled:active {\n color: rgba(0, 0, 0, 0.25);\n border-color: transparent;\n background: transparent;\n text-shadow: none;\n box-shadow: none;\n}\na.ant-btn-disabled > a:only-child,\na.ant-btn-disabled:hover > a:only-child,\na.ant-btn-disabled:focus > a:only-child,\na.ant-btn-disabled:active > a:only-child {\n color: currentcolor;\n}\na.ant-btn-disabled > a:only-child::after,\na.ant-btn-disabled:hover > a:only-child::after,\na.ant-btn-disabled:focus > a:only-child::after,\na.ant-btn-disabled:active > a:only-child::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n content: '';\n}\na.ant-btn-lg {\n line-height: 38px;\n}\na.ant-btn-sm {\n line-height: 22px;\n}\n.ant-btn-compact-item:not(.ant-btn-compact-last-item):not(.ant-btn-compact-item-rtl) {\n margin-right: -1px;\n}\n.ant-btn-compact-item:not(.ant-btn-compact-last-item).ant-btn-compact-item-rtl {\n margin-left: -1px;\n}\n.ant-btn-compact-item:hover,\n.ant-btn-compact-item:focus,\n.ant-btn-compact-item:active {\n z-index: 2;\n}\n.ant-btn-compact-item[disabled] {\n z-index: 0;\n}\n.ant-btn-compact-item:not(.ant-btn-compact-first-item):not(.ant-btn-compact-last-item).ant-btn {\n border-radius: 0;\n}\n.ant-btn-compact-item.ant-btn.ant-btn-compact-first-item:not(.ant-btn-compact-last-item):not(.ant-btn-compact-item-rtl) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-btn-compact-item.ant-btn.ant-btn-compact-last-item:not(.ant-btn-compact-first-item):not(.ant-btn-compact-item-rtl) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-btn-compact-item.ant-btn.ant-btn-compact-item-rtl.ant-btn-compact-first-item:not(.ant-btn-compact-last-item) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-btn-compact-item.ant-btn.ant-btn-compact-item-rtl.ant-btn-compact-last-item:not(.ant-btn-compact-first-item) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-btn-icon-only.ant-btn-compact-item {\n flex: none;\n}\n.ant-btn-compact-item.ant-btn-primary:not([disabled]) + .ant-btn-compact-item.ant-btn-primary:not([disabled]) {\n position: relative;\n}\n.ant-btn-compact-item.ant-btn-primary:not([disabled]) + .ant-btn-compact-item.ant-btn-primary:not([disabled])::after {\n position: absolute;\n top: -1px;\n left: -1px;\n display: inline-block;\n width: 1px;\n height: calc(100% + 1px * 2);\n background-color: #5096f2;\n content: ' ';\n}\n.ant-btn-compact-item-rtl.ant-btn-compact-first-item.ant-btn-compact-item-rtl:not(.ant-btn-compact-last-item) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-btn-compact-item-rtl.ant-btn-compact-last-item.ant-btn-compact-item-rtl:not(.ant-btn-compact-first-item) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-btn-compact-item-rtl.ant-btn-sm.ant-btn-compact-first-item.ant-btn-compact-item-rtl.ant-btn-sm:not(.ant-btn-compact-last-item) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-btn-compact-item-rtl.ant-btn-sm.ant-btn-compact-last-item.ant-btn-compact-item-rtl.ant-btn-sm:not(.ant-btn-compact-first-item) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-btn-compact-item-rtl.ant-btn-primary:not([disabled]) + .ant-btn-compact-item-rtl.ant-btn-primary:not([disabled])::after {\n right: -1px;\n}\n.ant-btn-compact-vertical-item:not(.ant-btn-compact-vertical-last-item) {\n margin-bottom: -1px;\n}\n.ant-btn-compact-vertical-item:hover,\n.ant-btn-compact-vertical-item:focus,\n.ant-btn-compact-vertical-item:active {\n z-index: 2;\n}\n.ant-btn-compact-vertical-item[disabled] {\n z-index: 0;\n}\n.ant-btn-compact-vertical-item:not(.ant-btn-compact-vertical-first-item):not(.ant-btn-compact-vertical-last-item) {\n border-radius: 0;\n}\n.ant-btn-compact-vertical-item.ant-btn-compact-vertical-first-item:not(.ant-btn-compact-vertical-last-item) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-btn-compact-vertical-item.ant-btn-compact-vertical-last-item:not(.ant-btn-compact-vertical-first-item) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]) + .ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]) {\n position: relative;\n}\n.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]) + .ant-btn-compact-vertical-item.ant-btn-primary:not([disabled])::after {\n position: absolute;\n top: -1px;\n left: -1px;\n display: inline-block;\n width: calc(100% + 1px * 2);\n height: 1px;\n background-color: #5096f2;\n content: ' ';\n}\n.ant-btn-rtl {\n direction: rtl;\n}\n.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child),\n.ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary {\n border-right-color: #5096f2;\n border-left-color: #d9d9d9;\n}\n.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled],\n.ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] {\n border-right-color: #d9d9d9;\n border-left-color: #5096f2;\n}\n.ant-btn-rtl.ant-btn > .ant-btn-loading-icon .anticon {\n padding-right: 0;\n padding-left: 8px;\n}\n.ant-btn-rtl.ant-btn > .anticon + span,\n.ant-btn-rtl.ant-btn > span + .anticon {\n margin-right: 8px;\n margin-left: 0;\n}\n.ant-picker-calendar {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n background: #fff;\n}\n.ant-picker-calendar-header {\n display: flex;\n justify-content: flex-end;\n padding: 12px 0;\n}\n.ant-picker-calendar-header .ant-picker-calendar-year-select {\n min-width: 80px;\n}\n.ant-picker-calendar-header .ant-picker-calendar-month-select {\n min-width: 70px;\n margin-left: 8px;\n}\n.ant-picker-calendar-header .ant-picker-calendar-mode-switch {\n margin-left: 8px;\n}\n.ant-picker-calendar .ant-picker-panel {\n background: #fff;\n border: 0;\n border-top: 1px solid #f0f0f0;\n border-radius: 0;\n}\n.ant-picker-calendar .ant-picker-panel .ant-picker-month-panel,\n.ant-picker-calendar .ant-picker-panel .ant-picker-date-panel {\n width: auto;\n}\n.ant-picker-calendar .ant-picker-panel .ant-picker-body {\n padding: 8px 0;\n}\n.ant-picker-calendar .ant-picker-panel .ant-picker-content {\n width: 100%;\n}\n.ant-picker-calendar-mini {\n border-radius: 4px;\n}\n.ant-picker-calendar-mini .ant-picker-calendar-header {\n padding-right: 8px;\n padding-left: 8px;\n}\n.ant-picker-calendar-mini .ant-picker-panel {\n border-radius: 0 0 4px 4px;\n}\n.ant-picker-calendar-mini .ant-picker-content {\n height: 256px;\n}\n.ant-picker-calendar-mini .ant-picker-content th {\n height: auto;\n padding: 0;\n line-height: 18px;\n}\n.ant-picker-calendar-mini .ant-picker-cell::before {\n pointer-events: none;\n}\n.ant-picker-calendar-full .ant-picker-panel {\n display: block;\n width: 100%;\n text-align: right;\n background: #fff;\n border: 0;\n}\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th,\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-body td {\n padding: 0;\n}\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th {\n height: auto;\n padding: 0 12px 5px 0;\n line-height: 18px;\n}\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell::before {\n display: none;\n}\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell:hover .ant-picker-calendar-date {\n background: #f5f5f5;\n}\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell .ant-picker-calendar-date-today::before {\n display: none;\n}\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date,\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date,\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today,\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today {\n background: #f0f8ff;\n}\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date .ant-picker-calendar-date-value,\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date .ant-picker-calendar-date-value,\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today .ant-picker-calendar-date-value,\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today .ant-picker-calendar-date-value {\n color: #2673e5;\n}\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date {\n display: block;\n width: auto;\n height: auto;\n margin: 0 4px;\n padding: 4px 8px 0;\n border: 0;\n border-top: 2px solid #f0f0f0;\n border-radius: 0;\n transition: background 0.3s;\n}\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-value {\n line-height: 24px;\n transition: color 0.3s;\n}\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content {\n position: static;\n width: auto;\n height: 86px;\n overflow-y: auto;\n color: rgba(0, 0, 0, 0.85);\n line-height: 1.5715;\n text-align: left;\n}\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today {\n border-color: #2673e5;\n}\n.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today .ant-picker-calendar-date-value {\n color: rgba(0, 0, 0, 0.85);\n}\n@media only screen and (max-width: 480px) {\n .ant-picker-calendar-header {\n display: block;\n }\n .ant-picker-calendar-header .ant-picker-calendar-year-select {\n width: 50%;\n }\n .ant-picker-calendar-header .ant-picker-calendar-month-select {\n width: calc(50% - 8px);\n }\n .ant-picker-calendar-header .ant-picker-calendar-mode-switch {\n width: 100%;\n margin-top: 8px;\n margin-left: 0;\n }\n .ant-picker-calendar-header .ant-picker-calendar-mode-switch > label {\n width: 50%;\n text-align: center;\n }\n}\n.ant-picker-calendar-rtl {\n direction: rtl;\n}\n.ant-picker-calendar-rtl .ant-picker-calendar-header .ant-picker-calendar-month-select {\n margin-right: 8px;\n margin-left: 0;\n}\n.ant-picker-calendar-rtl .ant-picker-calendar-header .ant-picker-calendar-mode-switch {\n margin-right: 8px;\n margin-left: 0;\n}\n.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel {\n text-align: left;\n}\n.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th {\n padding: 0 0 5px 12px;\n}\n.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content {\n text-align: right;\n}\n.ant-card {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n background: #fff;\n border-radius: 4px;\n}\n.ant-card-rtl {\n direction: rtl;\n}\n.ant-card-hoverable {\n cursor: pointer;\n transition: box-shadow 0.3s, border-color 0.3s;\n}\n.ant-card-hoverable:hover {\n border-color: transparent;\n box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);\n}\n.ant-card-bordered {\n border: 1px solid #f0f0f0;\n}\n.ant-card-head {\n min-height: 48px;\n margin-bottom: -1px;\n padding: 0 24px;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 500;\n font-size: 16px;\n background: transparent;\n border-bottom: 1px solid #f0f0f0;\n border-radius: 4px 4px 0 0;\n}\n.ant-card-head::before {\n display: table;\n content: '';\n}\n.ant-card-head::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-card-head::before {\n display: table;\n content: '';\n}\n.ant-card-head::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-card-head-wrapper {\n display: flex;\n align-items: center;\n}\n.ant-card-head-title {\n display: inline-block;\n flex: 1;\n padding: 16px 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.ant-card-head-title > .ant-typography,\n.ant-card-head-title > .ant-typography-edit-content {\n left: 0;\n margin-top: 0;\n margin-bottom: 0;\n}\n.ant-card-head .ant-tabs-top {\n clear: both;\n margin-bottom: -17px;\n color: rgba(0, 0, 0, 0.85);\n font-weight: normal;\n font-size: 14px;\n}\n.ant-card-head .ant-tabs-top-bar {\n border-bottom: 1px solid #f0f0f0;\n}\n.ant-card-extra {\n margin-left: auto;\n padding: 16px 0;\n color: rgba(0, 0, 0, 0.85);\n font-weight: normal;\n font-size: 14px;\n}\n.ant-card-rtl .ant-card-extra {\n margin-right: auto;\n margin-left: 0;\n}\n.ant-card-body {\n padding: 24px;\n}\n.ant-card-body::before {\n display: table;\n content: '';\n}\n.ant-card-body::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-card-body::before {\n display: table;\n content: '';\n}\n.ant-card-body::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-card-contain-grid .ant-card-body {\n display: flex;\n flex-wrap: wrap;\n}\n.ant-card-contain-grid:not(.ant-card-loading) .ant-card-body {\n margin: -1px 0 0 -1px;\n padding: 0;\n}\n.ant-card-grid {\n width: 33.33%;\n padding: 24px;\n border: 0;\n border-radius: 0;\n box-shadow: 1px 0 0 0 #f0f0f0, 0 1px 0 0 #f0f0f0, 1px 1px 0 0 #f0f0f0, 1px 0 0 0 #f0f0f0 inset, 0 1px 0 0 #f0f0f0 inset;\n transition: all 0.3s;\n}\n.ant-card-grid-hoverable:hover {\n position: relative;\n z-index: 1;\n box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);\n}\n.ant-card-contain-tabs > .ant-card-head .ant-card-head-title {\n min-height: 32px;\n padding-bottom: 0;\n}\n.ant-card-contain-tabs > .ant-card-head .ant-card-extra {\n padding-bottom: 0;\n}\n.ant-card-bordered .ant-card-cover {\n margin-top: -1px;\n margin-right: -1px;\n margin-left: -1px;\n}\n.ant-card-cover > * {\n display: block;\n width: 100%;\n}\n.ant-card-cover img {\n border-radius: 4px 4px 0 0;\n}\n.ant-card-actions {\n display: flex;\n margin: 0;\n padding: 0;\n list-style: none;\n background: #fff;\n border-top: 1px solid #f0f0f0;\n}\n.ant-card-actions::before {\n display: table;\n content: '';\n}\n.ant-card-actions::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-card-actions::before {\n display: table;\n content: '';\n}\n.ant-card-actions::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-card-actions > li {\n margin: 12px 0;\n color: rgba(0, 0, 0, 0.45);\n text-align: center;\n}\n.ant-card-actions > li > span {\n position: relative;\n display: block;\n min-width: 32px;\n font-size: 14px;\n line-height: 1.5715;\n cursor: pointer;\n}\n.ant-card-actions > li > span:hover {\n color: #2673e5;\n transition: color 0.3s;\n}\n.ant-card-actions > li > span a:not(.ant-btn),\n.ant-card-actions > li > span > .anticon {\n display: inline-block;\n width: 100%;\n color: rgba(0, 0, 0, 0.45);\n line-height: 22px;\n transition: color 0.3s;\n}\n.ant-card-actions > li > span a:not(.ant-btn):hover,\n.ant-card-actions > li > span > .anticon:hover {\n color: #2673e5;\n}\n.ant-card-actions > li > span > .anticon {\n font-size: 16px;\n line-height: 22px;\n}\n.ant-card-actions > li:not(:last-child) {\n border-right: 1px solid #f0f0f0;\n}\n.ant-card-rtl .ant-card-actions > li:not(:last-child) {\n border-right: none;\n border-left: 1px solid #f0f0f0;\n}\n.ant-card-type-inner .ant-card-head {\n padding: 0 24px;\n background: #fafafa;\n}\n.ant-card-type-inner .ant-card-head-title {\n padding: 12px 0;\n font-size: 14px;\n}\n.ant-card-type-inner .ant-card-body {\n padding: 16px 24px;\n}\n.ant-card-type-inner .ant-card-extra {\n padding: 13.5px 0;\n}\n.ant-card-meta {\n display: flex;\n margin: -4px 0;\n}\n.ant-card-meta::before {\n display: table;\n content: '';\n}\n.ant-card-meta::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-card-meta::before {\n display: table;\n content: '';\n}\n.ant-card-meta::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-card-meta-avatar {\n padding-right: 16px;\n}\n.ant-card-rtl .ant-card-meta-avatar {\n padding-right: 0;\n padding-left: 16px;\n}\n.ant-card-meta-detail {\n flex: 1;\n overflow: hidden;\n}\n.ant-card-meta-detail > div:not(:last-child) {\n margin-bottom: 8px;\n}\n.ant-card-meta-title {\n overflow: hidden;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 500;\n font-size: 16px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.ant-card-meta-description {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-card-loading {\n overflow: hidden;\n}\n.ant-card-loading .ant-card-body {\n user-select: none;\n}\n.ant-card-small > .ant-card-head {\n min-height: 36px;\n padding: 0 12px;\n font-size: 14px;\n}\n.ant-card-small > .ant-card-head > .ant-card-head-wrapper > .ant-card-head-title {\n padding: 8px 0;\n}\n.ant-card-small > .ant-card-head > .ant-card-head-wrapper > .ant-card-extra {\n padding: 8px 0;\n font-size: 14px;\n}\n.ant-card-small > .ant-card-body {\n padding: 12px;\n}\n.ant-carousel {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n}\n.ant-carousel .slick-slider {\n position: relative;\n display: block;\n box-sizing: border-box;\n touch-action: pan-y;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: transparent;\n}\n.ant-carousel .slick-list {\n position: relative;\n display: block;\n margin: 0;\n padding: 0;\n overflow: hidden;\n}\n.ant-carousel .slick-list:focus {\n outline: none;\n}\n.ant-carousel .slick-list.dragging {\n cursor: pointer;\n}\n.ant-carousel .slick-list .slick-slide {\n pointer-events: none;\n}\n.ant-carousel .slick-list .slick-slide input.ant-radio-input,\n.ant-carousel .slick-list .slick-slide input.ant-checkbox-input {\n visibility: hidden;\n}\n.ant-carousel .slick-list .slick-slide.slick-active {\n pointer-events: auto;\n}\n.ant-carousel .slick-list .slick-slide.slick-active input.ant-radio-input,\n.ant-carousel .slick-list .slick-slide.slick-active input.ant-checkbox-input {\n visibility: visible;\n}\n.ant-carousel .slick-list .slick-slide > div > div {\n vertical-align: bottom;\n}\n.ant-carousel .slick-slider .slick-track,\n.ant-carousel .slick-slider .slick-list {\n transform: translate3d(0, 0, 0);\n touch-action: pan-y;\n}\n.ant-carousel .slick-track {\n position: relative;\n top: 0;\n left: 0;\n display: block;\n}\n.ant-carousel .slick-track::before,\n.ant-carousel .slick-track::after {\n display: table;\n content: '';\n}\n.ant-carousel .slick-track::after {\n clear: both;\n}\n.slick-loading .ant-carousel .slick-track {\n visibility: hidden;\n}\n.ant-carousel .slick-slide {\n display: none;\n float: left;\n height: 100%;\n min-height: 1px;\n}\n.ant-carousel .slick-slide img {\n display: block;\n}\n.ant-carousel .slick-slide.slick-loading img {\n display: none;\n}\n.ant-carousel .slick-slide.dragging img {\n pointer-events: none;\n}\n.ant-carousel .slick-initialized .slick-slide {\n display: block;\n}\n.ant-carousel .slick-loading .slick-slide {\n visibility: hidden;\n}\n.ant-carousel .slick-vertical .slick-slide {\n display: block;\n height: auto;\n}\n.ant-carousel .slick-arrow.slick-hidden {\n display: none;\n}\n.ant-carousel .slick-prev,\n.ant-carousel .slick-next {\n position: absolute;\n top: 50%;\n display: block;\n width: 20px;\n height: 20px;\n margin-top: -10px;\n padding: 0;\n color: transparent;\n font-size: 0;\n line-height: 0;\n background: transparent;\n border: 0;\n outline: none;\n cursor: pointer;\n}\n.ant-carousel .slick-prev:hover,\n.ant-carousel .slick-next:hover,\n.ant-carousel .slick-prev:focus,\n.ant-carousel .slick-next:focus {\n color: transparent;\n background: transparent;\n outline: none;\n}\n.ant-carousel .slick-prev:hover::before,\n.ant-carousel .slick-next:hover::before,\n.ant-carousel .slick-prev:focus::before,\n.ant-carousel .slick-next:focus::before {\n opacity: 1;\n}\n.ant-carousel .slick-prev.slick-disabled::before,\n.ant-carousel .slick-next.slick-disabled::before {\n opacity: 0.25;\n}\n.ant-carousel .slick-prev {\n left: -25px;\n}\n.ant-carousel .slick-prev::before {\n content: '←';\n}\n.ant-carousel .slick-next {\n right: -25px;\n}\n.ant-carousel .slick-next::before {\n content: '→';\n}\n.ant-carousel .slick-dots {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex !important;\n justify-content: center;\n margin-right: 15%;\n margin-bottom: 0;\n margin-left: 15%;\n padding-left: 0;\n list-style: none;\n}\n.ant-carousel .slick-dots-bottom {\n bottom: 12px;\n}\n.ant-carousel .slick-dots-top {\n top: 12px;\n bottom: auto;\n}\n.ant-carousel .slick-dots li {\n position: relative;\n display: inline-block;\n flex: 0 1 auto;\n box-sizing: content-box;\n width: 16px;\n height: 3px;\n margin: 0 4px;\n padding: 0;\n text-align: center;\n text-indent: -999px;\n vertical-align: top;\n transition: all 0.5s;\n}\n.ant-carousel .slick-dots li button {\n position: relative;\n display: block;\n width: 100%;\n height: 3px;\n padding: 0;\n color: transparent;\n font-size: 0;\n background: #fff;\n border: 0;\n border-radius: 1px;\n outline: none;\n cursor: pointer;\n opacity: 0.3;\n transition: all 0.5s;\n}\n.ant-carousel .slick-dots li button:hover,\n.ant-carousel .slick-dots li button:focus {\n opacity: 0.75;\n}\n.ant-carousel .slick-dots li button::after {\n position: absolute;\n top: -4px;\n right: -4px;\n bottom: -4px;\n left: -4px;\n content: '';\n}\n.ant-carousel .slick-dots li.slick-active {\n width: 24px;\n}\n.ant-carousel .slick-dots li.slick-active button {\n background: #fff;\n opacity: 1;\n}\n.ant-carousel .slick-dots li.slick-active:hover,\n.ant-carousel .slick-dots li.slick-active:focus {\n opacity: 1;\n}\n.ant-carousel-vertical .slick-dots {\n top: 50%;\n bottom: auto;\n flex-direction: column;\n width: 3px;\n height: auto;\n margin: 0;\n transform: translateY(-50%);\n}\n.ant-carousel-vertical .slick-dots-left {\n right: auto;\n left: 12px;\n}\n.ant-carousel-vertical .slick-dots-right {\n right: 12px;\n left: auto;\n}\n.ant-carousel-vertical .slick-dots li {\n width: 3px;\n height: 16px;\n margin: 4px 0;\n vertical-align: baseline;\n}\n.ant-carousel-vertical .slick-dots li button {\n width: 3px;\n height: 16px;\n}\n.ant-carousel-vertical .slick-dots li.slick-active {\n width: 3px;\n height: 24px;\n}\n.ant-carousel-vertical .slick-dots li.slick-active button {\n width: 3px;\n height: 24px;\n}\n.ant-carousel-rtl {\n direction: rtl;\n}\n.ant-carousel-rtl .ant-carousel .slick-track {\n right: 0;\n left: auto;\n}\n.ant-carousel-rtl .ant-carousel .slick-prev {\n right: -25px;\n left: auto;\n}\n.ant-carousel-rtl .ant-carousel .slick-prev::before {\n content: '→';\n}\n.ant-carousel-rtl .ant-carousel .slick-next {\n right: auto;\n left: -25px;\n}\n.ant-carousel-rtl .ant-carousel .slick-next::before {\n content: '←';\n}\n.ant-carousel-rtl.ant-carousel .slick-dots {\n flex-direction: row-reverse;\n}\n.ant-carousel-rtl.ant-carousel-vertical .slick-dots {\n flex-direction: column;\n}\n@keyframes antCheckboxEffect {\n 0% {\n transform: scale(1);\n opacity: 0.5;\n }\n 100% {\n transform: scale(1.6);\n opacity: 0;\n }\n}\n.ant-cascader-checkbox {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n top: 0.2em;\n line-height: 1;\n white-space: nowrap;\n outline: none;\n cursor: pointer;\n}\n.ant-cascader-checkbox-wrapper:hover .ant-cascader-checkbox-inner,\n.ant-cascader-checkbox:hover .ant-cascader-checkbox-inner,\n.ant-cascader-checkbox-input:focus + .ant-cascader-checkbox-inner {\n border-color: #2673e5;\n}\n.ant-cascader-checkbox-checked::after {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 1px solid #2673e5;\n border-radius: 2px;\n visibility: hidden;\n animation: antCheckboxEffect 0.36s ease-in-out;\n animation-fill-mode: backwards;\n content: '';\n}\n.ant-cascader-checkbox:hover::after,\n.ant-cascader-checkbox-wrapper:hover .ant-cascader-checkbox::after {\n visibility: visible;\n}\n.ant-cascader-checkbox-inner {\n position: relative;\n top: 0;\n left: 0;\n display: block;\n width: 16px;\n height: 16px;\n direction: ltr;\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-radius: 2px;\n border-collapse: separate;\n transition: all 0.3s;\n}\n.ant-cascader-checkbox-inner::after {\n position: absolute;\n top: 50%;\n left: 21.5%;\n display: table;\n width: 5.71428571px;\n height: 9.14285714px;\n border: 2px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(0) translate(-50%, -50%);\n opacity: 0;\n transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s;\n content: ' ';\n}\n.ant-cascader-checkbox-input {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n cursor: pointer;\n opacity: 0;\n}\n.ant-cascader-checkbox-checked .ant-cascader-checkbox-inner::after {\n position: absolute;\n display: table;\n border: 2px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(1) translate(-50%, -50%);\n opacity: 1;\n transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;\n content: ' ';\n}\n.ant-cascader-checkbox-checked .ant-cascader-checkbox-inner {\n background-color: #2673e5;\n border-color: #2673e5;\n}\n.ant-cascader-checkbox-disabled {\n cursor: not-allowed;\n}\n.ant-cascader-checkbox-disabled.ant-cascader-checkbox-checked .ant-cascader-checkbox-inner::after {\n border-color: rgba(0, 0, 0, 0.25);\n animation-name: none;\n}\n.ant-cascader-checkbox-disabled .ant-cascader-checkbox-input {\n cursor: not-allowed;\n pointer-events: none;\n}\n.ant-cascader-checkbox-disabled .ant-cascader-checkbox-inner {\n background-color: #f5f5f5;\n border-color: #d9d9d9 !important;\n}\n.ant-cascader-checkbox-disabled .ant-cascader-checkbox-inner::after {\n border-color: #f5f5f5;\n border-collapse: separate;\n animation-name: none;\n}\n.ant-cascader-checkbox-disabled + span {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-cascader-checkbox-disabled:hover::after,\n.ant-cascader-checkbox-wrapper:hover .ant-cascader-checkbox-disabled::after {\n visibility: hidden;\n}\n.ant-cascader-checkbox-wrapper {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n display: inline-flex;\n align-items: baseline;\n line-height: unset;\n cursor: pointer;\n}\n.ant-cascader-checkbox-wrapper::after {\n display: inline-block;\n width: 0;\n overflow: hidden;\n content: '\\a0';\n}\n.ant-cascader-checkbox-wrapper.ant-cascader-checkbox-wrapper-disabled {\n cursor: not-allowed;\n}\n.ant-cascader-checkbox-wrapper + .ant-cascader-checkbox-wrapper {\n margin-left: 8px;\n}\n.ant-cascader-checkbox-wrapper.ant-cascader-checkbox-wrapper-in-form-item input[type='checkbox'] {\n width: 14px;\n height: 14px;\n}\n.ant-cascader-checkbox + span {\n padding-right: 8px;\n padding-left: 8px;\n}\n.ant-cascader-checkbox-group {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n display: inline-block;\n}\n.ant-cascader-checkbox-group-item {\n margin-right: 8px;\n}\n.ant-cascader-checkbox-group-item:last-child {\n margin-right: 0;\n}\n.ant-cascader-checkbox-group-item + .ant-cascader-checkbox-group-item {\n margin-left: 0;\n}\n.ant-cascader-checkbox-indeterminate .ant-cascader-checkbox-inner {\n background-color: #fff;\n border-color: #d9d9d9;\n}\n.ant-cascader-checkbox-indeterminate .ant-cascader-checkbox-inner::after {\n top: 50%;\n left: 50%;\n width: 8px;\n height: 8px;\n background-color: #2673e5;\n border: 0;\n transform: translate(-50%, -50%) scale(1);\n opacity: 1;\n content: ' ';\n}\n.ant-cascader-checkbox-indeterminate.ant-cascader-checkbox-disabled .ant-cascader-checkbox-inner::after {\n background-color: rgba(0, 0, 0, 0.25);\n border-color: rgba(0, 0, 0, 0.25);\n}\n.ant-cascader-checkbox-rtl {\n direction: rtl;\n}\n.ant-cascader-checkbox-group-rtl .ant-cascader-checkbox-group-item {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-cascader-checkbox-group-rtl .ant-cascader-checkbox-group-item:last-child {\n margin-left: 0 !important;\n}\n.ant-cascader-checkbox-group-rtl .ant-cascader-checkbox-group-item + .ant-cascader-checkbox-group-item {\n margin-left: 8px;\n}\n.ant-cascader {\n width: 184px;\n}\n.ant-cascader-checkbox {\n top: 0;\n margin-right: 8px;\n}\n.ant-cascader-menus {\n display: flex;\n flex-wrap: nowrap;\n align-items: flex-start;\n}\n.ant-cascader-menus.ant-cascader-menu-empty .ant-cascader-menu {\n width: 100%;\n height: auto;\n}\n.ant-cascader-menu {\n flex-grow: 1;\n min-width: 111px;\n height: 180px;\n margin: 0;\n margin: -4px 0;\n padding: 4px 0;\n overflow: auto;\n vertical-align: top;\n list-style: none;\n border-right: 1px solid #f0f0f0;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n.ant-cascader-menu-item {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n padding: 5px 12px;\n overflow: hidden;\n line-height: 22px;\n white-space: nowrap;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: all 0.3s;\n}\n.ant-cascader-menu-item:hover {\n background: #f5f5f5;\n}\n.ant-cascader-menu-item-disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-cascader-menu-item-disabled:hover {\n background: transparent;\n}\n.ant-cascader-menu-empty .ant-cascader-menu-item {\n color: rgba(0, 0, 0, 0.25);\n cursor: default;\n pointer-events: none;\n}\n.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled),\n.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover {\n font-weight: 600;\n background-color: #f0f8ff;\n}\n.ant-cascader-menu-item-content {\n flex: auto;\n}\n.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,\n.ant-cascader-menu-item-loading-icon {\n margin-left: 4px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 10px;\n}\n.ant-cascader-menu-item-disabled.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,\n.ant-cascader-menu-item-disabled.ant-cascader-menu-item-loading-icon {\n color: rgba(0, 0, 0, 0.25);\n}\n.ant-cascader-menu-item-keyword {\n color: #ff4d4f;\n}\n.ant-cascader-compact-item:not(.ant-cascader-compact-last-item):not(.ant-cascader-compact-item-rtl) {\n margin-right: -1px;\n}\n.ant-cascader-compact-item:not(.ant-cascader-compact-last-item).ant-cascader-compact-item-rtl {\n margin-left: -1px;\n}\n.ant-cascader-compact-item:hover,\n.ant-cascader-compact-item:focus,\n.ant-cascader-compact-item:active {\n z-index: 2;\n}\n.ant-cascader-compact-item[disabled] {\n z-index: 0;\n}\n.ant-cascader-compact-item:not(.ant-cascader-compact-first-item):not(.ant-cascader-compact-last-item).ant-cascader {\n border-radius: 0;\n}\n.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-first-item:not(.ant-cascader-compact-last-item):not(.ant-cascader-compact-item-rtl) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-last-item:not(.ant-cascader-compact-first-item):not(.ant-cascader-compact-item-rtl) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-item-rtl.ant-cascader-compact-first-item:not(.ant-cascader-compact-last-item) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-item-rtl.ant-cascader-compact-last-item:not(.ant-cascader-compact-first-item) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-cascader-rtl .ant-cascader-menu-item-expand-icon,\n.ant-cascader-rtl .ant-cascader-menu-item-loading-icon {\n margin-right: 4px;\n margin-left: 0;\n}\n.ant-cascader-rtl .ant-cascader-checkbox {\n top: 0;\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-checkbox {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n top: 0.2em;\n line-height: 1;\n white-space: nowrap;\n outline: none;\n cursor: pointer;\n}\n.ant-checkbox-wrapper:hover .ant-checkbox-inner,\n.ant-checkbox:hover .ant-checkbox-inner,\n.ant-checkbox-input:focus + .ant-checkbox-inner {\n border-color: #2673e5;\n}\n.ant-checkbox-checked::after {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 1px solid #2673e5;\n border-radius: 2px;\n visibility: hidden;\n animation: antCheckboxEffect 0.36s ease-in-out;\n animation-fill-mode: backwards;\n content: '';\n}\n.ant-checkbox:hover::after,\n.ant-checkbox-wrapper:hover .ant-checkbox::after {\n visibility: visible;\n}\n.ant-checkbox-inner {\n position: relative;\n top: 0;\n left: 0;\n display: block;\n width: 16px;\n height: 16px;\n direction: ltr;\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-radius: 2px;\n border-collapse: separate;\n transition: all 0.3s;\n}\n.ant-checkbox-inner::after {\n position: absolute;\n top: 50%;\n left: 21.5%;\n display: table;\n width: 5.71428571px;\n height: 9.14285714px;\n border: 2px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(0) translate(-50%, -50%);\n opacity: 0;\n transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s;\n content: ' ';\n}\n.ant-checkbox-input {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n cursor: pointer;\n opacity: 0;\n}\n.ant-checkbox-checked .ant-checkbox-inner::after {\n position: absolute;\n display: table;\n border: 2px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(1) translate(-50%, -50%);\n opacity: 1;\n transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;\n content: ' ';\n}\n.ant-checkbox-checked .ant-checkbox-inner {\n background-color: #2673e5;\n border-color: #2673e5;\n}\n.ant-checkbox-disabled {\n cursor: not-allowed;\n}\n.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after {\n border-color: rgba(0, 0, 0, 0.25);\n animation-name: none;\n}\n.ant-checkbox-disabled .ant-checkbox-input {\n cursor: not-allowed;\n pointer-events: none;\n}\n.ant-checkbox-disabled .ant-checkbox-inner {\n background-color: #f5f5f5;\n border-color: #d9d9d9 !important;\n}\n.ant-checkbox-disabled .ant-checkbox-inner::after {\n border-color: #f5f5f5;\n border-collapse: separate;\n animation-name: none;\n}\n.ant-checkbox-disabled + span {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-checkbox-disabled:hover::after,\n.ant-checkbox-wrapper:hover .ant-checkbox-disabled::after {\n visibility: hidden;\n}\n.ant-checkbox-wrapper {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n display: inline-flex;\n align-items: baseline;\n line-height: unset;\n cursor: pointer;\n}\n.ant-checkbox-wrapper::after {\n display: inline-block;\n width: 0;\n overflow: hidden;\n content: '\\a0';\n}\n.ant-checkbox-wrapper.ant-checkbox-wrapper-disabled {\n cursor: not-allowed;\n}\n.ant-checkbox-wrapper + .ant-checkbox-wrapper {\n margin-left: 8px;\n}\n.ant-checkbox-wrapper.ant-checkbox-wrapper-in-form-item input[type='checkbox'] {\n width: 14px;\n height: 14px;\n}\n.ant-checkbox + span {\n padding-right: 8px;\n padding-left: 8px;\n}\n.ant-checkbox-group {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n display: inline-block;\n}\n.ant-checkbox-group-item {\n margin-right: 8px;\n}\n.ant-checkbox-group-item:last-child {\n margin-right: 0;\n}\n.ant-checkbox-group-item + .ant-checkbox-group-item {\n margin-left: 0;\n}\n.ant-checkbox-indeterminate .ant-checkbox-inner {\n background-color: #fff;\n border-color: #d9d9d9;\n}\n.ant-checkbox-indeterminate .ant-checkbox-inner::after {\n top: 50%;\n left: 50%;\n width: 8px;\n height: 8px;\n background-color: #2673e5;\n border: 0;\n transform: translate(-50%, -50%) scale(1);\n opacity: 1;\n content: ' ';\n}\n.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner::after {\n background-color: rgba(0, 0, 0, 0.25);\n border-color: rgba(0, 0, 0, 0.25);\n}\n.ant-checkbox-rtl {\n direction: rtl;\n}\n.ant-checkbox-group-rtl .ant-checkbox-group-item {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-checkbox-group-rtl .ant-checkbox-group-item:last-child {\n margin-left: 0 !important;\n}\n.ant-checkbox-group-rtl .ant-checkbox-group-item + .ant-checkbox-group-item {\n margin-left: 8px;\n}\n.ant-collapse {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n background-color: #fafafa;\n border: 1px solid #d9d9d9;\n border-bottom: 0;\n border-radius: 4px;\n}\n.ant-collapse > .ant-collapse-item {\n border-bottom: 1px solid #d9d9d9;\n}\n.ant-collapse > .ant-collapse-item:last-child,\n.ant-collapse > .ant-collapse-item:last-child > .ant-collapse-header {\n border-radius: 0 0 4px 4px;\n}\n.ant-collapse > .ant-collapse-item > .ant-collapse-header {\n position: relative;\n display: flex;\n flex-wrap: nowrap;\n align-items: flex-start;\n padding: 12px 16px;\n color: rgba(0, 0, 0, 0.85);\n line-height: 1.5715;\n cursor: pointer;\n transition: all 0.3s, visibility 0s;\n}\n.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow {\n display: inline-block;\n margin-right: 12px;\n font-size: 12px;\n vertical-align: -1px;\n}\n.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow svg {\n transition: transform 0.24s;\n}\n.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-header-text {\n flex: auto;\n}\n.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-extra {\n margin-left: auto;\n}\n.ant-collapse > .ant-collapse-item > .ant-collapse-header:focus {\n outline: none;\n}\n.ant-collapse > .ant-collapse-item .ant-collapse-header-collapsible-only {\n cursor: default;\n}\n.ant-collapse > .ant-collapse-item .ant-collapse-header-collapsible-only .ant-collapse-header-text {\n flex: none;\n cursor: pointer;\n}\n.ant-collapse > .ant-collapse-item .ant-collapse-icon-collapsible-only {\n cursor: default;\n}\n.ant-collapse > .ant-collapse-item .ant-collapse-icon-collapsible-only .ant-collapse-expand-icon {\n cursor: pointer;\n}\n.ant-collapse > .ant-collapse-item.ant-collapse-no-arrow > .ant-collapse-header {\n padding-left: 12px;\n}\n.ant-collapse-icon-position-end > .ant-collapse-item > .ant-collapse-header {\n position: relative;\n padding: 12px 16px;\n padding-right: 40px;\n}\n.ant-collapse-icon-position-end > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow {\n position: absolute;\n top: 50%;\n right: 16px;\n left: auto;\n margin: 0;\n transform: translateY(-50%);\n}\n.ant-collapse-content {\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n border-top: 1px solid #d9d9d9;\n}\n.ant-collapse-content > .ant-collapse-content-box {\n padding: 16px;\n}\n.ant-collapse-content-hidden {\n display: none;\n}\n.ant-collapse-item:last-child > .ant-collapse-content {\n border-radius: 0 0 4px 4px;\n}\n.ant-collapse-borderless {\n background-color: #fafafa;\n border: 0;\n}\n.ant-collapse-borderless > .ant-collapse-item {\n border-bottom: 1px solid #d9d9d9;\n}\n.ant-collapse-borderless > .ant-collapse-item:last-child,\n.ant-collapse-borderless > .ant-collapse-item:last-child .ant-collapse-header {\n border-radius: 0;\n}\n.ant-collapse-borderless > .ant-collapse-item:last-child {\n border-bottom: 0;\n}\n.ant-collapse-borderless > .ant-collapse-item > .ant-collapse-content {\n background-color: transparent;\n border-top: 0;\n}\n.ant-collapse-borderless > .ant-collapse-item > .ant-collapse-content > .ant-collapse-content-box {\n padding-top: 4px;\n}\n.ant-collapse-ghost {\n background-color: transparent;\n border: 0;\n}\n.ant-collapse-ghost > .ant-collapse-item {\n border-bottom: 0;\n}\n.ant-collapse-ghost > .ant-collapse-item > .ant-collapse-content {\n background-color: transparent;\n border-top: 0;\n}\n.ant-collapse-ghost > .ant-collapse-item > .ant-collapse-content > .ant-collapse-content-box {\n padding-top: 12px;\n padding-bottom: 12px;\n}\n.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header,\n.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header > .arrow {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-collapse-rtl {\n direction: rtl;\n}\n.ant-collapse-rtl.ant-collapse.ant-collapse-icon-position-end > .ant-collapse-item > .ant-collapse-header {\n position: relative;\n padding: 12px 16px;\n padding-left: 40px;\n}\n.ant-collapse-rtl.ant-collapse.ant-collapse-icon-position-end > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow {\n position: absolute;\n top: 50%;\n right: auto;\n left: 16px;\n margin: 0;\n transform: translateY(-50%);\n}\n.ant-collapse-rtl .ant-collapse > .ant-collapse-item > .ant-collapse-header {\n padding: 12px 16px;\n padding-right: 40px;\n}\n.ant-collapse-rtl.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow {\n margin-right: 0;\n margin-left: 12px;\n}\n.ant-collapse-rtl.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow svg {\n transform: rotate(180deg);\n}\n.ant-collapse-rtl.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-extra {\n margin-right: auto;\n margin-left: 0;\n}\n.ant-collapse-rtl.ant-collapse > .ant-collapse-item.ant-collapse-no-arrow > .ant-collapse-header {\n padding-right: 12px;\n padding-left: 0;\n}\n.ant-comment {\n position: relative;\n background-color: inherit;\n}\n.ant-comment-inner {\n display: flex;\n padding: 16px 0;\n}\n.ant-comment-avatar {\n position: relative;\n flex-shrink: 0;\n margin-right: 12px;\n cursor: pointer;\n}\n.ant-comment-avatar img {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n}\n.ant-comment-content {\n position: relative;\n flex: 1 1 auto;\n min-width: 1px;\n font-size: 14px;\n word-wrap: break-word;\n}\n.ant-comment-content-author {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n margin-bottom: 4px;\n font-size: 14px;\n}\n.ant-comment-content-author > a,\n.ant-comment-content-author > span {\n padding-right: 8px;\n font-size: 12px;\n line-height: 18px;\n}\n.ant-comment-content-author-name {\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n transition: color 0.3s;\n}\n.ant-comment-content-author-name > * {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-comment-content-author-name > *:hover {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-comment-content-author-time {\n color: #ccc;\n white-space: nowrap;\n cursor: auto;\n}\n.ant-comment-content-detail p {\n margin-bottom: inherit;\n white-space: pre-wrap;\n}\n.ant-comment-actions {\n margin-top: 12px;\n margin-bottom: inherit;\n padding-left: 0;\n}\n.ant-comment-actions > li {\n display: inline-block;\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-comment-actions > li > span {\n margin-right: 10px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 12px;\n cursor: pointer;\n transition: color 0.3s;\n user-select: none;\n}\n.ant-comment-actions > li > span:hover {\n color: #595959;\n}\n.ant-comment-nested {\n margin-left: 44px;\n}\n.ant-comment-rtl {\n direction: rtl;\n}\n.ant-comment-rtl .ant-comment-avatar {\n margin-right: 0;\n margin-left: 12px;\n}\n.ant-comment-rtl .ant-comment-content-author > a,\n.ant-comment-rtl .ant-comment-content-author > span {\n padding-right: 0;\n padding-left: 8px;\n}\n.ant-comment-rtl .ant-comment-actions {\n padding-right: 0;\n}\n.ant-comment-rtl .ant-comment-actions > li > span {\n margin-right: 0;\n margin-left: 10px;\n}\n.ant-comment-rtl .ant-comment-nested {\n margin-right: 44px;\n margin-left: 0;\n}\n.ant-picker-status-error.ant-picker,\n.ant-picker-status-error.ant-picker:not([disabled]):hover {\n background-color: #fff;\n border-color: #ff4d4f;\n}\n.ant-picker-status-error.ant-picker-focused,\n.ant-picker-status-error.ant-picker:focus {\n border-color: #ff7875;\n box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-picker-status-error.ant-picker .ant-picker-active-bar {\n background: #ff7875;\n}\n.ant-picker-status-warning.ant-picker,\n.ant-picker-status-warning.ant-picker:not([disabled]):hover {\n background-color: #fff;\n border-color: #faad14;\n}\n.ant-picker-status-warning.ant-picker-focused,\n.ant-picker-status-warning.ant-picker:focus {\n border-color: #ffc53d;\n box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-picker-status-warning.ant-picker .ant-picker-active-bar {\n background: #ffc53d;\n}\n.ant-picker {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n padding: 4px 11px 4px;\n position: relative;\n display: inline-flex;\n align-items: center;\n background: #fff;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n transition: border 0.3s, box-shadow 0.3s;\n}\n.ant-picker:hover,\n.ant-picker-focused {\n border-color: #5096f2;\n border-right-width: 1px;\n}\n.ant-input-rtl .ant-picker:hover,\n.ant-input-rtl .ant-picker-focused {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-picker-focused {\n border-color: #5096f2;\n box-shadow: 0 0 0 2px rgba(38, 115, 229, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-rtl .ant-picker-focused {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-picker.ant-picker-disabled {\n background: #f5f5f5;\n border-color: #d9d9d9;\n cursor: not-allowed;\n}\n.ant-picker.ant-picker-disabled .ant-picker-suffix {\n color: rgba(0, 0, 0, 0.25);\n}\n.ant-picker.ant-picker-borderless {\n background-color: transparent !important;\n border-color: transparent !important;\n box-shadow: none !important;\n}\n.ant-picker-input {\n position: relative;\n display: inline-flex;\n align-items: center;\n width: 100%;\n}\n.ant-picker-input > input {\n position: relative;\n display: inline-block;\n width: 100%;\n min-width: 0;\n padding: 4px 11px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n line-height: 1.5715;\n background-color: #fff;\n background-image: none;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n transition: all 0.3s;\n flex: auto;\n min-width: 1px;\n height: auto;\n padding: 0;\n background: transparent;\n border: 0;\n}\n.ant-picker-input > input::placeholder {\n color: #bfbfbf;\n user-select: none;\n}\n.ant-picker-input > input:placeholder-shown {\n text-overflow: ellipsis;\n}\n.ant-picker-input > input:hover {\n border-color: #5096f2;\n border-right-width: 1px;\n}\n.ant-input-rtl .ant-picker-input > input:hover {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-picker-input > input:focus,\n.ant-picker-input > input-focused {\n border-color: #5096f2;\n box-shadow: 0 0 0 2px rgba(38, 115, 229, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-rtl .ant-picker-input > input:focus,\n.ant-input-rtl .ant-picker-input > input-focused {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-picker-input > input-disabled {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-picker-input > input-disabled:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-picker-input > input[disabled] {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-picker-input > input[disabled]:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-picker-input > input-borderless,\n.ant-picker-input > input-borderless:hover,\n.ant-picker-input > input-borderless:focus,\n.ant-picker-input > input-borderless-focused,\n.ant-picker-input > input-borderless-disabled,\n.ant-picker-input > input-borderless[disabled] {\n background-color: transparent;\n border: none;\n box-shadow: none;\n}\ntextarea.ant-picker-input > input {\n max-width: 100%;\n height: auto;\n min-height: 32px;\n line-height: 1.5715;\n vertical-align: bottom;\n transition: all 0.3s, height 0s;\n}\n.ant-picker-input > input-lg {\n padding: 6.5px 11px;\n font-size: 16px;\n}\n.ant-picker-input > input-sm {\n padding: 0px 7px;\n}\n.ant-picker-input > input-rtl {\n direction: rtl;\n}\n.ant-picker-input > input:focus {\n box-shadow: none;\n}\n.ant-picker-input > input[disabled] {\n background: transparent;\n}\n.ant-picker-input:hover .ant-picker-clear {\n opacity: 1;\n}\n.ant-picker-input-placeholder > input {\n color: #bfbfbf;\n}\n.ant-picker-large {\n padding: 6.5px 11px 6.5px;\n}\n.ant-picker-large .ant-picker-input > input {\n font-size: 16px;\n}\n.ant-picker-small {\n padding: 0px 7px 0px;\n}\n.ant-picker-suffix {\n display: flex;\n flex: none;\n align-self: center;\n margin-left: 4px;\n color: rgba(0, 0, 0, 0.25);\n line-height: 1;\n pointer-events: none;\n}\n.ant-picker-suffix > * {\n vertical-align: top;\n}\n.ant-picker-suffix > *:not(:last-child) {\n margin-right: 8px;\n}\n.ant-picker-clear {\n position: absolute;\n top: 50%;\n right: 0;\n color: rgba(0, 0, 0, 0.25);\n line-height: 1;\n background: #fff;\n transform: translateY(-50%);\n cursor: pointer;\n opacity: 0;\n transition: opacity 0.3s, color 0.3s;\n}\n.ant-picker-clear > * {\n vertical-align: top;\n}\n.ant-picker-clear:hover {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-picker-separator {\n position: relative;\n display: inline-block;\n width: 1em;\n height: 16px;\n color: rgba(0, 0, 0, 0.25);\n font-size: 16px;\n vertical-align: top;\n cursor: default;\n}\n.ant-picker-focused .ant-picker-separator {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-picker-disabled .ant-picker-range-separator .ant-picker-separator {\n cursor: not-allowed;\n}\n.ant-picker-range {\n position: relative;\n display: inline-flex;\n}\n.ant-picker-range .ant-picker-clear {\n right: 11px;\n}\n.ant-picker-range:hover .ant-picker-clear {\n opacity: 1;\n}\n.ant-picker-range .ant-picker-active-bar {\n bottom: -1px;\n height: 2px;\n margin-left: 11px;\n background: #2673e5;\n opacity: 0;\n transition: all 0.3s ease-out;\n pointer-events: none;\n}\n.ant-picker-range.ant-picker-focused .ant-picker-active-bar {\n opacity: 1;\n}\n.ant-picker-range-separator {\n align-items: center;\n padding: 0 8px;\n line-height: 1;\n}\n.ant-picker-range.ant-picker-small .ant-picker-clear {\n right: 7px;\n}\n.ant-picker-range.ant-picker-small .ant-picker-active-bar {\n margin-left: 7px;\n}\n.ant-picker-dropdown {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: absolute;\n top: -9999px;\n left: -9999px;\n z-index: 1050;\n}\n.ant-picker-dropdown-hidden {\n display: none;\n}\n.ant-picker-dropdown-placement-bottomLeft .ant-picker-range-arrow {\n top: 2.58561808px;\n display: block;\n transform: rotate(-135deg) translateY(1px);\n}\n.ant-picker-dropdown-placement-topLeft .ant-picker-range-arrow {\n bottom: 2.58561808px;\n display: block;\n transform: rotate(45deg);\n}\n.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topLeft,\n.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topRight,\n.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topLeft,\n.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topRight {\n animation-name: antSlideDownIn;\n}\n.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomLeft,\n.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomRight,\n.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomLeft,\n.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomRight {\n animation-name: antSlideUpIn;\n}\n.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topLeft,\n.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topRight {\n animation-name: antSlideDownOut;\n}\n.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomLeft,\n.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomRight {\n animation-name: antSlideUpOut;\n}\n.ant-picker-dropdown-range {\n padding: 7.54247233px 0;\n}\n.ant-picker-dropdown-range-hidden {\n display: none;\n}\n.ant-picker-dropdown .ant-picker-panel > .ant-picker-time-panel {\n padding-top: 4px;\n}\n.ant-picker-ranges {\n margin-bottom: 0;\n padding: 4px 12px;\n overflow: hidden;\n line-height: 34px;\n text-align: left;\n list-style: none;\n}\n.ant-picker-ranges > li {\n display: inline-block;\n}\n.ant-picker-ranges .ant-picker-preset > .ant-tag-blue {\n color: #2673e5;\n background: #f0f8ff;\n border-color: #a6d2ff;\n cursor: pointer;\n}\n.ant-picker-ranges .ant-picker-ok {\n float: right;\n margin-left: 8px;\n}\n.ant-picker-range-wrapper {\n display: flex;\n}\n.ant-picker-range-arrow {\n position: absolute;\n z-index: 1;\n width: 11.3137085px;\n height: 11.3137085px;\n margin-left: 16.5px;\n box-shadow: 2px 2px 6px -2px rgba(0, 0, 0, 0.1);\n transition: left 0.3s ease-out;\n border-radius: 0 0 2px;\n pointer-events: none;\n}\n.ant-picker-range-arrow::before {\n position: absolute;\n top: -11.3137085px;\n left: -11.3137085px;\n width: 33.9411255px;\n height: 33.9411255px;\n background: #fff;\n background-repeat: no-repeat;\n background-position: -10px -10px;\n content: '';\n clip-path: inset(33% 33%);\n clip-path: path('M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z');\n}\n.ant-picker-panel-container {\n overflow: hidden;\n vertical-align: top;\n background: #fff;\n border-radius: 4px;\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n transition: margin 0.3s;\n}\n.ant-picker-panel-container .ant-picker-panels {\n display: inline-flex;\n flex-wrap: nowrap;\n direction: ltr;\n}\n.ant-picker-panel-container .ant-picker-panel {\n vertical-align: top;\n background: transparent;\n border-width: 0 0 1px 0;\n border-radius: 0;\n}\n.ant-picker-panel-container .ant-picker-panel .ant-picker-content,\n.ant-picker-panel-container .ant-picker-panel table {\n text-align: center;\n}\n.ant-picker-panel-container .ant-picker-panel-focused {\n border-color: #f0f0f0;\n}\n.ant-picker-compact-item:not(.ant-picker-compact-last-item):not(.ant-picker-compact-item-rtl) {\n margin-right: -1px;\n}\n.ant-picker-compact-item:not(.ant-picker-compact-last-item).ant-picker-compact-item-rtl {\n margin-left: -1px;\n}\n.ant-picker-compact-item:hover,\n.ant-picker-compact-item:focus,\n.ant-picker-compact-item:active {\n z-index: 2;\n}\n.ant-picker-compact-item.ant-picker-focused {\n z-index: 2;\n}\n.ant-picker-compact-item[disabled] {\n z-index: 0;\n}\n.ant-picker-compact-item:not(.ant-picker-compact-first-item):not(.ant-picker-compact-last-item).ant-picker {\n border-radius: 0;\n}\n.ant-picker-compact-item.ant-picker.ant-picker-compact-first-item:not(.ant-picker-compact-last-item):not(.ant-picker-compact-item-rtl) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-picker-compact-item.ant-picker.ant-picker-compact-last-item:not(.ant-picker-compact-first-item):not(.ant-picker-compact-item-rtl) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-picker-compact-item.ant-picker.ant-picker-compact-item-rtl.ant-picker-compact-first-item:not(.ant-picker-compact-last-item) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-picker-compact-item.ant-picker.ant-picker-compact-item-rtl.ant-picker-compact-last-item:not(.ant-picker-compact-first-item) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-picker-panel {\n display: inline-flex;\n flex-direction: column;\n text-align: center;\n background: #fff;\n border: 1px solid #f0f0f0;\n border-radius: 4px;\n outline: none;\n}\n.ant-picker-panel-focused {\n border-color: #2673e5;\n}\n.ant-picker-decade-panel,\n.ant-picker-year-panel,\n.ant-picker-quarter-panel,\n.ant-picker-month-panel,\n.ant-picker-week-panel,\n.ant-picker-date-panel,\n.ant-picker-time-panel {\n display: flex;\n flex-direction: column;\n width: 280px;\n}\n.ant-picker-header {\n display: flex;\n padding: 0 8px;\n color: rgba(0, 0, 0, 0.85);\n border-bottom: 1px solid #f0f0f0;\n}\n.ant-picker-header > * {\n flex: none;\n}\n.ant-picker-header button {\n padding: 0;\n color: rgba(0, 0, 0, 0.25);\n line-height: 40px;\n background: transparent;\n border: 0;\n cursor: pointer;\n transition: color 0.3s;\n}\n.ant-picker-header > button {\n min-width: 1.6em;\n font-size: 14px;\n}\n.ant-picker-header > button:hover {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-picker-header-view {\n flex: auto;\n font-weight: 500;\n line-height: 40px;\n}\n.ant-picker-header-view button {\n color: inherit;\n font-weight: inherit;\n}\n.ant-picker-header-view button:not(:first-child) {\n margin-left: 8px;\n}\n.ant-picker-header-view button:hover {\n color: #2673e5;\n}\n.ant-picker-prev-icon,\n.ant-picker-next-icon,\n.ant-picker-super-prev-icon,\n.ant-picker-super-next-icon {\n position: relative;\n display: inline-block;\n width: 7px;\n height: 7px;\n}\n.ant-picker-prev-icon::before,\n.ant-picker-next-icon::before,\n.ant-picker-super-prev-icon::before,\n.ant-picker-super-next-icon::before {\n position: absolute;\n top: 0;\n left: 0;\n display: inline-block;\n width: 7px;\n height: 7px;\n border: 0 solid currentcolor;\n border-width: 1.5px 0 0 1.5px;\n content: '';\n}\n.ant-picker-super-prev-icon::after,\n.ant-picker-super-next-icon::after {\n position: absolute;\n top: 4px;\n left: 4px;\n display: inline-block;\n width: 7px;\n height: 7px;\n border: 0 solid currentcolor;\n border-width: 1.5px 0 0 1.5px;\n content: '';\n}\n.ant-picker-prev-icon,\n.ant-picker-super-prev-icon {\n transform: rotate(-45deg);\n}\n.ant-picker-next-icon,\n.ant-picker-super-next-icon {\n transform: rotate(135deg);\n}\n.ant-picker-content {\n width: 100%;\n table-layout: fixed;\n border-collapse: collapse;\n}\n.ant-picker-content th,\n.ant-picker-content td {\n position: relative;\n min-width: 24px;\n font-weight: 400;\n}\n.ant-picker-content th {\n height: 30px;\n color: rgba(0, 0, 0, 0.85);\n line-height: 30px;\n}\n.ant-picker-cell {\n padding: 3px 0;\n color: rgba(0, 0, 0, 0.25);\n cursor: pointer;\n}\n.ant-picker-cell-in-view {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-picker-cell::before {\n position: absolute;\n top: 50%;\n right: 0;\n left: 0;\n z-index: 1;\n height: 24px;\n transform: translateY(-50%);\n transition: all 0.3s;\n content: '';\n}\n.ant-picker-cell .ant-picker-cell-inner {\n position: relative;\n z-index: 2;\n display: inline-block;\n min-width: 24px;\n height: 24px;\n line-height: 24px;\n border-radius: 4px;\n transition: background 0.3s, border 0.3s;\n}\n.ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner,\n.ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end) .ant-picker-cell-inner {\n background: #f5f5f5;\n}\n.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n border: 1px solid #2673e5;\n border-radius: 4px;\n content: '';\n}\n.ant-picker-cell-in-view.ant-picker-cell-in-range {\n position: relative;\n}\n.ant-picker-cell-in-view.ant-picker-cell-in-range::before {\n background: #f0f8ff;\n}\n.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,\n.ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,\n.ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner {\n color: #fff;\n background: #2673e5;\n}\n.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single)::before,\n.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single)::before {\n background: #f0f8ff;\n}\n.ant-picker-cell-in-view.ant-picker-cell-range-start::before {\n left: 50%;\n}\n.ant-picker-cell-in-view.ant-picker-cell-range-end::before {\n right: 50%;\n}\n.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after,\n.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after,\n.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start-single::after,\n.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-end-near-hover::after,\n.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-start-near-hover::after,\n.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-end-single::after,\n.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-in-range)::after {\n position: absolute;\n top: 50%;\n z-index: 0;\n height: 24px;\n border-top: 1px dashed #81aef0;\n border-bottom: 1px dashed #81aef0;\n transform: translateY(-50%);\n transition: all 0.3s;\n content: '';\n}\n.ant-picker-cell-range-hover-start::after,\n.ant-picker-cell-range-hover-end::after,\n.ant-picker-cell-range-hover::after {\n right: 0;\n left: 2px;\n}\n.ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover::before,\n.ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-hover::before,\n.ant-picker-cell-in-view.ant-picker-cell-range-end.ant-picker-cell-range-hover::before,\n.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single).ant-picker-cell-range-hover-start::before,\n.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single).ant-picker-cell-range-hover-end::before,\n.ant-picker-panel > :not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start::before,\n.ant-picker-panel > :not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end::before {\n background: #c5daf8;\n}\n.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner {\n border-radius: 4px 0 0 4px;\n}\n.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner {\n border-radius: 0 4px 4px 0;\n}\n.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after,\n.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: -1;\n background: #c5daf8;\n transition: all 0.3s;\n content: '';\n}\n.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after {\n right: -6px;\n left: 0;\n}\n.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after {\n right: 0;\n left: -6px;\n}\n.ant-picker-cell-range-hover.ant-picker-cell-range-start::after {\n right: 50%;\n}\n.ant-picker-cell-range-hover.ant-picker-cell-range-end::after {\n left: 50%;\n}\ntr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:first-child::after,\ntr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after,\n.ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after,\n.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after,\n.ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after {\n left: 6px;\n border-left: 1px dashed #81aef0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\ntr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:last-child::after,\ntr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after,\n.ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after,\n.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after,\n.ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after {\n right: 6px;\n border-right: 1px dashed #81aef0;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.ant-picker-cell-disabled {\n color: rgba(0, 0, 0, 0.25);\n pointer-events: none;\n}\n.ant-picker-cell-disabled .ant-picker-cell-inner {\n background: transparent;\n}\n.ant-picker-cell-disabled::before {\n background: rgba(0, 0, 0, 0.04);\n}\n.ant-picker-cell-disabled.ant-picker-cell-today .ant-picker-cell-inner::before {\n border-color: rgba(0, 0, 0, 0.25);\n}\n.ant-picker-decade-panel .ant-picker-content,\n.ant-picker-year-panel .ant-picker-content,\n.ant-picker-quarter-panel .ant-picker-content,\n.ant-picker-month-panel .ant-picker-content {\n height: 264px;\n}\n.ant-picker-decade-panel .ant-picker-cell-inner,\n.ant-picker-year-panel .ant-picker-cell-inner,\n.ant-picker-quarter-panel .ant-picker-cell-inner,\n.ant-picker-month-panel .ant-picker-cell-inner {\n padding: 0 8px;\n}\n.ant-picker-quarter-panel .ant-picker-content {\n height: 56px;\n}\n.ant-picker-footer {\n width: min-content;\n min-width: 100%;\n line-height: 38px;\n text-align: center;\n border-bottom: 1px solid transparent;\n}\n.ant-picker-panel .ant-picker-footer {\n border-top: 1px solid #f0f0f0;\n}\n.ant-picker-footer-extra {\n padding: 0 12px;\n line-height: 38px;\n text-align: left;\n}\n.ant-picker-footer-extra:not(:last-child) {\n border-bottom: 1px solid #f0f0f0;\n}\n.ant-picker-now {\n text-align: left;\n}\n.ant-picker-today-btn {\n color: #2673e5;\n}\n.ant-picker-today-btn:hover {\n color: #5096f2;\n}\n.ant-picker-today-btn:active {\n color: #1755bf;\n}\n.ant-picker-today-btn.ant-picker-today-btn-disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-picker-decade-panel .ant-picker-cell-inner {\n padding: 0 4px;\n}\n.ant-picker-decade-panel .ant-picker-cell::before {\n display: none;\n}\n.ant-picker-year-panel .ant-picker-body,\n.ant-picker-quarter-panel .ant-picker-body,\n.ant-picker-month-panel .ant-picker-body {\n padding: 0 8px;\n}\n.ant-picker-year-panel .ant-picker-cell-inner,\n.ant-picker-quarter-panel .ant-picker-cell-inner,\n.ant-picker-month-panel .ant-picker-cell-inner {\n width: 60px;\n}\n.ant-picker-year-panel .ant-picker-cell-range-hover-start::after,\n.ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after,\n.ant-picker-month-panel .ant-picker-cell-range-hover-start::after {\n left: 14px;\n border-left: 1px dashed #81aef0;\n border-radius: 4px 0 0 4px;\n}\n.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-start::after,\n.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after,\n.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-start::after {\n right: 14px;\n border-right: 1px dashed #81aef0;\n border-radius: 0 4px 4px 0;\n}\n.ant-picker-year-panel .ant-picker-cell-range-hover-end::after,\n.ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after,\n.ant-picker-month-panel .ant-picker-cell-range-hover-end::after {\n right: 14px;\n border-right: 1px dashed #81aef0;\n border-radius: 0 4px 4px 0;\n}\n.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-end::after,\n.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after,\n.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-end::after {\n left: 14px;\n border-left: 1px dashed #81aef0;\n border-radius: 4px 0 0 4px;\n}\n.ant-picker-week-panel .ant-picker-body {\n padding: 8px 12px;\n}\n.ant-picker-week-panel .ant-picker-cell:hover .ant-picker-cell-inner,\n.ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner,\n.ant-picker-week-panel .ant-picker-cell .ant-picker-cell-inner {\n background: transparent !important;\n}\n.ant-picker-week-panel-row td {\n transition: background 0.3s;\n}\n.ant-picker-week-panel-row:hover td {\n background: #f5f5f5;\n}\n.ant-picker-week-panel-row-selected td,\n.ant-picker-week-panel-row-selected:hover td {\n background: #2673e5;\n}\n.ant-picker-week-panel-row-selected td.ant-picker-cell-week,\n.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-week {\n color: rgba(255, 255, 255, 0.5);\n}\n.ant-picker-week-panel-row-selected td.ant-picker-cell-today .ant-picker-cell-inner::before,\n.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-today .ant-picker-cell-inner::before {\n border-color: #fff;\n}\n.ant-picker-week-panel-row-selected td .ant-picker-cell-inner,\n.ant-picker-week-panel-row-selected:hover td .ant-picker-cell-inner {\n color: #fff;\n}\n.ant-picker-date-panel .ant-picker-body {\n padding: 8px 12px;\n}\n.ant-picker-date-panel .ant-picker-content {\n width: 252px;\n}\n.ant-picker-date-panel .ant-picker-content th {\n width: 36px;\n}\n.ant-picker-datetime-panel {\n display: flex;\n}\n.ant-picker-datetime-panel .ant-picker-time-panel {\n border-left: 1px solid #f0f0f0;\n}\n.ant-picker-datetime-panel .ant-picker-date-panel,\n.ant-picker-datetime-panel .ant-picker-time-panel {\n transition: opacity 0.3s;\n}\n.ant-picker-datetime-panel-active .ant-picker-date-panel,\n.ant-picker-datetime-panel-active .ant-picker-time-panel {\n opacity: 0.3;\n}\n.ant-picker-datetime-panel-active .ant-picker-date-panel-active,\n.ant-picker-datetime-panel-active .ant-picker-time-panel-active {\n opacity: 1;\n}\n.ant-picker-time-panel {\n width: auto;\n min-width: auto;\n}\n.ant-picker-time-panel .ant-picker-content {\n display: flex;\n flex: auto;\n height: 224px;\n}\n.ant-picker-time-panel-column {\n flex: 1 0 auto;\n width: 56px;\n margin: 0;\n padding: 0;\n overflow-y: hidden;\n text-align: left;\n list-style: none;\n transition: background 0.3s;\n}\n.ant-picker-time-panel-column::after {\n display: block;\n height: 196px;\n content: '';\n}\n.ant-picker-datetime-panel .ant-picker-time-panel-column::after {\n height: 198px;\n}\n.ant-picker-time-panel-column:not(:first-child) {\n border-left: 1px solid #f0f0f0;\n}\n.ant-picker-time-panel-column-active {\n background: rgba(240, 248, 255, 0.2);\n}\n.ant-picker-time-panel-column:hover {\n overflow-y: auto;\n}\n.ant-picker-time-panel-column > li {\n margin: 0;\n padding: 0;\n}\n.ant-picker-time-panel-column > li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner {\n display: block;\n width: 100%;\n height: 28px;\n margin: 0;\n padding: 0 0 0 14px;\n color: rgba(0, 0, 0, 0.85);\n line-height: 28px;\n border-radius: 0;\n cursor: pointer;\n transition: background 0.3s;\n}\n.ant-picker-time-panel-column > li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner:hover {\n background: #f5f5f5;\n}\n.ant-picker-time-panel-column > li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner {\n background: #f0f8ff;\n}\n.ant-picker-time-panel-column > li.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner {\n color: rgba(0, 0, 0, 0.25);\n background: transparent;\n cursor: not-allowed;\n}\n/* stylelint-disable selector-type-no-unknown,selector-no-vendor-prefix */\n_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell,\n:root .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell,\n_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell,\n:root .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell {\n padding: 21px 0;\n}\n.ant-picker-rtl {\n direction: rtl;\n}\n.ant-picker-rtl .ant-picker-suffix {\n margin-right: 4px;\n margin-left: 0;\n}\n.ant-picker-rtl .ant-picker-clear {\n right: auto;\n left: 0;\n}\n.ant-picker-rtl .ant-picker-separator {\n transform: rotate(180deg);\n}\n.ant-picker-panel-rtl .ant-picker-header-view button:not(:first-child) {\n margin-right: 8px;\n margin-left: 0;\n}\n.ant-picker-rtl.ant-picker-range .ant-picker-clear {\n right: auto;\n left: 11px;\n}\n.ant-picker-rtl.ant-picker-range .ant-picker-active-bar {\n margin-right: 11px;\n margin-left: 0;\n}\n.ant-picker-rtl.ant-picker-range.ant-picker-small .ant-picker-active-bar {\n margin-right: 7px;\n}\n.ant-picker-dropdown-rtl .ant-picker-ranges {\n text-align: right;\n}\n.ant-picker-dropdown-rtl .ant-picker-ranges .ant-picker-ok {\n float: left;\n margin-right: 8px;\n margin-left: 0;\n}\n.ant-picker-panel-rtl {\n direction: rtl;\n}\n.ant-picker-panel-rtl .ant-picker-prev-icon,\n.ant-picker-panel-rtl .ant-picker-super-prev-icon {\n transform: rotate(135deg);\n}\n.ant-picker-panel-rtl .ant-picker-next-icon,\n.ant-picker-panel-rtl .ant-picker-super-next-icon {\n transform: rotate(-45deg);\n}\n.ant-picker-cell .ant-picker-cell-inner {\n position: relative;\n z-index: 2;\n display: inline-block;\n min-width: 24px;\n height: 24px;\n line-height: 24px;\n border-radius: 4px;\n transition: background 0.3s, border 0.3s;\n}\n.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start::before {\n right: 50%;\n left: 0;\n}\n.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end::before {\n right: 0;\n left: 50%;\n}\n.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-end::before {\n right: 50%;\n left: 50%;\n}\n.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after {\n right: 0;\n left: -6px;\n}\n.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after {\n right: -6px;\n left: 0;\n}\n.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-start::after {\n right: 0;\n left: 50%;\n}\n.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-end::after {\n right: 50%;\n left: 0;\n}\n.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner {\n border-radius: 0 4px 4px 0;\n}\n.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner {\n border-radius: 4px 0 0 4px;\n}\n.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):first-child::after,\n.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after,\n.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after,\n.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after {\n right: 6px;\n left: 0;\n border-right: 1px dashed #81aef0;\n border-left: none;\n border-radius: 0 4px 4px 0;\n}\n.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):last-child::after,\n.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after,\n.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after,\n.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after {\n right: 0;\n left: 6px;\n border-right: none;\n border-left: 1px dashed #81aef0;\n border-radius: 4px 0 0 4px;\n}\n.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after,\n.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after,\n.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after,\n.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-end.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after,\n.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-start.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover)::after,\n.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-start:last-child::after,\n.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-end:first-child::after {\n right: 6px;\n left: 6px;\n border-right: 1px dashed #81aef0;\n border-left: 1px dashed #81aef0;\n border-radius: 4px;\n}\n.ant-picker-dropdown-rtl .ant-picker-footer-extra {\n direction: rtl;\n text-align: right;\n}\n.ant-picker-panel-rtl .ant-picker-time-panel {\n direction: ltr;\n}\n.ant-descriptions-header {\n display: flex;\n align-items: center;\n margin-bottom: 20px;\n}\n.ant-descriptions-title {\n flex: auto;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.85);\n font-weight: bold;\n font-size: 16px;\n line-height: 1.5715;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.ant-descriptions-extra {\n margin-left: auto;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n}\n.ant-descriptions-view {\n width: 100%;\n border-radius: 4px;\n}\n.ant-descriptions-view table {\n width: 100%;\n table-layout: fixed;\n}\n.ant-descriptions-row > th,\n.ant-descriptions-row > td {\n padding-bottom: 16px;\n}\n.ant-descriptions-row:last-child {\n border-bottom: none;\n}\n.ant-descriptions-item-label {\n color: rgba(0, 0, 0, 0.85);\n font-weight: normal;\n font-size: 14px;\n line-height: 1.5715;\n text-align: start;\n}\n.ant-descriptions-item-label::after {\n content: ':';\n position: relative;\n top: -0.5px;\n margin: 0 8px 0 2px;\n}\n.ant-descriptions-item-label.ant-descriptions-item-no-colon::after {\n content: ' ';\n}\n.ant-descriptions-item-no-label::after {\n margin: 0;\n content: '';\n}\n.ant-descriptions-item-content {\n display: table-cell;\n flex: 1;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n line-height: 1.5715;\n word-break: break-word;\n overflow-wrap: break-word;\n}\n.ant-descriptions-item {\n padding-bottom: 0;\n vertical-align: top;\n}\n.ant-descriptions-item-container {\n display: flex;\n}\n.ant-descriptions-item-container .ant-descriptions-item-label,\n.ant-descriptions-item-container .ant-descriptions-item-content {\n display: inline-flex;\n align-items: baseline;\n}\n.ant-descriptions-middle .ant-descriptions-row > th,\n.ant-descriptions-middle .ant-descriptions-row > td {\n padding-bottom: 12px;\n}\n.ant-descriptions-small .ant-descriptions-row > th,\n.ant-descriptions-small .ant-descriptions-row > td {\n padding-bottom: 8px;\n}\n.ant-descriptions-bordered .ant-descriptions-view {\n border: 1px solid #f0f0f0;\n}\n.ant-descriptions-bordered .ant-descriptions-view > table {\n table-layout: auto;\n border-collapse: collapse;\n}\n.ant-descriptions-bordered .ant-descriptions-item-label,\n.ant-descriptions-bordered .ant-descriptions-item-content {\n padding: 16px 24px;\n border-right: 1px solid #f0f0f0;\n}\n.ant-descriptions-bordered .ant-descriptions-item-label:last-child,\n.ant-descriptions-bordered .ant-descriptions-item-content:last-child {\n border-right: none;\n}\n.ant-descriptions-bordered .ant-descriptions-item-label {\n background-color: #fafafa;\n}\n.ant-descriptions-bordered .ant-descriptions-item-label::after {\n display: none;\n}\n.ant-descriptions-bordered .ant-descriptions-row {\n border-bottom: 1px solid #f0f0f0;\n}\n.ant-descriptions-bordered .ant-descriptions-row:last-child {\n border-bottom: none;\n}\n.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-label,\n.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-content {\n padding: 12px 24px;\n}\n.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-label,\n.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-content {\n padding: 8px 16px;\n}\n.ant-descriptions-rtl {\n direction: rtl;\n}\n.ant-descriptions-rtl .ant-descriptions-item-label::after {\n margin: 0 2px 0 8px;\n}\n.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label,\n.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content {\n border-right: none;\n border-left: 1px solid #f0f0f0;\n}\n.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label:last-child,\n.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content:last-child {\n border-left: none;\n}\n.ant-divider {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n border-top: 1px solid rgba(0, 0, 0, 0.06);\n}\n.ant-divider-vertical {\n position: relative;\n top: -0.06em;\n display: inline-block;\n height: 0.9em;\n margin: 0 8px;\n vertical-align: middle;\n border-top: 0;\n border-left: 1px solid rgba(0, 0, 0, 0.06);\n}\n.ant-divider-horizontal {\n display: flex;\n clear: both;\n width: 100%;\n min-width: 100%;\n margin: 24px 0;\n}\n.ant-divider-horizontal.ant-divider-with-text {\n display: flex;\n align-items: center;\n margin: 16px 0;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 500;\n font-size: 16px;\n white-space: nowrap;\n text-align: center;\n border-top: 0;\n border-top-color: rgba(0, 0, 0, 0.06);\n}\n.ant-divider-horizontal.ant-divider-with-text::before,\n.ant-divider-horizontal.ant-divider-with-text::after {\n position: relative;\n width: 50%;\n border-top: 1px solid transparent;\n border-top-color: inherit;\n border-bottom: 0;\n transform: translateY(50%);\n content: '';\n}\n.ant-divider-horizontal.ant-divider-with-text-left::before {\n width: 5%;\n}\n.ant-divider-horizontal.ant-divider-with-text-left::after {\n width: 95%;\n}\n.ant-divider-horizontal.ant-divider-with-text-right::before {\n width: 95%;\n}\n.ant-divider-horizontal.ant-divider-with-text-right::after {\n width: 5%;\n}\n.ant-divider-inner-text {\n display: inline-block;\n padding: 0 1em;\n}\n.ant-divider-dashed {\n background: none;\n border-color: rgba(0, 0, 0, 0.06);\n border-style: dashed;\n border-width: 1px 0 0;\n}\n.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::before,\n.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::after {\n border-style: dashed none none;\n}\n.ant-divider-vertical.ant-divider-dashed {\n border-width: 0 0 0 1px;\n}\n.ant-divider-plain.ant-divider-with-text {\n color: rgba(0, 0, 0, 0.85);\n font-weight: normal;\n font-size: 14px;\n}\n.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left::before {\n width: 0;\n}\n.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left::after {\n width: 100%;\n}\n.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left .ant-divider-inner-text {\n padding-left: 0;\n}\n.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right::before {\n width: 100%;\n}\n.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right::after {\n width: 0;\n}\n.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right .ant-divider-inner-text {\n padding-right: 0;\n}\n.ant-divider-rtl {\n direction: rtl;\n}\n.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left::before {\n width: 95%;\n}\n.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left::after {\n width: 5%;\n}\n.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right::before {\n width: 5%;\n}\n.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right::after {\n width: 95%;\n}\n.ant-drawer {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1000;\n pointer-events: none;\n}\n.ant-drawer-inline {\n position: absolute;\n}\n.ant-drawer-mask {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1000;\n background: rgba(0, 0, 0, 0.45);\n pointer-events: auto;\n}\n.ant-drawer-content-wrapper {\n position: absolute;\n z-index: 1000;\n transition: all 0.3s;\n}\n.ant-drawer-content-wrapper-hidden {\n display: none;\n}\n.ant-drawer-left > .ant-drawer-content-wrapper {\n top: 0;\n bottom: 0;\n left: 0;\n box-shadow: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), 12px 0 48px 16px rgba(0, 0, 0, 0.03);\n}\n.ant-drawer-right > .ant-drawer-content-wrapper {\n top: 0;\n right: 0;\n bottom: 0;\n box-shadow: -6px 0 16px -8px rgba(0, 0, 0, 0.08), -9px 0 28px 0 rgba(0, 0, 0, 0.05), -12px 0 48px 16px rgba(0, 0, 0, 0.03);\n}\n.ant-drawer-top > .ant-drawer-content-wrapper {\n top: 0;\n right: 0;\n left: 0;\n box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), 0 12px 48px 16px rgba(0, 0, 0, 0.03);\n}\n.ant-drawer-bottom > .ant-drawer-content-wrapper {\n right: 0;\n bottom: 0;\n left: 0;\n box-shadow: 0 -6px 16px -8px rgba(0, 0, 0, 0.08), 0 -9px 28px 0 rgba(0, 0, 0, 0.05), 0 -12px 48px 16px rgba(0, 0, 0, 0.03);\n}\n.ant-drawer-content {\n width: 100%;\n height: 100%;\n overflow: auto;\n background: #fff;\n pointer-events: auto;\n}\n.ant-drawer-wrapper-body {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n}\n.ant-drawer-header {\n display: flex;\n flex: 0;\n align-items: center;\n padding: 16px 24px;\n font-size: 16px;\n line-height: 22px;\n border-bottom: 1px solid #f0f0f0;\n}\n.ant-drawer-header-title {\n display: flex;\n flex: 1;\n align-items: center;\n min-width: 0;\n min-height: 0;\n}\n.ant-drawer-extra {\n flex: none;\n}\n.ant-drawer-close {\n display: inline-block;\n margin-right: 12px;\n color: rgba(0, 0, 0, 0.45);\n font-weight: 700;\n font-size: 16px;\n font-style: normal;\n line-height: 1;\n text-align: center;\n text-transform: none;\n text-decoration: none;\n background: transparent;\n border: 0;\n outline: 0;\n cursor: pointer;\n transition: color 0.3s;\n text-rendering: auto;\n}\n.ant-drawer-close:focus,\n.ant-drawer-close:hover {\n color: rgba(0, 0, 0, 0.75);\n text-decoration: none;\n}\n.ant-drawer-title {\n flex: 1;\n margin: 0;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 500;\n font-size: 16px;\n line-height: 22px;\n}\n.ant-drawer-body {\n flex: 1;\n min-width: 0;\n min-height: 0;\n padding: 24px;\n overflow: auto;\n}\n.ant-drawer-footer {\n flex-shrink: 0;\n padding: 10px 16px;\n border-top: 1px solid #f0f0f0;\n}\n.panel-motion-enter-start,\n.panel-motion-appear-start,\n.panel-motion-leave-start {\n transition: none;\n}\n.panel-motion-enter-active,\n.panel-motion-appear-active,\n.panel-motion-leave-active {\n transition: all 0.3s;\n}\n.ant-drawer-mask-motion-enter-active,\n.ant-drawer-mask-motion-appear-active,\n.ant-drawer-mask-motion-leave-active {\n transition: all 0.3s;\n}\n.ant-drawer-mask-motion-enter,\n.ant-drawer-mask-motion-appear {\n opacity: 0;\n}\n.ant-drawer-mask-motion-enter-active,\n.ant-drawer-mask-motion-appear-active {\n opacity: 1;\n}\n.ant-drawer-mask-motion-leave {\n opacity: 1;\n}\n.ant-drawer-mask-motion-leave-active {\n opacity: 0;\n}\n.ant-drawer-panel-motion-left-enter-start,\n.ant-drawer-panel-motion-left-appear-start,\n.ant-drawer-panel-motion-left-leave-start {\n transition: none;\n}\n.ant-drawer-panel-motion-left-enter-active,\n.ant-drawer-panel-motion-left-appear-active,\n.ant-drawer-panel-motion-left-leave-active {\n transition: all 0.3s;\n}\n.ant-drawer-panel-motion-left-enter-start,\n.ant-drawer-panel-motion-left-appear-start {\n transform: translateX(-100%) !important;\n}\n.ant-drawer-panel-motion-left-enter-active,\n.ant-drawer-panel-motion-left-appear-active {\n transform: translateX(0);\n}\n.ant-drawer-panel-motion-left-leave {\n transform: translateX(0);\n}\n.ant-drawer-panel-motion-left-leave-active {\n transform: translateX(-100%);\n}\n.ant-drawer-panel-motion-right-enter-start,\n.ant-drawer-panel-motion-right-appear-start,\n.ant-drawer-panel-motion-right-leave-start {\n transition: none;\n}\n.ant-drawer-panel-motion-right-enter-active,\n.ant-drawer-panel-motion-right-appear-active,\n.ant-drawer-panel-motion-right-leave-active {\n transition: all 0.3s;\n}\n.ant-drawer-panel-motion-right-enter-start,\n.ant-drawer-panel-motion-right-appear-start {\n transform: translateX(100%) !important;\n}\n.ant-drawer-panel-motion-right-enter-active,\n.ant-drawer-panel-motion-right-appear-active {\n transform: translateX(0);\n}\n.ant-drawer-panel-motion-right-leave {\n transform: translateX(0);\n}\n.ant-drawer-panel-motion-right-leave-active {\n transform: translateX(100%);\n}\n.ant-drawer-panel-motion-top-enter-start,\n.ant-drawer-panel-motion-top-appear-start,\n.ant-drawer-panel-motion-top-leave-start {\n transition: none;\n}\n.ant-drawer-panel-motion-top-enter-active,\n.ant-drawer-panel-motion-top-appear-active,\n.ant-drawer-panel-motion-top-leave-active {\n transition: all 0.3s;\n}\n.ant-drawer-panel-motion-top-enter-start,\n.ant-drawer-panel-motion-top-appear-start {\n transform: translateY(-100%) !important;\n}\n.ant-drawer-panel-motion-top-enter-active,\n.ant-drawer-panel-motion-top-appear-active {\n transform: translateY(0);\n}\n.ant-drawer-panel-motion-top-leave {\n transform: translateY(0);\n}\n.ant-drawer-panel-motion-top-leave-active {\n transform: translateY(-100%);\n}\n.ant-drawer-panel-motion-bottom-enter-start,\n.ant-drawer-panel-motion-bottom-appear-start,\n.ant-drawer-panel-motion-bottom-leave-start {\n transition: none;\n}\n.ant-drawer-panel-motion-bottom-enter-active,\n.ant-drawer-panel-motion-bottom-appear-active,\n.ant-drawer-panel-motion-bottom-leave-active {\n transition: all 0.3s;\n}\n.ant-drawer-panel-motion-bottom-enter-start,\n.ant-drawer-panel-motion-bottom-appear-start {\n transform: translateY(100%) !important;\n}\n.ant-drawer-panel-motion-bottom-enter-active,\n.ant-drawer-panel-motion-bottom-appear-active {\n transform: translateY(0);\n}\n.ant-drawer-panel-motion-bottom-leave {\n transform: translateY(0);\n}\n.ant-drawer-panel-motion-bottom-leave-active {\n transform: translateY(100%);\n}\n.ant-drawer-rtl {\n direction: rtl;\n}\n.ant-drawer-rtl .ant-drawer-close {\n margin-right: 0;\n margin-left: 12px;\n}\n.ant-dropdown-menu-item.ant-dropdown-menu-item-danger {\n color: #ff4d4f;\n}\n.ant-dropdown-menu-item.ant-dropdown-menu-item-danger:hover {\n color: #fff;\n background-color: #ff4d4f;\n}\n.ant-dropdown {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: absolute;\n top: -9999px;\n left: -9999px;\n z-index: 1050;\n display: block;\n}\n.ant-dropdown::before {\n position: absolute;\n top: -4px;\n right: 0;\n bottom: -4px;\n left: -7px;\n z-index: -9999;\n opacity: 0.0001;\n content: ' ';\n}\n.ant-dropdown-wrap {\n position: relative;\n}\n.ant-dropdown-wrap .ant-btn > .anticon-down {\n font-size: 10px;\n}\n.ant-dropdown-wrap .anticon-down::before {\n transition: transform 0.2s;\n}\n.ant-dropdown-wrap-open .anticon-down::before {\n transform: rotate(180deg);\n}\n.ant-dropdown-hidden,\n.ant-dropdown-menu-hidden,\n.ant-dropdown-menu-submenu-hidden {\n display: none;\n}\n.ant-dropdown-show-arrow.ant-dropdown-placement-topLeft,\n.ant-dropdown-show-arrow.ant-dropdown-placement-top,\n.ant-dropdown-show-arrow.ant-dropdown-placement-topRight {\n padding-bottom: 15.3137085px;\n}\n.ant-dropdown-show-arrow.ant-dropdown-placement-bottomLeft,\n.ant-dropdown-show-arrow.ant-dropdown-placement-bottom,\n.ant-dropdown-show-arrow.ant-dropdown-placement-bottomRight {\n padding-top: 15.3137085px;\n}\n.ant-dropdown-arrow {\n position: absolute;\n z-index: 1;\n display: block;\n width: 11.3137085px;\n height: 11.3137085px;\n border-radius: 0 0 2px;\n pointer-events: none;\n}\n.ant-dropdown-arrow::before {\n position: absolute;\n top: -11.3137085px;\n left: -11.3137085px;\n width: 33.9411255px;\n height: 33.9411255px;\n background: #fff;\n background-repeat: no-repeat;\n background-position: -10px -10px;\n content: '';\n clip-path: inset(33% 33%);\n clip-path: path('M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z');\n}\n.ant-dropdown-placement-top > .ant-dropdown-arrow,\n.ant-dropdown-placement-topLeft > .ant-dropdown-arrow,\n.ant-dropdown-placement-topRight > .ant-dropdown-arrow {\n bottom: 10px;\n box-shadow: 3px 3px 7px -3px rgba(0, 0, 0, 0.1);\n transform: rotate(45deg);\n}\n.ant-dropdown-placement-top > .ant-dropdown-arrow {\n left: 50%;\n transform: translateX(-50%) rotate(45deg);\n}\n.ant-dropdown-placement-topLeft > .ant-dropdown-arrow {\n left: 16px;\n}\n.ant-dropdown-placement-topRight > .ant-dropdown-arrow {\n right: 16px;\n}\n.ant-dropdown-placement-bottom > .ant-dropdown-arrow,\n.ant-dropdown-placement-bottomLeft > .ant-dropdown-arrow,\n.ant-dropdown-placement-bottomRight > .ant-dropdown-arrow {\n top: 9.41421356px;\n box-shadow: 2px 2px 5px -2px rgba(0, 0, 0, 0.1);\n transform: rotate(-135deg) translateY(-0.5px);\n}\n.ant-dropdown-placement-bottom > .ant-dropdown-arrow {\n left: 50%;\n transform: translateX(-50%) rotate(-135deg) translateY(-0.5px);\n}\n.ant-dropdown-placement-bottomLeft > .ant-dropdown-arrow {\n left: 16px;\n}\n.ant-dropdown-placement-bottomRight > .ant-dropdown-arrow {\n right: 16px;\n}\n.ant-dropdown-menu {\n position: relative;\n margin: 0;\n padding: 4px 0;\n text-align: left;\n list-style-type: none;\n background-color: #fff;\n background-clip: padding-box;\n border-radius: 4px;\n outline: none;\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n}\n.ant-dropdown-menu-item-group-title {\n padding: 5px 12px;\n color: rgba(0, 0, 0, 0.45);\n transition: all 0.3s;\n}\n.ant-dropdown-menu-submenu-popup {\n position: absolute;\n z-index: 1050;\n background: transparent;\n box-shadow: none;\n transform-origin: 0 0;\n}\n.ant-dropdown-menu-submenu-popup ul,\n.ant-dropdown-menu-submenu-popup li {\n list-style: none;\n}\n.ant-dropdown-menu-submenu-popup ul {\n margin-right: 0.3em;\n margin-left: 0.3em;\n}\n.ant-dropdown-menu-item {\n position: relative;\n display: flex;\n align-items: center;\n}\n.ant-dropdown-menu-item-icon {\n min-width: 12px;\n margin-right: 8px;\n font-size: 12px;\n}\n.ant-dropdown-menu-title-content {\n flex: auto;\n}\n.ant-dropdown-menu-title-content > a {\n color: inherit;\n transition: all 0.3s;\n}\n.ant-dropdown-menu-title-content > a:hover {\n color: inherit;\n}\n.ant-dropdown-menu-title-content > a::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n content: '';\n}\n.ant-dropdown-menu-item,\n.ant-dropdown-menu-submenu-title {\n clear: both;\n margin: 0;\n padding: 5px 12px;\n color: rgba(0, 0, 0, 0.85);\n font-weight: normal;\n font-size: 14px;\n line-height: 22px;\n cursor: pointer;\n transition: all 0.3s;\n}\n.ant-dropdown-menu-item-selected,\n.ant-dropdown-menu-submenu-title-selected {\n color: #2673e5;\n background-color: #f0f8ff;\n}\n.ant-dropdown-menu-item:hover,\n.ant-dropdown-menu-submenu-title:hover,\n.ant-dropdown-menu-item.ant-dropdown-menu-item-active,\n.ant-dropdown-menu-item.ant-dropdown-menu-submenu-title-active,\n.ant-dropdown-menu-submenu-title.ant-dropdown-menu-item-active,\n.ant-dropdown-menu-submenu-title.ant-dropdown-menu-submenu-title-active {\n background-color: #f5f5f5;\n}\n.ant-dropdown-menu-item.ant-dropdown-menu-item-disabled,\n.ant-dropdown-menu-item.ant-dropdown-menu-submenu-title-disabled,\n.ant-dropdown-menu-submenu-title.ant-dropdown-menu-item-disabled,\n.ant-dropdown-menu-submenu-title.ant-dropdown-menu-submenu-title-disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-dropdown-menu-item.ant-dropdown-menu-item-disabled:hover,\n.ant-dropdown-menu-item.ant-dropdown-menu-submenu-title-disabled:hover,\n.ant-dropdown-menu-submenu-title.ant-dropdown-menu-item-disabled:hover,\n.ant-dropdown-menu-submenu-title.ant-dropdown-menu-submenu-title-disabled:hover {\n color: rgba(0, 0, 0, 0.25);\n background-color: #fff;\n cursor: not-allowed;\n}\n.ant-dropdown-menu-item.ant-dropdown-menu-item-disabled a,\n.ant-dropdown-menu-item.ant-dropdown-menu-submenu-title-disabled a,\n.ant-dropdown-menu-submenu-title.ant-dropdown-menu-item-disabled a,\n.ant-dropdown-menu-submenu-title.ant-dropdown-menu-submenu-title-disabled a {\n pointer-events: none;\n}\n.ant-dropdown-menu-item-divider,\n.ant-dropdown-menu-submenu-title-divider {\n height: 1px;\n margin: 4px 0;\n overflow: hidden;\n line-height: 0;\n background-color: #f0f0f0;\n}\n.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon,\n.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon {\n position: absolute;\n right: 8px;\n}\n.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,\n.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon {\n margin-right: 0 !important;\n color: rgba(0, 0, 0, 0.45);\n font-size: 10px;\n font-style: normal;\n}\n.ant-dropdown-menu-item-group-list {\n margin: 0 8px;\n padding: 0;\n list-style: none;\n}\n.ant-dropdown-menu-submenu-title {\n padding-right: 24px;\n}\n.ant-dropdown-menu-submenu-vertical {\n position: relative;\n}\n.ant-dropdown-menu-submenu-vertical > .ant-dropdown-menu {\n position: absolute;\n top: 0;\n left: 100%;\n min-width: 100%;\n margin-left: 4px;\n transform-origin: 0 0;\n}\n.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,\n.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon {\n color: rgba(0, 0, 0, 0.25);\n background-color: #fff;\n cursor: not-allowed;\n}\n.ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title {\n color: #2673e5;\n}\n.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomLeft,\n.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomLeft,\n.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottom,\n.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottom,\n.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomRight,\n.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomRight {\n animation-name: antSlideUpIn;\n}\n.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topLeft,\n.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topLeft,\n.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-top,\n.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-top,\n.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topRight,\n.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topRight {\n animation-name: antSlideDownIn;\n}\n.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomLeft,\n.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottom,\n.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomRight {\n animation-name: antSlideUpOut;\n}\n.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topLeft,\n.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-top,\n.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topRight {\n animation-name: antSlideDownOut;\n}\n.ant-dropdown-trigger > .anticon.anticon-down,\n.ant-dropdown-link > .anticon.anticon-down,\n.ant-dropdown-button > .anticon.anticon-down {\n font-size: 10px;\n vertical-align: baseline;\n}\n.ant-dropdown-button {\n white-space: nowrap;\n}\n.ant-dropdown-button.ant-btn-group > .ant-btn-loading,\n.ant-dropdown-button.ant-btn-group > .ant-btn-loading + .ant-btn {\n cursor: default;\n pointer-events: none;\n}\n.ant-dropdown-button.ant-btn-group > .ant-btn-loading + .ant-btn::before {\n display: block;\n}\n.ant-dropdown-button.ant-btn-group > .ant-btn:last-child:not(:first-child):not(.ant-btn-icon-only) {\n padding-right: 8px;\n padding-left: 8px;\n}\n.ant-dropdown-menu-dark,\n.ant-dropdown-menu-dark .ant-dropdown-menu {\n background: #001529;\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item,\n.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > a,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a {\n color: rgba(255, 255, 255, 0.65);\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow::after,\n.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow::after,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > a .ant-dropdown-menu-submenu-arrow::after,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a .ant-dropdown-menu-submenu-arrow::after {\n color: rgba(255, 255, 255, 0.65);\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover,\n.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > a:hover,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a:hover {\n color: #fff;\n background: transparent;\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected > a {\n color: #fff;\n background: #2673e5;\n}\n.ant-dropdown-rtl {\n direction: rtl;\n}\n.ant-dropdown-rtl.ant-dropdown::before {\n right: -7px;\n left: 0;\n}\n.ant-dropdown-menu.ant-dropdown-menu-rtl {\n direction: rtl;\n text-align: right;\n}\n.ant-dropdown-rtl .ant-dropdown-menu-item-group-title,\n.ant-dropdown-menu-submenu-rtl .ant-dropdown-menu-item-group-title {\n direction: rtl;\n text-align: right;\n}\n.ant-dropdown-menu-submenu-popup.ant-dropdown-menu-submenu-rtl {\n transform-origin: 100% 0;\n}\n.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup ul,\n.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup li {\n text-align: right;\n}\n.ant-dropdown-rtl .ant-dropdown-menu-item,\n.ant-dropdown-rtl .ant-dropdown-menu-submenu-title {\n text-align: right;\n}\n.ant-dropdown-rtl .ant-dropdown-menu-item > .anticon:first-child,\n.ant-dropdown-rtl .ant-dropdown-menu-submenu-title > .anticon:first-child,\n.ant-dropdown-rtl .ant-dropdown-menu-item > span > .anticon:first-child,\n.ant-dropdown-rtl .ant-dropdown-menu-submenu-title > span > .anticon:first-child {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon,\n.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon {\n right: auto;\n left: 8px;\n}\n.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,\n.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon {\n margin-left: 0 !important;\n transform: scaleX(-1);\n}\n.ant-dropdown-rtl .ant-dropdown-menu-submenu-title {\n padding-right: 12px;\n padding-left: 24px;\n}\n.ant-dropdown-rtl .ant-dropdown-menu-submenu-vertical > .ant-dropdown-menu {\n right: 100%;\n left: 0;\n margin-right: 4px;\n margin-left: 0;\n}\n.ant-empty {\n margin: 0 8px;\n font-size: 14px;\n line-height: 1.5715;\n text-align: center;\n}\n.ant-empty-image {\n height: 100px;\n margin-bottom: 8px;\n}\n.ant-empty-image img {\n height: 100%;\n}\n.ant-empty-image svg {\n height: 100%;\n margin: auto;\n}\n.ant-empty-footer {\n margin-top: 16px;\n}\n.ant-empty-normal {\n margin: 32px 0;\n color: rgba(0, 0, 0, 0.25);\n}\n.ant-empty-normal .ant-empty-image {\n height: 40px;\n}\n.ant-empty-small {\n margin: 8px 0;\n color: rgba(0, 0, 0, 0.25);\n}\n.ant-empty-small .ant-empty-image {\n height: 35px;\n}\n.ant-empty-img-default-ellipse {\n fill: #f5f5f5;\n fill-opacity: 0.8;\n}\n.ant-empty-img-default-path-1 {\n fill: #aeb8c2;\n}\n.ant-empty-img-default-path-2 {\n fill: url('#linearGradient-1');\n}\n.ant-empty-img-default-path-3 {\n fill: #f5f5f7;\n}\n.ant-empty-img-default-path-4 {\n fill: #dce0e6;\n}\n.ant-empty-img-default-path-5 {\n fill: #dce0e6;\n}\n.ant-empty-img-default-g {\n fill: #fff;\n}\n.ant-empty-img-simple-ellipse {\n fill: #f5f5f5;\n}\n.ant-empty-img-simple-g {\n stroke: #d9d9d9;\n}\n.ant-empty-img-simple-path {\n fill: #fafafa;\n}\n.ant-empty-rtl {\n direction: rtl;\n}\n.ant-form-item .ant-input-number + .ant-form-text {\n margin-left: 8px;\n}\n.ant-form-inline {\n display: flex;\n flex-wrap: wrap;\n}\n.ant-form-inline .ant-form-item {\n flex: none;\n flex-wrap: nowrap;\n margin-right: 16px;\n margin-bottom: 0;\n}\n.ant-form-inline .ant-form-item-with-help {\n margin-bottom: 24px;\n}\n.ant-form-inline .ant-form-item > .ant-form-item-label,\n.ant-form-inline .ant-form-item > .ant-form-item-control {\n display: inline-block;\n vertical-align: top;\n}\n.ant-form-inline .ant-form-item > .ant-form-item-label {\n flex: none;\n}\n.ant-form-inline .ant-form-item .ant-form-text {\n display: inline-block;\n}\n.ant-form-inline .ant-form-item .ant-form-item-has-feedback {\n display: inline-block;\n}\n.ant-form-horizontal .ant-form-item-label {\n flex-grow: 0;\n}\n.ant-form-horizontal .ant-form-item-control {\n flex: 1 1 0;\n min-width: 0;\n}\n.ant-form-horizontal .ant-form-item-label[class$='-24'] + .ant-form-item-control,\n.ant-form-horizontal .ant-form-item-label[class*='-24 '] + .ant-form-item-control {\n min-width: unset;\n}\n.ant-form-vertical .ant-form-item-row {\n flex-direction: column;\n}\n.ant-form-vertical .ant-form-item-label > label {\n height: auto;\n}\n.ant-form-vertical .ant-form-item .ant-form-item-control {\n width: 100%;\n}\n.ant-form-vertical .ant-form-item-label,\n.ant-col-24.ant-form-item-label,\n.ant-col-xl-24.ant-form-item-label {\n padding: 0 0 8px;\n line-height: 1.5715;\n white-space: initial;\n text-align: left;\n}\n.ant-form-vertical .ant-form-item-label > label,\n.ant-col-24.ant-form-item-label > label,\n.ant-col-xl-24.ant-form-item-label > label {\n margin: 0;\n}\n.ant-form-vertical .ant-form-item-label > label::after,\n.ant-col-24.ant-form-item-label > label::after,\n.ant-col-xl-24.ant-form-item-label > label::after {\n display: none;\n}\n.ant-form-rtl.ant-form-vertical .ant-form-item-label,\n.ant-form-rtl.ant-col-24.ant-form-item-label,\n.ant-form-rtl.ant-col-xl-24.ant-form-item-label {\n text-align: right;\n}\n@media (max-width: 575px) {\n .ant-form-item .ant-form-item-label {\n padding: 0 0 8px;\n line-height: 1.5715;\n white-space: initial;\n text-align: left;\n }\n .ant-form-item .ant-form-item-label > label {\n margin: 0;\n }\n .ant-form-item .ant-form-item-label > label::after {\n display: none;\n }\n .ant-form-rtl.ant-form-item .ant-form-item-label {\n text-align: right;\n }\n .ant-form .ant-form-item {\n flex-wrap: wrap;\n }\n .ant-form .ant-form-item .ant-form-item-label,\n .ant-form .ant-form-item .ant-form-item-control {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .ant-col-xs-24.ant-form-item-label {\n padding: 0 0 8px;\n line-height: 1.5715;\n white-space: initial;\n text-align: left;\n }\n .ant-col-xs-24.ant-form-item-label > label {\n margin: 0;\n }\n .ant-col-xs-24.ant-form-item-label > label::after {\n display: none;\n }\n .ant-form-rtl.ant-col-xs-24.ant-form-item-label {\n text-align: right;\n }\n}\n@media (max-width: 767px) {\n .ant-col-sm-24.ant-form-item-label {\n padding: 0 0 8px;\n line-height: 1.5715;\n white-space: initial;\n text-align: left;\n }\n .ant-col-sm-24.ant-form-item-label > label {\n margin: 0;\n }\n .ant-col-sm-24.ant-form-item-label > label::after {\n display: none;\n }\n .ant-form-rtl.ant-col-sm-24.ant-form-item-label {\n text-align: right;\n }\n}\n@media (max-width: 991px) {\n .ant-col-md-24.ant-form-item-label {\n padding: 0 0 8px;\n line-height: 1.5715;\n white-space: initial;\n text-align: left;\n }\n .ant-col-md-24.ant-form-item-label > label {\n margin: 0;\n }\n .ant-col-md-24.ant-form-item-label > label::after {\n display: none;\n }\n .ant-form-rtl.ant-col-md-24.ant-form-item-label {\n text-align: right;\n }\n}\n@media (max-width: 1199px) {\n .ant-col-lg-24.ant-form-item-label {\n padding: 0 0 8px;\n line-height: 1.5715;\n white-space: initial;\n text-align: left;\n }\n .ant-col-lg-24.ant-form-item-label > label {\n margin: 0;\n }\n .ant-col-lg-24.ant-form-item-label > label::after {\n display: none;\n }\n .ant-form-rtl.ant-col-lg-24.ant-form-item-label {\n text-align: right;\n }\n}\n@media (max-width: 1599px) {\n .ant-col-xl-24.ant-form-item-label {\n padding: 0 0 8px;\n line-height: 1.5715;\n white-space: initial;\n text-align: left;\n }\n .ant-col-xl-24.ant-form-item-label > label {\n margin: 0;\n }\n .ant-col-xl-24.ant-form-item-label > label::after {\n display: none;\n }\n .ant-form-rtl.ant-col-xl-24.ant-form-item-label {\n text-align: right;\n }\n}\n.ant-form-item {\n /* Some non-status related component style is in \`components.less\` */\n /* To support leave along ErrorList. We add additional className to handle explain style */\n}\n.ant-form-item-explain-error {\n color: #ff4d4f;\n}\n.ant-form-item-explain-warning {\n color: #faad14;\n}\n.ant-form-item-has-feedback .ant-switch {\n margin: 2px 0 4px;\n}\n.ant-form-item-has-warning .ant-form-item-split {\n color: #faad14;\n}\n.ant-form-item-has-error .ant-form-item-split {\n color: #ff4d4f;\n}\n.ant-form {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n}\n.ant-form legend {\n display: block;\n width: 100%;\n margin-bottom: 20px;\n padding: 0;\n color: rgba(0, 0, 0, 0.45);\n font-size: 16px;\n line-height: inherit;\n border: 0;\n border-bottom: 1px solid #d9d9d9;\n}\n.ant-form label {\n font-size: 14px;\n}\n.ant-form input[type='search'] {\n box-sizing: border-box;\n}\n.ant-form input[type='radio'],\n.ant-form input[type='checkbox'] {\n line-height: normal;\n}\n.ant-form input[type='file'] {\n display: block;\n}\n.ant-form input[type='range'] {\n display: block;\n width: 100%;\n}\n.ant-form select[multiple],\n.ant-form select[size] {\n height: auto;\n}\n.ant-form input[type='file']:focus,\n.ant-form input[type='radio']:focus,\n.ant-form input[type='checkbox']:focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.ant-form output {\n display: block;\n padding-top: 15px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n line-height: 1.5715;\n}\n.ant-form .ant-form-text {\n display: inline-block;\n padding-right: 8px;\n}\n.ant-form-small .ant-form-item-label > label {\n height: 24px;\n}\n.ant-form-small .ant-form-item-control-input {\n min-height: 24px;\n}\n.ant-form-large .ant-form-item-label > label {\n height: 40px;\n}\n.ant-form-large .ant-form-item-control-input {\n min-height: 40px;\n}\n.ant-form-item {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n margin-bottom: 24px;\n vertical-align: top;\n}\n.ant-form-item-with-help {\n transition: none;\n}\n.ant-form-item-hidden,\n.ant-form-item-hidden.ant-row {\n display: none;\n}\n.ant-form-item-label {\n display: inline-block;\n flex-grow: 0;\n overflow: hidden;\n white-space: nowrap;\n text-align: right;\n vertical-align: middle;\n}\n.ant-form-item-label-left {\n text-align: left;\n}\n.ant-form-item-label-wrap {\n overflow: unset;\n line-height: 1.3215em;\n white-space: unset;\n}\n.ant-form-item-label > label {\n position: relative;\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n height: 32px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n}\n.ant-form-item-label > label > .anticon {\n font-size: 14px;\n vertical-align: top;\n}\n.ant-form-item-label > label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {\n display: inline-block;\n margin-right: 4px;\n color: #ff4d4f;\n font-size: 14px;\n font-family: SimSun, sans-serif;\n line-height: 1;\n content: '*';\n}\n.ant-form-hide-required-mark .ant-form-item-label > label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {\n display: none;\n}\n.ant-form-item-label > label .ant-form-item-optional {\n display: inline-block;\n margin-left: 4px;\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-form-hide-required-mark .ant-form-item-label > label .ant-form-item-optional {\n display: none;\n}\n.ant-form-item-label > label .ant-form-item-tooltip {\n color: rgba(0, 0, 0, 0.45);\n cursor: help;\n writing-mode: horizontal-tb;\n margin-inline-start: 4px;\n}\n.ant-form-item-label > label::after {\n content: ':';\n position: relative;\n top: -0.5px;\n margin: 0 8px 0 2px;\n}\n.ant-form-item-label > label.ant-form-item-no-colon::after {\n content: ' ';\n}\n.ant-form-item-control {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n.ant-form-item-control:first-child:not([class^='ant-col-']):not([class*=' ant-col-']) {\n width: 100%;\n}\n.ant-form-item-control-input {\n position: relative;\n display: flex;\n align-items: center;\n min-height: 32px;\n}\n.ant-form-item-control-input-content {\n flex: auto;\n max-width: 100%;\n}\n.ant-form-item-explain,\n.ant-form-item-extra {\n clear: both;\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n line-height: 1.5715;\n transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n.ant-form-item-explain-connected {\n width: 100%;\n}\n.ant-form-item-extra {\n min-height: 24px;\n}\n.ant-form-item-with-help .ant-form-item-explain {\n height: auto;\n opacity: 1;\n}\n.ant-form-item-feedback-icon {\n font-size: 14px;\n text-align: center;\n visibility: visible;\n animation: zoomIn 0.3s cubic-bezier(0.12, 0.4, 0.29, 1.46);\n pointer-events: none;\n}\n.ant-form-item-feedback-icon-success {\n color: #52c41a;\n}\n.ant-form-item-feedback-icon-error {\n color: #ff4d4f;\n}\n.ant-form-item-feedback-icon-warning {\n color: #faad14;\n}\n.ant-form-item-feedback-icon-validating {\n color: #2673e5;\n}\n.ant-show-help {\n transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-show-help-appear,\n.ant-show-help-enter {\n opacity: 0;\n}\n.ant-show-help-appear-active,\n.ant-show-help-enter-active {\n opacity: 1;\n}\n.ant-show-help-leave {\n opacity: 1;\n}\n.ant-show-help-leave-active {\n opacity: 0;\n}\n.ant-show-help-item {\n overflow: hidden;\n transition: height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) !important;\n}\n.ant-show-help-item-appear,\n.ant-show-help-item-enter {\n transform: translateY(-5px);\n opacity: 0;\n}\n.ant-show-help-item-appear-active,\n.ant-show-help-item-enter-active {\n transform: translateY(0);\n opacity: 1;\n}\n.ant-show-help-item-leave {\n transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important;\n}\n.ant-show-help-item-leave-active {\n transform: translateY(-5px);\n}\n@keyframes diffZoomIn1 {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes diffZoomIn2 {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes diffZoomIn3 {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n.ant-form-rtl {\n direction: rtl;\n}\n.ant-form-rtl .ant-form-item-label {\n text-align: left;\n}\n.ant-form-rtl .ant-form-item-label > label.ant-form-item-required::before {\n margin-right: 0;\n margin-left: 4px;\n}\n.ant-form-rtl .ant-form-item-label > label::after {\n margin: 0 2px 0 8px;\n}\n.ant-form-rtl .ant-form-item-label > label .ant-form-item-optional {\n margin-right: 4px;\n margin-left: 0;\n}\n.ant-col-rtl .ant-form-item-control:first-child {\n width: 100%;\n}\n.ant-form-rtl .ant-form-item-has-feedback .ant-input {\n padding-right: 11px;\n padding-left: 24px;\n}\n.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input-suffix {\n padding-right: 11px;\n padding-left: 18px;\n}\n.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input {\n padding: 0;\n}\n.ant-form-rtl .ant-form-item-has-feedback .ant-input-number-affix-wrapper .ant-input-number {\n padding: 0;\n}\n.ant-form-rtl .ant-form-item-has-feedback .ant-input-search:not(.ant-input-search-enter-button) .ant-input-suffix {\n right: auto;\n left: 28px;\n}\n.ant-form-rtl .ant-form-item-has-feedback .ant-input-number {\n padding-left: 18px;\n}\n.ant-form-rtl .ant-form-item-has-feedback > .ant-select .ant-select-arrow,\n.ant-form-rtl .ant-form-item-has-feedback > .ant-select .ant-select-clear,\n.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon) > .ant-select .ant-select-arrow,\n.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon) > .ant-select .ant-select-clear,\n.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-number-group-addon) > .ant-select .ant-select-arrow,\n.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-number-group-addon) > .ant-select .ant-select-clear {\n right: auto;\n left: 32px;\n}\n.ant-form-rtl .ant-form-item-has-feedback > .ant-select .ant-select-selection-selected-value,\n.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon) > .ant-select .ant-select-selection-selected-value,\n.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-number-group-addon) > .ant-select .ant-select-selection-selected-value {\n padding-right: 0;\n padding-left: 42px;\n}\n.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-arrow {\n margin-right: 0;\n margin-left: 19px;\n}\n.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-clear {\n right: auto;\n left: 32px;\n}\n.ant-form-rtl .ant-form-item-has-feedback .ant-picker {\n padding-right: 11px;\n padding-left: 29.2px;\n}\n.ant-form-rtl .ant-form-item-has-feedback .ant-picker-large {\n padding-right: 11px;\n padding-left: 29.2px;\n}\n.ant-form-rtl .ant-form-item-has-feedback .ant-picker-small {\n padding-right: 7px;\n padding-left: 25.2px;\n}\n.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-success .ant-form-item-children-icon,\n.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-warning .ant-form-item-children-icon,\n.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-error .ant-form-item-children-icon,\n.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-is-validating .ant-form-item-children-icon {\n right: auto;\n left: 0;\n}\n.ant-form-rtl.ant-form-inline .ant-form-item {\n margin-right: 0;\n margin-left: 16px;\n}\n.ant-row {\n display: flex;\n flex-flow: row wrap;\n min-width: 0;\n}\n.ant-row::before,\n.ant-row::after {\n display: flex;\n}\n.ant-row-no-wrap {\n flex-wrap: nowrap;\n}\n.ant-row-start {\n justify-content: flex-start;\n}\n.ant-row-center {\n justify-content: center;\n}\n.ant-row-end {\n justify-content: flex-end;\n}\n.ant-row-space-between {\n justify-content: space-between;\n}\n.ant-row-space-around {\n justify-content: space-around;\n}\n.ant-row-space-evenly {\n justify-content: space-evenly;\n}\n.ant-row-top {\n align-items: flex-start;\n}\n.ant-row-middle {\n align-items: center;\n}\n.ant-row-bottom {\n align-items: flex-end;\n}\n.ant-col {\n position: relative;\n max-width: 100%;\n min-height: 1px;\n}\n.ant-col-24 {\n display: block;\n flex: 0 0 100%;\n max-width: 100%;\n}\n.ant-col-push-24 {\n left: 100%;\n}\n.ant-col-pull-24 {\n right: 100%;\n}\n.ant-col-offset-24 {\n margin-left: 100%;\n}\n.ant-col-order-24 {\n order: 24;\n}\n.ant-col-23 {\n display: block;\n flex: 0 0 95.83333333%;\n max-width: 95.83333333%;\n}\n.ant-col-push-23 {\n left: 95.83333333%;\n}\n.ant-col-pull-23 {\n right: 95.83333333%;\n}\n.ant-col-offset-23 {\n margin-left: 95.83333333%;\n}\n.ant-col-order-23 {\n order: 23;\n}\n.ant-col-22 {\n display: block;\n flex: 0 0 91.66666667%;\n max-width: 91.66666667%;\n}\n.ant-col-push-22 {\n left: 91.66666667%;\n}\n.ant-col-pull-22 {\n right: 91.66666667%;\n}\n.ant-col-offset-22 {\n margin-left: 91.66666667%;\n}\n.ant-col-order-22 {\n order: 22;\n}\n.ant-col-21 {\n display: block;\n flex: 0 0 87.5%;\n max-width: 87.5%;\n}\n.ant-col-push-21 {\n left: 87.5%;\n}\n.ant-col-pull-21 {\n right: 87.5%;\n}\n.ant-col-offset-21 {\n margin-left: 87.5%;\n}\n.ant-col-order-21 {\n order: 21;\n}\n.ant-col-20 {\n display: block;\n flex: 0 0 83.33333333%;\n max-width: 83.33333333%;\n}\n.ant-col-push-20 {\n left: 83.33333333%;\n}\n.ant-col-pull-20 {\n right: 83.33333333%;\n}\n.ant-col-offset-20 {\n margin-left: 83.33333333%;\n}\n.ant-col-order-20 {\n order: 20;\n}\n.ant-col-19 {\n display: block;\n flex: 0 0 79.16666667%;\n max-width: 79.16666667%;\n}\n.ant-col-push-19 {\n left: 79.16666667%;\n}\n.ant-col-pull-19 {\n right: 79.16666667%;\n}\n.ant-col-offset-19 {\n margin-left: 79.16666667%;\n}\n.ant-col-order-19 {\n order: 19;\n}\n.ant-col-18 {\n display: block;\n flex: 0 0 75%;\n max-width: 75%;\n}\n.ant-col-push-18 {\n left: 75%;\n}\n.ant-col-pull-18 {\n right: 75%;\n}\n.ant-col-offset-18 {\n margin-left: 75%;\n}\n.ant-col-order-18 {\n order: 18;\n}\n.ant-col-17 {\n display: block;\n flex: 0 0 70.83333333%;\n max-width: 70.83333333%;\n}\n.ant-col-push-17 {\n left: 70.83333333%;\n}\n.ant-col-pull-17 {\n right: 70.83333333%;\n}\n.ant-col-offset-17 {\n margin-left: 70.83333333%;\n}\n.ant-col-order-17 {\n order: 17;\n}\n.ant-col-16 {\n display: block;\n flex: 0 0 66.66666667%;\n max-width: 66.66666667%;\n}\n.ant-col-push-16 {\n left: 66.66666667%;\n}\n.ant-col-pull-16 {\n right: 66.66666667%;\n}\n.ant-col-offset-16 {\n margin-left: 66.66666667%;\n}\n.ant-col-order-16 {\n order: 16;\n}\n.ant-col-15 {\n display: block;\n flex: 0 0 62.5%;\n max-width: 62.5%;\n}\n.ant-col-push-15 {\n left: 62.5%;\n}\n.ant-col-pull-15 {\n right: 62.5%;\n}\n.ant-col-offset-15 {\n margin-left: 62.5%;\n}\n.ant-col-order-15 {\n order: 15;\n}\n.ant-col-14 {\n display: block;\n flex: 0 0 58.33333333%;\n max-width: 58.33333333%;\n}\n.ant-col-push-14 {\n left: 58.33333333%;\n}\n.ant-col-pull-14 {\n right: 58.33333333%;\n}\n.ant-col-offset-14 {\n margin-left: 58.33333333%;\n}\n.ant-col-order-14 {\n order: 14;\n}\n.ant-col-13 {\n display: block;\n flex: 0 0 54.16666667%;\n max-width: 54.16666667%;\n}\n.ant-col-push-13 {\n left: 54.16666667%;\n}\n.ant-col-pull-13 {\n right: 54.16666667%;\n}\n.ant-col-offset-13 {\n margin-left: 54.16666667%;\n}\n.ant-col-order-13 {\n order: 13;\n}\n.ant-col-12 {\n display: block;\n flex: 0 0 50%;\n max-width: 50%;\n}\n.ant-col-push-12 {\n left: 50%;\n}\n.ant-col-pull-12 {\n right: 50%;\n}\n.ant-col-offset-12 {\n margin-left: 50%;\n}\n.ant-col-order-12 {\n order: 12;\n}\n.ant-col-11 {\n display: block;\n flex: 0 0 45.83333333%;\n max-width: 45.83333333%;\n}\n.ant-col-push-11 {\n left: 45.83333333%;\n}\n.ant-col-pull-11 {\n right: 45.83333333%;\n}\n.ant-col-offset-11 {\n margin-left: 45.83333333%;\n}\n.ant-col-order-11 {\n order: 11;\n}\n.ant-col-10 {\n display: block;\n flex: 0 0 41.66666667%;\n max-width: 41.66666667%;\n}\n.ant-col-push-10 {\n left: 41.66666667%;\n}\n.ant-col-pull-10 {\n right: 41.66666667%;\n}\n.ant-col-offset-10 {\n margin-left: 41.66666667%;\n}\n.ant-col-order-10 {\n order: 10;\n}\n.ant-col-9 {\n display: block;\n flex: 0 0 37.5%;\n max-width: 37.5%;\n}\n.ant-col-push-9 {\n left: 37.5%;\n}\n.ant-col-pull-9 {\n right: 37.5%;\n}\n.ant-col-offset-9 {\n margin-left: 37.5%;\n}\n.ant-col-order-9 {\n order: 9;\n}\n.ant-col-8 {\n display: block;\n flex: 0 0 33.33333333%;\n max-width: 33.33333333%;\n}\n.ant-col-push-8 {\n left: 33.33333333%;\n}\n.ant-col-pull-8 {\n right: 33.33333333%;\n}\n.ant-col-offset-8 {\n margin-left: 33.33333333%;\n}\n.ant-col-order-8 {\n order: 8;\n}\n.ant-col-7 {\n display: block;\n flex: 0 0 29.16666667%;\n max-width: 29.16666667%;\n}\n.ant-col-push-7 {\n left: 29.16666667%;\n}\n.ant-col-pull-7 {\n right: 29.16666667%;\n}\n.ant-col-offset-7 {\n margin-left: 29.16666667%;\n}\n.ant-col-order-7 {\n order: 7;\n}\n.ant-col-6 {\n display: block;\n flex: 0 0 25%;\n max-width: 25%;\n}\n.ant-col-push-6 {\n left: 25%;\n}\n.ant-col-pull-6 {\n right: 25%;\n}\n.ant-col-offset-6 {\n margin-left: 25%;\n}\n.ant-col-order-6 {\n order: 6;\n}\n.ant-col-5 {\n display: block;\n flex: 0 0 20.83333333%;\n max-width: 20.83333333%;\n}\n.ant-col-push-5 {\n left: 20.83333333%;\n}\n.ant-col-pull-5 {\n right: 20.83333333%;\n}\n.ant-col-offset-5 {\n margin-left: 20.83333333%;\n}\n.ant-col-order-5 {\n order: 5;\n}\n.ant-col-4 {\n display: block;\n flex: 0 0 16.66666667%;\n max-width: 16.66666667%;\n}\n.ant-col-push-4 {\n left: 16.66666667%;\n}\n.ant-col-pull-4 {\n right: 16.66666667%;\n}\n.ant-col-offset-4 {\n margin-left: 16.66666667%;\n}\n.ant-col-order-4 {\n order: 4;\n}\n.ant-col-3 {\n display: block;\n flex: 0 0 12.5%;\n max-width: 12.5%;\n}\n.ant-col-push-3 {\n left: 12.5%;\n}\n.ant-col-pull-3 {\n right: 12.5%;\n}\n.ant-col-offset-3 {\n margin-left: 12.5%;\n}\n.ant-col-order-3 {\n order: 3;\n}\n.ant-col-2 {\n display: block;\n flex: 0 0 8.33333333%;\n max-width: 8.33333333%;\n}\n.ant-col-push-2 {\n left: 8.33333333%;\n}\n.ant-col-pull-2 {\n right: 8.33333333%;\n}\n.ant-col-offset-2 {\n margin-left: 8.33333333%;\n}\n.ant-col-order-2 {\n order: 2;\n}\n.ant-col-1 {\n display: block;\n flex: 0 0 4.16666667%;\n max-width: 4.16666667%;\n}\n.ant-col-push-1 {\n left: 4.16666667%;\n}\n.ant-col-pull-1 {\n right: 4.16666667%;\n}\n.ant-col-offset-1 {\n margin-left: 4.16666667%;\n}\n.ant-col-order-1 {\n order: 1;\n}\n.ant-col-0 {\n display: none;\n}\n.ant-col-push-0 {\n left: auto;\n}\n.ant-col-pull-0 {\n right: auto;\n}\n.ant-col-push-0 {\n left: auto;\n}\n.ant-col-pull-0 {\n right: auto;\n}\n.ant-col-offset-0 {\n margin-left: 0;\n}\n.ant-col-order-0 {\n order: 0;\n}\n.ant-col-push-0.ant-col-rtl {\n right: auto;\n}\n.ant-col-pull-0.ant-col-rtl {\n left: auto;\n}\n.ant-col-push-0.ant-col-rtl {\n right: auto;\n}\n.ant-col-pull-0.ant-col-rtl {\n left: auto;\n}\n.ant-col-offset-0.ant-col-rtl {\n margin-right: 0;\n}\n.ant-col-push-1.ant-col-rtl {\n right: 4.16666667%;\n left: auto;\n}\n.ant-col-pull-1.ant-col-rtl {\n right: auto;\n left: 4.16666667%;\n}\n.ant-col-offset-1.ant-col-rtl {\n margin-right: 4.16666667%;\n margin-left: 0;\n}\n.ant-col-push-2.ant-col-rtl {\n right: 8.33333333%;\n left: auto;\n}\n.ant-col-pull-2.ant-col-rtl {\n right: auto;\n left: 8.33333333%;\n}\n.ant-col-offset-2.ant-col-rtl {\n margin-right: 8.33333333%;\n margin-left: 0;\n}\n.ant-col-push-3.ant-col-rtl {\n right: 12.5%;\n left: auto;\n}\n.ant-col-pull-3.ant-col-rtl {\n right: auto;\n left: 12.5%;\n}\n.ant-col-offset-3.ant-col-rtl {\n margin-right: 12.5%;\n margin-left: 0;\n}\n.ant-col-push-4.ant-col-rtl {\n right: 16.66666667%;\n left: auto;\n}\n.ant-col-pull-4.ant-col-rtl {\n right: auto;\n left: 16.66666667%;\n}\n.ant-col-offset-4.ant-col-rtl {\n margin-right: 16.66666667%;\n margin-left: 0;\n}\n.ant-col-push-5.ant-col-rtl {\n right: 20.83333333%;\n left: auto;\n}\n.ant-col-pull-5.ant-col-rtl {\n right: auto;\n left: 20.83333333%;\n}\n.ant-col-offset-5.ant-col-rtl {\n margin-right: 20.83333333%;\n margin-left: 0;\n}\n.ant-col-push-6.ant-col-rtl {\n right: 25%;\n left: auto;\n}\n.ant-col-pull-6.ant-col-rtl {\n right: auto;\n left: 25%;\n}\n.ant-col-offset-6.ant-col-rtl {\n margin-right: 25%;\n margin-left: 0;\n}\n.ant-col-push-7.ant-col-rtl {\n right: 29.16666667%;\n left: auto;\n}\n.ant-col-pull-7.ant-col-rtl {\n right: auto;\n left: 29.16666667%;\n}\n.ant-col-offset-7.ant-col-rtl {\n margin-right: 29.16666667%;\n margin-left: 0;\n}\n.ant-col-push-8.ant-col-rtl {\n right: 33.33333333%;\n left: auto;\n}\n.ant-col-pull-8.ant-col-rtl {\n right: auto;\n left: 33.33333333%;\n}\n.ant-col-offset-8.ant-col-rtl {\n margin-right: 33.33333333%;\n margin-left: 0;\n}\n.ant-col-push-9.ant-col-rtl {\n right: 37.5%;\n left: auto;\n}\n.ant-col-pull-9.ant-col-rtl {\n right: auto;\n left: 37.5%;\n}\n.ant-col-offset-9.ant-col-rtl {\n margin-right: 37.5%;\n margin-left: 0;\n}\n.ant-col-push-10.ant-col-rtl {\n right: 41.66666667%;\n left: auto;\n}\n.ant-col-pull-10.ant-col-rtl {\n right: auto;\n left: 41.66666667%;\n}\n.ant-col-offset-10.ant-col-rtl {\n margin-right: 41.66666667%;\n margin-left: 0;\n}\n.ant-col-push-11.ant-col-rtl {\n right: 45.83333333%;\n left: auto;\n}\n.ant-col-pull-11.ant-col-rtl {\n right: auto;\n left: 45.83333333%;\n}\n.ant-col-offset-11.ant-col-rtl {\n margin-right: 45.83333333%;\n margin-left: 0;\n}\n.ant-col-push-12.ant-col-rtl {\n right: 50%;\n left: auto;\n}\n.ant-col-pull-12.ant-col-rtl {\n right: auto;\n left: 50%;\n}\n.ant-col-offset-12.ant-col-rtl {\n margin-right: 50%;\n margin-left: 0;\n}\n.ant-col-push-13.ant-col-rtl {\n right: 54.16666667%;\n left: auto;\n}\n.ant-col-pull-13.ant-col-rtl {\n right: auto;\n left: 54.16666667%;\n}\n.ant-col-offset-13.ant-col-rtl {\n margin-right: 54.16666667%;\n margin-left: 0;\n}\n.ant-col-push-14.ant-col-rtl {\n right: 58.33333333%;\n left: auto;\n}\n.ant-col-pull-14.ant-col-rtl {\n right: auto;\n left: 58.33333333%;\n}\n.ant-col-offset-14.ant-col-rtl {\n margin-right: 58.33333333%;\n margin-left: 0;\n}\n.ant-col-push-15.ant-col-rtl {\n right: 62.5%;\n left: auto;\n}\n.ant-col-pull-15.ant-col-rtl {\n right: auto;\n left: 62.5%;\n}\n.ant-col-offset-15.ant-col-rtl {\n margin-right: 62.5%;\n margin-left: 0;\n}\n.ant-col-push-16.ant-col-rtl {\n right: 66.66666667%;\n left: auto;\n}\n.ant-col-pull-16.ant-col-rtl {\n right: auto;\n left: 66.66666667%;\n}\n.ant-col-offset-16.ant-col-rtl {\n margin-right: 66.66666667%;\n margin-left: 0;\n}\n.ant-col-push-17.ant-col-rtl {\n right: 70.83333333%;\n left: auto;\n}\n.ant-col-pull-17.ant-col-rtl {\n right: auto;\n left: 70.83333333%;\n}\n.ant-col-offset-17.ant-col-rtl {\n margin-right: 70.83333333%;\n margin-left: 0;\n}\n.ant-col-push-18.ant-col-rtl {\n right: 75%;\n left: auto;\n}\n.ant-col-pull-18.ant-col-rtl {\n right: auto;\n left: 75%;\n}\n.ant-col-offset-18.ant-col-rtl {\n margin-right: 75%;\n margin-left: 0;\n}\n.ant-col-push-19.ant-col-rtl {\n right: 79.16666667%;\n left: auto;\n}\n.ant-col-pull-19.ant-col-rtl {\n right: auto;\n left: 79.16666667%;\n}\n.ant-col-offset-19.ant-col-rtl {\n margin-right: 79.16666667%;\n margin-left: 0;\n}\n.ant-col-push-20.ant-col-rtl {\n right: 83.33333333%;\n left: auto;\n}\n.ant-col-pull-20.ant-col-rtl {\n right: auto;\n left: 83.33333333%;\n}\n.ant-col-offset-20.ant-col-rtl {\n margin-right: 83.33333333%;\n margin-left: 0;\n}\n.ant-col-push-21.ant-col-rtl {\n right: 87.5%;\n left: auto;\n}\n.ant-col-pull-21.ant-col-rtl {\n right: auto;\n left: 87.5%;\n}\n.ant-col-offset-21.ant-col-rtl {\n margin-right: 87.5%;\n margin-left: 0;\n}\n.ant-col-push-22.ant-col-rtl {\n right: 91.66666667%;\n left: auto;\n}\n.ant-col-pull-22.ant-col-rtl {\n right: auto;\n left: 91.66666667%;\n}\n.ant-col-offset-22.ant-col-rtl {\n margin-right: 91.66666667%;\n margin-left: 0;\n}\n.ant-col-push-23.ant-col-rtl {\n right: 95.83333333%;\n left: auto;\n}\n.ant-col-pull-23.ant-col-rtl {\n right: auto;\n left: 95.83333333%;\n}\n.ant-col-offset-23.ant-col-rtl {\n margin-right: 95.83333333%;\n margin-left: 0;\n}\n.ant-col-push-24.ant-col-rtl {\n right: 100%;\n left: auto;\n}\n.ant-col-pull-24.ant-col-rtl {\n right: auto;\n left: 100%;\n}\n.ant-col-offset-24.ant-col-rtl {\n margin-right: 100%;\n margin-left: 0;\n}\n.ant-col-xs-24 {\n display: block;\n flex: 0 0 100%;\n max-width: 100%;\n}\n.ant-col-xs-push-24 {\n left: 100%;\n}\n.ant-col-xs-pull-24 {\n right: 100%;\n}\n.ant-col-xs-offset-24 {\n margin-left: 100%;\n}\n.ant-col-xs-order-24 {\n order: 24;\n}\n.ant-col-xs-23 {\n display: block;\n flex: 0 0 95.83333333%;\n max-width: 95.83333333%;\n}\n.ant-col-xs-push-23 {\n left: 95.83333333%;\n}\n.ant-col-xs-pull-23 {\n right: 95.83333333%;\n}\n.ant-col-xs-offset-23 {\n margin-left: 95.83333333%;\n}\n.ant-col-xs-order-23 {\n order: 23;\n}\n.ant-col-xs-22 {\n display: block;\n flex: 0 0 91.66666667%;\n max-width: 91.66666667%;\n}\n.ant-col-xs-push-22 {\n left: 91.66666667%;\n}\n.ant-col-xs-pull-22 {\n right: 91.66666667%;\n}\n.ant-col-xs-offset-22 {\n margin-left: 91.66666667%;\n}\n.ant-col-xs-order-22 {\n order: 22;\n}\n.ant-col-xs-21 {\n display: block;\n flex: 0 0 87.5%;\n max-width: 87.5%;\n}\n.ant-col-xs-push-21 {\n left: 87.5%;\n}\n.ant-col-xs-pull-21 {\n right: 87.5%;\n}\n.ant-col-xs-offset-21 {\n margin-left: 87.5%;\n}\n.ant-col-xs-order-21 {\n order: 21;\n}\n.ant-col-xs-20 {\n display: block;\n flex: 0 0 83.33333333%;\n max-width: 83.33333333%;\n}\n.ant-col-xs-push-20 {\n left: 83.33333333%;\n}\n.ant-col-xs-pull-20 {\n right: 83.33333333%;\n}\n.ant-col-xs-offset-20 {\n margin-left: 83.33333333%;\n}\n.ant-col-xs-order-20 {\n order: 20;\n}\n.ant-col-xs-19 {\n display: block;\n flex: 0 0 79.16666667%;\n max-width: 79.16666667%;\n}\n.ant-col-xs-push-19 {\n left: 79.16666667%;\n}\n.ant-col-xs-pull-19 {\n right: 79.16666667%;\n}\n.ant-col-xs-offset-19 {\n margin-left: 79.16666667%;\n}\n.ant-col-xs-order-19 {\n order: 19;\n}\n.ant-col-xs-18 {\n display: block;\n flex: 0 0 75%;\n max-width: 75%;\n}\n.ant-col-xs-push-18 {\n left: 75%;\n}\n.ant-col-xs-pull-18 {\n right: 75%;\n}\n.ant-col-xs-offset-18 {\n margin-left: 75%;\n}\n.ant-col-xs-order-18 {\n order: 18;\n}\n.ant-col-xs-17 {\n display: block;\n flex: 0 0 70.83333333%;\n max-width: 70.83333333%;\n}\n.ant-col-xs-push-17 {\n left: 70.83333333%;\n}\n.ant-col-xs-pull-17 {\n right: 70.83333333%;\n}\n.ant-col-xs-offset-17 {\n margin-left: 70.83333333%;\n}\n.ant-col-xs-order-17 {\n order: 17;\n}\n.ant-col-xs-16 {\n display: block;\n flex: 0 0 66.66666667%;\n max-width: 66.66666667%;\n}\n.ant-col-xs-push-16 {\n left: 66.66666667%;\n}\n.ant-col-xs-pull-16 {\n right: 66.66666667%;\n}\n.ant-col-xs-offset-16 {\n margin-left: 66.66666667%;\n}\n.ant-col-xs-order-16 {\n order: 16;\n}\n.ant-col-xs-15 {\n display: block;\n flex: 0 0 62.5%;\n max-width: 62.5%;\n}\n.ant-col-xs-push-15 {\n left: 62.5%;\n}\n.ant-col-xs-pull-15 {\n right: 62.5%;\n}\n.ant-col-xs-offset-15 {\n margin-left: 62.5%;\n}\n.ant-col-xs-order-15 {\n order: 15;\n}\n.ant-col-xs-14 {\n display: block;\n flex: 0 0 58.33333333%;\n max-width: 58.33333333%;\n}\n.ant-col-xs-push-14 {\n left: 58.33333333%;\n}\n.ant-col-xs-pull-14 {\n right: 58.33333333%;\n}\n.ant-col-xs-offset-14 {\n margin-left: 58.33333333%;\n}\n.ant-col-xs-order-14 {\n order: 14;\n}\n.ant-col-xs-13 {\n display: block;\n flex: 0 0 54.16666667%;\n max-width: 54.16666667%;\n}\n.ant-col-xs-push-13 {\n left: 54.16666667%;\n}\n.ant-col-xs-pull-13 {\n right: 54.16666667%;\n}\n.ant-col-xs-offset-13 {\n margin-left: 54.16666667%;\n}\n.ant-col-xs-order-13 {\n order: 13;\n}\n.ant-col-xs-12 {\n display: block;\n flex: 0 0 50%;\n max-width: 50%;\n}\n.ant-col-xs-push-12 {\n left: 50%;\n}\n.ant-col-xs-pull-12 {\n right: 50%;\n}\n.ant-col-xs-offset-12 {\n margin-left: 50%;\n}\n.ant-col-xs-order-12 {\n order: 12;\n}\n.ant-col-xs-11 {\n display: block;\n flex: 0 0 45.83333333%;\n max-width: 45.83333333%;\n}\n.ant-col-xs-push-11 {\n left: 45.83333333%;\n}\n.ant-col-xs-pull-11 {\n right: 45.83333333%;\n}\n.ant-col-xs-offset-11 {\n margin-left: 45.83333333%;\n}\n.ant-col-xs-order-11 {\n order: 11;\n}\n.ant-col-xs-10 {\n display: block;\n flex: 0 0 41.66666667%;\n max-width: 41.66666667%;\n}\n.ant-col-xs-push-10 {\n left: 41.66666667%;\n}\n.ant-col-xs-pull-10 {\n right: 41.66666667%;\n}\n.ant-col-xs-offset-10 {\n margin-left: 41.66666667%;\n}\n.ant-col-xs-order-10 {\n order: 10;\n}\n.ant-col-xs-9 {\n display: block;\n flex: 0 0 37.5%;\n max-width: 37.5%;\n}\n.ant-col-xs-push-9 {\n left: 37.5%;\n}\n.ant-col-xs-pull-9 {\n right: 37.5%;\n}\n.ant-col-xs-offset-9 {\n margin-left: 37.5%;\n}\n.ant-col-xs-order-9 {\n order: 9;\n}\n.ant-col-xs-8 {\n display: block;\n flex: 0 0 33.33333333%;\n max-width: 33.33333333%;\n}\n.ant-col-xs-push-8 {\n left: 33.33333333%;\n}\n.ant-col-xs-pull-8 {\n right: 33.33333333%;\n}\n.ant-col-xs-offset-8 {\n margin-left: 33.33333333%;\n}\n.ant-col-xs-order-8 {\n order: 8;\n}\n.ant-col-xs-7 {\n display: block;\n flex: 0 0 29.16666667%;\n max-width: 29.16666667%;\n}\n.ant-col-xs-push-7 {\n left: 29.16666667%;\n}\n.ant-col-xs-pull-7 {\n right: 29.16666667%;\n}\n.ant-col-xs-offset-7 {\n margin-left: 29.16666667%;\n}\n.ant-col-xs-order-7 {\n order: 7;\n}\n.ant-col-xs-6 {\n display: block;\n flex: 0 0 25%;\n max-width: 25%;\n}\n.ant-col-xs-push-6 {\n left: 25%;\n}\n.ant-col-xs-pull-6 {\n right: 25%;\n}\n.ant-col-xs-offset-6 {\n margin-left: 25%;\n}\n.ant-col-xs-order-6 {\n order: 6;\n}\n.ant-col-xs-5 {\n display: block;\n flex: 0 0 20.83333333%;\n max-width: 20.83333333%;\n}\n.ant-col-xs-push-5 {\n left: 20.83333333%;\n}\n.ant-col-xs-pull-5 {\n right: 20.83333333%;\n}\n.ant-col-xs-offset-5 {\n margin-left: 20.83333333%;\n}\n.ant-col-xs-order-5 {\n order: 5;\n}\n.ant-col-xs-4 {\n display: block;\n flex: 0 0 16.66666667%;\n max-width: 16.66666667%;\n}\n.ant-col-xs-push-4 {\n left: 16.66666667%;\n}\n.ant-col-xs-pull-4 {\n right: 16.66666667%;\n}\n.ant-col-xs-offset-4 {\n margin-left: 16.66666667%;\n}\n.ant-col-xs-order-4 {\n order: 4;\n}\n.ant-col-xs-3 {\n display: block;\n flex: 0 0 12.5%;\n max-width: 12.5%;\n}\n.ant-col-xs-push-3 {\n left: 12.5%;\n}\n.ant-col-xs-pull-3 {\n right: 12.5%;\n}\n.ant-col-xs-offset-3 {\n margin-left: 12.5%;\n}\n.ant-col-xs-order-3 {\n order: 3;\n}\n.ant-col-xs-2 {\n display: block;\n flex: 0 0 8.33333333%;\n max-width: 8.33333333%;\n}\n.ant-col-xs-push-2 {\n left: 8.33333333%;\n}\n.ant-col-xs-pull-2 {\n right: 8.33333333%;\n}\n.ant-col-xs-offset-2 {\n margin-left: 8.33333333%;\n}\n.ant-col-xs-order-2 {\n order: 2;\n}\n.ant-col-xs-1 {\n display: block;\n flex: 0 0 4.16666667%;\n max-width: 4.16666667%;\n}\n.ant-col-xs-push-1 {\n left: 4.16666667%;\n}\n.ant-col-xs-pull-1 {\n right: 4.16666667%;\n}\n.ant-col-xs-offset-1 {\n margin-left: 4.16666667%;\n}\n.ant-col-xs-order-1 {\n order: 1;\n}\n.ant-col-xs-0 {\n display: none;\n}\n.ant-col-push-0 {\n left: auto;\n}\n.ant-col-pull-0 {\n right: auto;\n}\n.ant-col-xs-push-0 {\n left: auto;\n}\n.ant-col-xs-pull-0 {\n right: auto;\n}\n.ant-col-xs-offset-0 {\n margin-left: 0;\n}\n.ant-col-xs-order-0 {\n order: 0;\n}\n.ant-col-push-0.ant-col-rtl {\n right: auto;\n}\n.ant-col-pull-0.ant-col-rtl {\n left: auto;\n}\n.ant-col-xs-push-0.ant-col-rtl {\n right: auto;\n}\n.ant-col-xs-pull-0.ant-col-rtl {\n left: auto;\n}\n.ant-col-xs-offset-0.ant-col-rtl {\n margin-right: 0;\n}\n.ant-col-xs-push-1.ant-col-rtl {\n right: 4.16666667%;\n left: auto;\n}\n.ant-col-xs-pull-1.ant-col-rtl {\n right: auto;\n left: 4.16666667%;\n}\n.ant-col-xs-offset-1.ant-col-rtl {\n margin-right: 4.16666667%;\n margin-left: 0;\n}\n.ant-col-xs-push-2.ant-col-rtl {\n right: 8.33333333%;\n left: auto;\n}\n.ant-col-xs-pull-2.ant-col-rtl {\n right: auto;\n left: 8.33333333%;\n}\n.ant-col-xs-offset-2.ant-col-rtl {\n margin-right: 8.33333333%;\n margin-left: 0;\n}\n.ant-col-xs-push-3.ant-col-rtl {\n right: 12.5%;\n left: auto;\n}\n.ant-col-xs-pull-3.ant-col-rtl {\n right: auto;\n left: 12.5%;\n}\n.ant-col-xs-offset-3.ant-col-rtl {\n margin-right: 12.5%;\n margin-left: 0;\n}\n.ant-col-xs-push-4.ant-col-rtl {\n right: 16.66666667%;\n left: auto;\n}\n.ant-col-xs-pull-4.ant-col-rtl {\n right: auto;\n left: 16.66666667%;\n}\n.ant-col-xs-offset-4.ant-col-rtl {\n margin-right: 16.66666667%;\n margin-left: 0;\n}\n.ant-col-xs-push-5.ant-col-rtl {\n right: 20.83333333%;\n left: auto;\n}\n.ant-col-xs-pull-5.ant-col-rtl {\n right: auto;\n left: 20.83333333%;\n}\n.ant-col-xs-offset-5.ant-col-rtl {\n margin-right: 20.83333333%;\n margin-left: 0;\n}\n.ant-col-xs-push-6.ant-col-rtl {\n right: 25%;\n left: auto;\n}\n.ant-col-xs-pull-6.ant-col-rtl {\n right: auto;\n left: 25%;\n}\n.ant-col-xs-offset-6.ant-col-rtl {\n margin-right: 25%;\n margin-left: 0;\n}\n.ant-col-xs-push-7.ant-col-rtl {\n right: 29.16666667%;\n left: auto;\n}\n.ant-col-xs-pull-7.ant-col-rtl {\n right: auto;\n left: 29.16666667%;\n}\n.ant-col-xs-offset-7.ant-col-rtl {\n margin-right: 29.16666667%;\n margin-left: 0;\n}\n.ant-col-xs-push-8.ant-col-rtl {\n right: 33.33333333%;\n left: auto;\n}\n.ant-col-xs-pull-8.ant-col-rtl {\n right: auto;\n left: 33.33333333%;\n}\n.ant-col-xs-offset-8.ant-col-rtl {\n margin-right: 33.33333333%;\n margin-left: 0;\n}\n.ant-col-xs-push-9.ant-col-rtl {\n right: 37.5%;\n left: auto;\n}\n.ant-col-xs-pull-9.ant-col-rtl {\n right: auto;\n left: 37.5%;\n}\n.ant-col-xs-offset-9.ant-col-rtl {\n margin-right: 37.5%;\n margin-left: 0;\n}\n.ant-col-xs-push-10.ant-col-rtl {\n right: 41.66666667%;\n left: auto;\n}\n.ant-col-xs-pull-10.ant-col-rtl {\n right: auto;\n left: 41.66666667%;\n}\n.ant-col-xs-offset-10.ant-col-rtl {\n margin-right: 41.66666667%;\n margin-left: 0;\n}\n.ant-col-xs-push-11.ant-col-rtl {\n right: 45.83333333%;\n left: auto;\n}\n.ant-col-xs-pull-11.ant-col-rtl {\n right: auto;\n left: 45.83333333%;\n}\n.ant-col-xs-offset-11.ant-col-rtl {\n margin-right: 45.83333333%;\n margin-left: 0;\n}\n.ant-col-xs-push-12.ant-col-rtl {\n right: 50%;\n left: auto;\n}\n.ant-col-xs-pull-12.ant-col-rtl {\n right: auto;\n left: 50%;\n}\n.ant-col-xs-offset-12.ant-col-rtl {\n margin-right: 50%;\n margin-left: 0;\n}\n.ant-col-xs-push-13.ant-col-rtl {\n right: 54.16666667%;\n left: auto;\n}\n.ant-col-xs-pull-13.ant-col-rtl {\n right: auto;\n left: 54.16666667%;\n}\n.ant-col-xs-offset-13.ant-col-rtl {\n margin-right: 54.16666667%;\n margin-left: 0;\n}\n.ant-col-xs-push-14.ant-col-rtl {\n right: 58.33333333%;\n left: auto;\n}\n.ant-col-xs-pull-14.ant-col-rtl {\n right: auto;\n left: 58.33333333%;\n}\n.ant-col-xs-offset-14.ant-col-rtl {\n margin-right: 58.33333333%;\n margin-left: 0;\n}\n.ant-col-xs-push-15.ant-col-rtl {\n right: 62.5%;\n left: auto;\n}\n.ant-col-xs-pull-15.ant-col-rtl {\n right: auto;\n left: 62.5%;\n}\n.ant-col-xs-offset-15.ant-col-rtl {\n margin-right: 62.5%;\n margin-left: 0;\n}\n.ant-col-xs-push-16.ant-col-rtl {\n right: 66.66666667%;\n left: auto;\n}\n.ant-col-xs-pull-16.ant-col-rtl {\n right: auto;\n left: 66.66666667%;\n}\n.ant-col-xs-offset-16.ant-col-rtl {\n margin-right: 66.66666667%;\n margin-left: 0;\n}\n.ant-col-xs-push-17.ant-col-rtl {\n right: 70.83333333%;\n left: auto;\n}\n.ant-col-xs-pull-17.ant-col-rtl {\n right: auto;\n left: 70.83333333%;\n}\n.ant-col-xs-offset-17.ant-col-rtl {\n margin-right: 70.83333333%;\n margin-left: 0;\n}\n.ant-col-xs-push-18.ant-col-rtl {\n right: 75%;\n left: auto;\n}\n.ant-col-xs-pull-18.ant-col-rtl {\n right: auto;\n left: 75%;\n}\n.ant-col-xs-offset-18.ant-col-rtl {\n margin-right: 75%;\n margin-left: 0;\n}\n.ant-col-xs-push-19.ant-col-rtl {\n right: 79.16666667%;\n left: auto;\n}\n.ant-col-xs-pull-19.ant-col-rtl {\n right: auto;\n left: 79.16666667%;\n}\n.ant-col-xs-offset-19.ant-col-rtl {\n margin-right: 79.16666667%;\n margin-left: 0;\n}\n.ant-col-xs-push-20.ant-col-rtl {\n right: 83.33333333%;\n left: auto;\n}\n.ant-col-xs-pull-20.ant-col-rtl {\n right: auto;\n left: 83.33333333%;\n}\n.ant-col-xs-offset-20.ant-col-rtl {\n margin-right: 83.33333333%;\n margin-left: 0;\n}\n.ant-col-xs-push-21.ant-col-rtl {\n right: 87.5%;\n left: auto;\n}\n.ant-col-xs-pull-21.ant-col-rtl {\n right: auto;\n left: 87.5%;\n}\n.ant-col-xs-offset-21.ant-col-rtl {\n margin-right: 87.5%;\n margin-left: 0;\n}\n.ant-col-xs-push-22.ant-col-rtl {\n right: 91.66666667%;\n left: auto;\n}\n.ant-col-xs-pull-22.ant-col-rtl {\n right: auto;\n left: 91.66666667%;\n}\n.ant-col-xs-offset-22.ant-col-rtl {\n margin-right: 91.66666667%;\n margin-left: 0;\n}\n.ant-col-xs-push-23.ant-col-rtl {\n right: 95.83333333%;\n left: auto;\n}\n.ant-col-xs-pull-23.ant-col-rtl {\n right: auto;\n left: 95.83333333%;\n}\n.ant-col-xs-offset-23.ant-col-rtl {\n margin-right: 95.83333333%;\n margin-left: 0;\n}\n.ant-col-xs-push-24.ant-col-rtl {\n right: 100%;\n left: auto;\n}\n.ant-col-xs-pull-24.ant-col-rtl {\n right: auto;\n left: 100%;\n}\n.ant-col-xs-offset-24.ant-col-rtl {\n margin-right: 100%;\n margin-left: 0;\n}\n@media (min-width: 576px) {\n .ant-col-sm-24 {\n display: block;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .ant-col-sm-push-24 {\n left: 100%;\n }\n .ant-col-sm-pull-24 {\n right: 100%;\n }\n .ant-col-sm-offset-24 {\n margin-left: 100%;\n }\n .ant-col-sm-order-24 {\n order: 24;\n }\n .ant-col-sm-23 {\n display: block;\n flex: 0 0 95.83333333%;\n max-width: 95.83333333%;\n }\n .ant-col-sm-push-23 {\n left: 95.83333333%;\n }\n .ant-col-sm-pull-23 {\n right: 95.83333333%;\n }\n .ant-col-sm-offset-23 {\n margin-left: 95.83333333%;\n }\n .ant-col-sm-order-23 {\n order: 23;\n }\n .ant-col-sm-22 {\n display: block;\n flex: 0 0 91.66666667%;\n max-width: 91.66666667%;\n }\n .ant-col-sm-push-22 {\n left: 91.66666667%;\n }\n .ant-col-sm-pull-22 {\n right: 91.66666667%;\n }\n .ant-col-sm-offset-22 {\n margin-left: 91.66666667%;\n }\n .ant-col-sm-order-22 {\n order: 22;\n }\n .ant-col-sm-21 {\n display: block;\n flex: 0 0 87.5%;\n max-width: 87.5%;\n }\n .ant-col-sm-push-21 {\n left: 87.5%;\n }\n .ant-col-sm-pull-21 {\n right: 87.5%;\n }\n .ant-col-sm-offset-21 {\n margin-left: 87.5%;\n }\n .ant-col-sm-order-21 {\n order: 21;\n }\n .ant-col-sm-20 {\n display: block;\n flex: 0 0 83.33333333%;\n max-width: 83.33333333%;\n }\n .ant-col-sm-push-20 {\n left: 83.33333333%;\n }\n .ant-col-sm-pull-20 {\n right: 83.33333333%;\n }\n .ant-col-sm-offset-20 {\n margin-left: 83.33333333%;\n }\n .ant-col-sm-order-20 {\n order: 20;\n }\n .ant-col-sm-19 {\n display: block;\n flex: 0 0 79.16666667%;\n max-width: 79.16666667%;\n }\n .ant-col-sm-push-19 {\n left: 79.16666667%;\n }\n .ant-col-sm-pull-19 {\n right: 79.16666667%;\n }\n .ant-col-sm-offset-19 {\n margin-left: 79.16666667%;\n }\n .ant-col-sm-order-19 {\n order: 19;\n }\n .ant-col-sm-18 {\n display: block;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .ant-col-sm-push-18 {\n left: 75%;\n }\n .ant-col-sm-pull-18 {\n right: 75%;\n }\n .ant-col-sm-offset-18 {\n margin-left: 75%;\n }\n .ant-col-sm-order-18 {\n order: 18;\n }\n .ant-col-sm-17 {\n display: block;\n flex: 0 0 70.83333333%;\n max-width: 70.83333333%;\n }\n .ant-col-sm-push-17 {\n left: 70.83333333%;\n }\n .ant-col-sm-pull-17 {\n right: 70.83333333%;\n }\n .ant-col-sm-offset-17 {\n margin-left: 70.83333333%;\n }\n .ant-col-sm-order-17 {\n order: 17;\n }\n .ant-col-sm-16 {\n display: block;\n flex: 0 0 66.66666667%;\n max-width: 66.66666667%;\n }\n .ant-col-sm-push-16 {\n left: 66.66666667%;\n }\n .ant-col-sm-pull-16 {\n right: 66.66666667%;\n }\n .ant-col-sm-offset-16 {\n margin-left: 66.66666667%;\n }\n .ant-col-sm-order-16 {\n order: 16;\n }\n .ant-col-sm-15 {\n display: block;\n flex: 0 0 62.5%;\n max-width: 62.5%;\n }\n .ant-col-sm-push-15 {\n left: 62.5%;\n }\n .ant-col-sm-pull-15 {\n right: 62.5%;\n }\n .ant-col-sm-offset-15 {\n margin-left: 62.5%;\n }\n .ant-col-sm-order-15 {\n order: 15;\n }\n .ant-col-sm-14 {\n display: block;\n flex: 0 0 58.33333333%;\n max-width: 58.33333333%;\n }\n .ant-col-sm-push-14 {\n left: 58.33333333%;\n }\n .ant-col-sm-pull-14 {\n right: 58.33333333%;\n }\n .ant-col-sm-offset-14 {\n margin-left: 58.33333333%;\n }\n .ant-col-sm-order-14 {\n order: 14;\n }\n .ant-col-sm-13 {\n display: block;\n flex: 0 0 54.16666667%;\n max-width: 54.16666667%;\n }\n .ant-col-sm-push-13 {\n left: 54.16666667%;\n }\n .ant-col-sm-pull-13 {\n right: 54.16666667%;\n }\n .ant-col-sm-offset-13 {\n margin-left: 54.16666667%;\n }\n .ant-col-sm-order-13 {\n order: 13;\n }\n .ant-col-sm-12 {\n display: block;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .ant-col-sm-push-12 {\n left: 50%;\n }\n .ant-col-sm-pull-12 {\n right: 50%;\n }\n .ant-col-sm-offset-12 {\n margin-left: 50%;\n }\n .ant-col-sm-order-12 {\n order: 12;\n }\n .ant-col-sm-11 {\n display: block;\n flex: 0 0 45.83333333%;\n max-width: 45.83333333%;\n }\n .ant-col-sm-push-11 {\n left: 45.83333333%;\n }\n .ant-col-sm-pull-11 {\n right: 45.83333333%;\n }\n .ant-col-sm-offset-11 {\n margin-left: 45.83333333%;\n }\n .ant-col-sm-order-11 {\n order: 11;\n }\n .ant-col-sm-10 {\n display: block;\n flex: 0 0 41.66666667%;\n max-width: 41.66666667%;\n }\n .ant-col-sm-push-10 {\n left: 41.66666667%;\n }\n .ant-col-sm-pull-10 {\n right: 41.66666667%;\n }\n .ant-col-sm-offset-10 {\n margin-left: 41.66666667%;\n }\n .ant-col-sm-order-10 {\n order: 10;\n }\n .ant-col-sm-9 {\n display: block;\n flex: 0 0 37.5%;\n max-width: 37.5%;\n }\n .ant-col-sm-push-9 {\n left: 37.5%;\n }\n .ant-col-sm-pull-9 {\n right: 37.5%;\n }\n .ant-col-sm-offset-9 {\n margin-left: 37.5%;\n }\n .ant-col-sm-order-9 {\n order: 9;\n }\n .ant-col-sm-8 {\n display: block;\n flex: 0 0 33.33333333%;\n max-width: 33.33333333%;\n }\n .ant-col-sm-push-8 {\n left: 33.33333333%;\n }\n .ant-col-sm-pull-8 {\n right: 33.33333333%;\n }\n .ant-col-sm-offset-8 {\n margin-left: 33.33333333%;\n }\n .ant-col-sm-order-8 {\n order: 8;\n }\n .ant-col-sm-7 {\n display: block;\n flex: 0 0 29.16666667%;\n max-width: 29.16666667%;\n }\n .ant-col-sm-push-7 {\n left: 29.16666667%;\n }\n .ant-col-sm-pull-7 {\n right: 29.16666667%;\n }\n .ant-col-sm-offset-7 {\n margin-left: 29.16666667%;\n }\n .ant-col-sm-order-7 {\n order: 7;\n }\n .ant-col-sm-6 {\n display: block;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .ant-col-sm-push-6 {\n left: 25%;\n }\n .ant-col-sm-pull-6 {\n right: 25%;\n }\n .ant-col-sm-offset-6 {\n margin-left: 25%;\n }\n .ant-col-sm-order-6 {\n order: 6;\n }\n .ant-col-sm-5 {\n display: block;\n flex: 0 0 20.83333333%;\n max-width: 20.83333333%;\n }\n .ant-col-sm-push-5 {\n left: 20.83333333%;\n }\n .ant-col-sm-pull-5 {\n right: 20.83333333%;\n }\n .ant-col-sm-offset-5 {\n margin-left: 20.83333333%;\n }\n .ant-col-sm-order-5 {\n order: 5;\n }\n .ant-col-sm-4 {\n display: block;\n flex: 0 0 16.66666667%;\n max-width: 16.66666667%;\n }\n .ant-col-sm-push-4 {\n left: 16.66666667%;\n }\n .ant-col-sm-pull-4 {\n right: 16.66666667%;\n }\n .ant-col-sm-offset-4 {\n margin-left: 16.66666667%;\n }\n .ant-col-sm-order-4 {\n order: 4;\n }\n .ant-col-sm-3 {\n display: block;\n flex: 0 0 12.5%;\n max-width: 12.5%;\n }\n .ant-col-sm-push-3 {\n left: 12.5%;\n }\n .ant-col-sm-pull-3 {\n right: 12.5%;\n }\n .ant-col-sm-offset-3 {\n margin-left: 12.5%;\n }\n .ant-col-sm-order-3 {\n order: 3;\n }\n .ant-col-sm-2 {\n display: block;\n flex: 0 0 8.33333333%;\n max-width: 8.33333333%;\n }\n .ant-col-sm-push-2 {\n left: 8.33333333%;\n }\n .ant-col-sm-pull-2 {\n right: 8.33333333%;\n }\n .ant-col-sm-offset-2 {\n margin-left: 8.33333333%;\n }\n .ant-col-sm-order-2 {\n order: 2;\n }\n .ant-col-sm-1 {\n display: block;\n flex: 0 0 4.16666667%;\n max-width: 4.16666667%;\n }\n .ant-col-sm-push-1 {\n left: 4.16666667%;\n }\n .ant-col-sm-pull-1 {\n right: 4.16666667%;\n }\n .ant-col-sm-offset-1 {\n margin-left: 4.16666667%;\n }\n .ant-col-sm-order-1 {\n order: 1;\n }\n .ant-col-sm-0 {\n display: none;\n }\n .ant-col-push-0 {\n left: auto;\n }\n .ant-col-pull-0 {\n right: auto;\n }\n .ant-col-sm-push-0 {\n left: auto;\n }\n .ant-col-sm-pull-0 {\n right: auto;\n }\n .ant-col-sm-offset-0 {\n margin-left: 0;\n }\n .ant-col-sm-order-0 {\n order: 0;\n }\n .ant-col-push-0.ant-col-rtl {\n right: auto;\n }\n .ant-col-pull-0.ant-col-rtl {\n left: auto;\n }\n .ant-col-sm-push-0.ant-col-rtl {\n right: auto;\n }\n .ant-col-sm-pull-0.ant-col-rtl {\n left: auto;\n }\n .ant-col-sm-offset-0.ant-col-rtl {\n margin-right: 0;\n }\n .ant-col-sm-push-1.ant-col-rtl {\n right: 4.16666667%;\n left: auto;\n }\n .ant-col-sm-pull-1.ant-col-rtl {\n right: auto;\n left: 4.16666667%;\n }\n .ant-col-sm-offset-1.ant-col-rtl {\n margin-right: 4.16666667%;\n margin-left: 0;\n }\n .ant-col-sm-push-2.ant-col-rtl {\n right: 8.33333333%;\n left: auto;\n }\n .ant-col-sm-pull-2.ant-col-rtl {\n right: auto;\n left: 8.33333333%;\n }\n .ant-col-sm-offset-2.ant-col-rtl {\n margin-right: 8.33333333%;\n margin-left: 0;\n }\n .ant-col-sm-push-3.ant-col-rtl {\n right: 12.5%;\n left: auto;\n }\n .ant-col-sm-pull-3.ant-col-rtl {\n right: auto;\n left: 12.5%;\n }\n .ant-col-sm-offset-3.ant-col-rtl {\n margin-right: 12.5%;\n margin-left: 0;\n }\n .ant-col-sm-push-4.ant-col-rtl {\n right: 16.66666667%;\n left: auto;\n }\n .ant-col-sm-pull-4.ant-col-rtl {\n right: auto;\n left: 16.66666667%;\n }\n .ant-col-sm-offset-4.ant-col-rtl {\n margin-right: 16.66666667%;\n margin-left: 0;\n }\n .ant-col-sm-push-5.ant-col-rtl {\n right: 20.83333333%;\n left: auto;\n }\n .ant-col-sm-pull-5.ant-col-rtl {\n right: auto;\n left: 20.83333333%;\n }\n .ant-col-sm-offset-5.ant-col-rtl {\n margin-right: 20.83333333%;\n margin-left: 0;\n }\n .ant-col-sm-push-6.ant-col-rtl {\n right: 25%;\n left: auto;\n }\n .ant-col-sm-pull-6.ant-col-rtl {\n right: auto;\n left: 25%;\n }\n .ant-col-sm-offset-6.ant-col-rtl {\n margin-right: 25%;\n margin-left: 0;\n }\n .ant-col-sm-push-7.ant-col-rtl {\n right: 29.16666667%;\n left: auto;\n }\n .ant-col-sm-pull-7.ant-col-rtl {\n right: auto;\n left: 29.16666667%;\n }\n .ant-col-sm-offset-7.ant-col-rtl {\n margin-right: 29.16666667%;\n margin-left: 0;\n }\n .ant-col-sm-push-8.ant-col-rtl {\n right: 33.33333333%;\n left: auto;\n }\n .ant-col-sm-pull-8.ant-col-rtl {\n right: auto;\n left: 33.33333333%;\n }\n .ant-col-sm-offset-8.ant-col-rtl {\n margin-right: 33.33333333%;\n margin-left: 0;\n }\n .ant-col-sm-push-9.ant-col-rtl {\n right: 37.5%;\n left: auto;\n }\n .ant-col-sm-pull-9.ant-col-rtl {\n right: auto;\n left: 37.5%;\n }\n .ant-col-sm-offset-9.ant-col-rtl {\n margin-right: 37.5%;\n margin-left: 0;\n }\n .ant-col-sm-push-10.ant-col-rtl {\n right: 41.66666667%;\n left: auto;\n }\n .ant-col-sm-pull-10.ant-col-rtl {\n right: auto;\n left: 41.66666667%;\n }\n .ant-col-sm-offset-10.ant-col-rtl {\n margin-right: 41.66666667%;\n margin-left: 0;\n }\n .ant-col-sm-push-11.ant-col-rtl {\n right: 45.83333333%;\n left: auto;\n }\n .ant-col-sm-pull-11.ant-col-rtl {\n right: auto;\n left: 45.83333333%;\n }\n .ant-col-sm-offset-11.ant-col-rtl {\n margin-right: 45.83333333%;\n margin-left: 0;\n }\n .ant-col-sm-push-12.ant-col-rtl {\n right: 50%;\n left: auto;\n }\n .ant-col-sm-pull-12.ant-col-rtl {\n right: auto;\n left: 50%;\n }\n .ant-col-sm-offset-12.ant-col-rtl {\n margin-right: 50%;\n margin-left: 0;\n }\n .ant-col-sm-push-13.ant-col-rtl {\n right: 54.16666667%;\n left: auto;\n }\n .ant-col-sm-pull-13.ant-col-rtl {\n right: auto;\n left: 54.16666667%;\n }\n .ant-col-sm-offset-13.ant-col-rtl {\n margin-right: 54.16666667%;\n margin-left: 0;\n }\n .ant-col-sm-push-14.ant-col-rtl {\n right: 58.33333333%;\n left: auto;\n }\n .ant-col-sm-pull-14.ant-col-rtl {\n right: auto;\n left: 58.33333333%;\n }\n .ant-col-sm-offset-14.ant-col-rtl {\n margin-right: 58.33333333%;\n margin-left: 0;\n }\n .ant-col-sm-push-15.ant-col-rtl {\n right: 62.5%;\n left: auto;\n }\n .ant-col-sm-pull-15.ant-col-rtl {\n right: auto;\n left: 62.5%;\n }\n .ant-col-sm-offset-15.ant-col-rtl {\n margin-right: 62.5%;\n margin-left: 0;\n }\n .ant-col-sm-push-16.ant-col-rtl {\n right: 66.66666667%;\n left: auto;\n }\n .ant-col-sm-pull-16.ant-col-rtl {\n right: auto;\n left: 66.66666667%;\n }\n .ant-col-sm-offset-16.ant-col-rtl {\n margin-right: 66.66666667%;\n margin-left: 0;\n }\n .ant-col-sm-push-17.ant-col-rtl {\n right: 70.83333333%;\n left: auto;\n }\n .ant-col-sm-pull-17.ant-col-rtl {\n right: auto;\n left: 70.83333333%;\n }\n .ant-col-sm-offset-17.ant-col-rtl {\n margin-right: 70.83333333%;\n margin-left: 0;\n }\n .ant-col-sm-push-18.ant-col-rtl {\n right: 75%;\n left: auto;\n }\n .ant-col-sm-pull-18.ant-col-rtl {\n right: auto;\n left: 75%;\n }\n .ant-col-sm-offset-18.ant-col-rtl {\n margin-right: 75%;\n margin-left: 0;\n }\n .ant-col-sm-push-19.ant-col-rtl {\n right: 79.16666667%;\n left: auto;\n }\n .ant-col-sm-pull-19.ant-col-rtl {\n right: auto;\n left: 79.16666667%;\n }\n .ant-col-sm-offset-19.ant-col-rtl {\n margin-right: 79.16666667%;\n margin-left: 0;\n }\n .ant-col-sm-push-20.ant-col-rtl {\n right: 83.33333333%;\n left: auto;\n }\n .ant-col-sm-pull-20.ant-col-rtl {\n right: auto;\n left: 83.33333333%;\n }\n .ant-col-sm-offset-20.ant-col-rtl {\n margin-right: 83.33333333%;\n margin-left: 0;\n }\n .ant-col-sm-push-21.ant-col-rtl {\n right: 87.5%;\n left: auto;\n }\n .ant-col-sm-pull-21.ant-col-rtl {\n right: auto;\n left: 87.5%;\n }\n .ant-col-sm-offset-21.ant-col-rtl {\n margin-right: 87.5%;\n margin-left: 0;\n }\n .ant-col-sm-push-22.ant-col-rtl {\n right: 91.66666667%;\n left: auto;\n }\n .ant-col-sm-pull-22.ant-col-rtl {\n right: auto;\n left: 91.66666667%;\n }\n .ant-col-sm-offset-22.ant-col-rtl {\n margin-right: 91.66666667%;\n margin-left: 0;\n }\n .ant-col-sm-push-23.ant-col-rtl {\n right: 95.83333333%;\n left: auto;\n }\n .ant-col-sm-pull-23.ant-col-rtl {\n right: auto;\n left: 95.83333333%;\n }\n .ant-col-sm-offset-23.ant-col-rtl {\n margin-right: 95.83333333%;\n margin-left: 0;\n }\n .ant-col-sm-push-24.ant-col-rtl {\n right: 100%;\n left: auto;\n }\n .ant-col-sm-pull-24.ant-col-rtl {\n right: auto;\n left: 100%;\n }\n .ant-col-sm-offset-24.ant-col-rtl {\n margin-right: 100%;\n margin-left: 0;\n }\n}\n@media (min-width: 768px) {\n .ant-col-md-24 {\n display: block;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .ant-col-md-push-24 {\n left: 100%;\n }\n .ant-col-md-pull-24 {\n right: 100%;\n }\n .ant-col-md-offset-24 {\n margin-left: 100%;\n }\n .ant-col-md-order-24 {\n order: 24;\n }\n .ant-col-md-23 {\n display: block;\n flex: 0 0 95.83333333%;\n max-width: 95.83333333%;\n }\n .ant-col-md-push-23 {\n left: 95.83333333%;\n }\n .ant-col-md-pull-23 {\n right: 95.83333333%;\n }\n .ant-col-md-offset-23 {\n margin-left: 95.83333333%;\n }\n .ant-col-md-order-23 {\n order: 23;\n }\n .ant-col-md-22 {\n display: block;\n flex: 0 0 91.66666667%;\n max-width: 91.66666667%;\n }\n .ant-col-md-push-22 {\n left: 91.66666667%;\n }\n .ant-col-md-pull-22 {\n right: 91.66666667%;\n }\n .ant-col-md-offset-22 {\n margin-left: 91.66666667%;\n }\n .ant-col-md-order-22 {\n order: 22;\n }\n .ant-col-md-21 {\n display: block;\n flex: 0 0 87.5%;\n max-width: 87.5%;\n }\n .ant-col-md-push-21 {\n left: 87.5%;\n }\n .ant-col-md-pull-21 {\n right: 87.5%;\n }\n .ant-col-md-offset-21 {\n margin-left: 87.5%;\n }\n .ant-col-md-order-21 {\n order: 21;\n }\n .ant-col-md-20 {\n display: block;\n flex: 0 0 83.33333333%;\n max-width: 83.33333333%;\n }\n .ant-col-md-push-20 {\n left: 83.33333333%;\n }\n .ant-col-md-pull-20 {\n right: 83.33333333%;\n }\n .ant-col-md-offset-20 {\n margin-left: 83.33333333%;\n }\n .ant-col-md-order-20 {\n order: 20;\n }\n .ant-col-md-19 {\n display: block;\n flex: 0 0 79.16666667%;\n max-width: 79.16666667%;\n }\n .ant-col-md-push-19 {\n left: 79.16666667%;\n }\n .ant-col-md-pull-19 {\n right: 79.16666667%;\n }\n .ant-col-md-offset-19 {\n margin-left: 79.16666667%;\n }\n .ant-col-md-order-19 {\n order: 19;\n }\n .ant-col-md-18 {\n display: block;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .ant-col-md-push-18 {\n left: 75%;\n }\n .ant-col-md-pull-18 {\n right: 75%;\n }\n .ant-col-md-offset-18 {\n margin-left: 75%;\n }\n .ant-col-md-order-18 {\n order: 18;\n }\n .ant-col-md-17 {\n display: block;\n flex: 0 0 70.83333333%;\n max-width: 70.83333333%;\n }\n .ant-col-md-push-17 {\n left: 70.83333333%;\n }\n .ant-col-md-pull-17 {\n right: 70.83333333%;\n }\n .ant-col-md-offset-17 {\n margin-left: 70.83333333%;\n }\n .ant-col-md-order-17 {\n order: 17;\n }\n .ant-col-md-16 {\n display: block;\n flex: 0 0 66.66666667%;\n max-width: 66.66666667%;\n }\n .ant-col-md-push-16 {\n left: 66.66666667%;\n }\n .ant-col-md-pull-16 {\n right: 66.66666667%;\n }\n .ant-col-md-offset-16 {\n margin-left: 66.66666667%;\n }\n .ant-col-md-order-16 {\n order: 16;\n }\n .ant-col-md-15 {\n display: block;\n flex: 0 0 62.5%;\n max-width: 62.5%;\n }\n .ant-col-md-push-15 {\n left: 62.5%;\n }\n .ant-col-md-pull-15 {\n right: 62.5%;\n }\n .ant-col-md-offset-15 {\n margin-left: 62.5%;\n }\n .ant-col-md-order-15 {\n order: 15;\n }\n .ant-col-md-14 {\n display: block;\n flex: 0 0 58.33333333%;\n max-width: 58.33333333%;\n }\n .ant-col-md-push-14 {\n left: 58.33333333%;\n }\n .ant-col-md-pull-14 {\n right: 58.33333333%;\n }\n .ant-col-md-offset-14 {\n margin-left: 58.33333333%;\n }\n .ant-col-md-order-14 {\n order: 14;\n }\n .ant-col-md-13 {\n display: block;\n flex: 0 0 54.16666667%;\n max-width: 54.16666667%;\n }\n .ant-col-md-push-13 {\n left: 54.16666667%;\n }\n .ant-col-md-pull-13 {\n right: 54.16666667%;\n }\n .ant-col-md-offset-13 {\n margin-left: 54.16666667%;\n }\n .ant-col-md-order-13 {\n order: 13;\n }\n .ant-col-md-12 {\n display: block;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .ant-col-md-push-12 {\n left: 50%;\n }\n .ant-col-md-pull-12 {\n right: 50%;\n }\n .ant-col-md-offset-12 {\n margin-left: 50%;\n }\n .ant-col-md-order-12 {\n order: 12;\n }\n .ant-col-md-11 {\n display: block;\n flex: 0 0 45.83333333%;\n max-width: 45.83333333%;\n }\n .ant-col-md-push-11 {\n left: 45.83333333%;\n }\n .ant-col-md-pull-11 {\n right: 45.83333333%;\n }\n .ant-col-md-offset-11 {\n margin-left: 45.83333333%;\n }\n .ant-col-md-order-11 {\n order: 11;\n }\n .ant-col-md-10 {\n display: block;\n flex: 0 0 41.66666667%;\n max-width: 41.66666667%;\n }\n .ant-col-md-push-10 {\n left: 41.66666667%;\n }\n .ant-col-md-pull-10 {\n right: 41.66666667%;\n }\n .ant-col-md-offset-10 {\n margin-left: 41.66666667%;\n }\n .ant-col-md-order-10 {\n order: 10;\n }\n .ant-col-md-9 {\n display: block;\n flex: 0 0 37.5%;\n max-width: 37.5%;\n }\n .ant-col-md-push-9 {\n left: 37.5%;\n }\n .ant-col-md-pull-9 {\n right: 37.5%;\n }\n .ant-col-md-offset-9 {\n margin-left: 37.5%;\n }\n .ant-col-md-order-9 {\n order: 9;\n }\n .ant-col-md-8 {\n display: block;\n flex: 0 0 33.33333333%;\n max-width: 33.33333333%;\n }\n .ant-col-md-push-8 {\n left: 33.33333333%;\n }\n .ant-col-md-pull-8 {\n right: 33.33333333%;\n }\n .ant-col-md-offset-8 {\n margin-left: 33.33333333%;\n }\n .ant-col-md-order-8 {\n order: 8;\n }\n .ant-col-md-7 {\n display: block;\n flex: 0 0 29.16666667%;\n max-width: 29.16666667%;\n }\n .ant-col-md-push-7 {\n left: 29.16666667%;\n }\n .ant-col-md-pull-7 {\n right: 29.16666667%;\n }\n .ant-col-md-offset-7 {\n margin-left: 29.16666667%;\n }\n .ant-col-md-order-7 {\n order: 7;\n }\n .ant-col-md-6 {\n display: block;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .ant-col-md-push-6 {\n left: 25%;\n }\n .ant-col-md-pull-6 {\n right: 25%;\n }\n .ant-col-md-offset-6 {\n margin-left: 25%;\n }\n .ant-col-md-order-6 {\n order: 6;\n }\n .ant-col-md-5 {\n display: block;\n flex: 0 0 20.83333333%;\n max-width: 20.83333333%;\n }\n .ant-col-md-push-5 {\n left: 20.83333333%;\n }\n .ant-col-md-pull-5 {\n right: 20.83333333%;\n }\n .ant-col-md-offset-5 {\n margin-left: 20.83333333%;\n }\n .ant-col-md-order-5 {\n order: 5;\n }\n .ant-col-md-4 {\n display: block;\n flex: 0 0 16.66666667%;\n max-width: 16.66666667%;\n }\n .ant-col-md-push-4 {\n left: 16.66666667%;\n }\n .ant-col-md-pull-4 {\n right: 16.66666667%;\n }\n .ant-col-md-offset-4 {\n margin-left: 16.66666667%;\n }\n .ant-col-md-order-4 {\n order: 4;\n }\n .ant-col-md-3 {\n display: block;\n flex: 0 0 12.5%;\n max-width: 12.5%;\n }\n .ant-col-md-push-3 {\n left: 12.5%;\n }\n .ant-col-md-pull-3 {\n right: 12.5%;\n }\n .ant-col-md-offset-3 {\n margin-left: 12.5%;\n }\n .ant-col-md-order-3 {\n order: 3;\n }\n .ant-col-md-2 {\n display: block;\n flex: 0 0 8.33333333%;\n max-width: 8.33333333%;\n }\n .ant-col-md-push-2 {\n left: 8.33333333%;\n }\n .ant-col-md-pull-2 {\n right: 8.33333333%;\n }\n .ant-col-md-offset-2 {\n margin-left: 8.33333333%;\n }\n .ant-col-md-order-2 {\n order: 2;\n }\n .ant-col-md-1 {\n display: block;\n flex: 0 0 4.16666667%;\n max-width: 4.16666667%;\n }\n .ant-col-md-push-1 {\n left: 4.16666667%;\n }\n .ant-col-md-pull-1 {\n right: 4.16666667%;\n }\n .ant-col-md-offset-1 {\n margin-left: 4.16666667%;\n }\n .ant-col-md-order-1 {\n order: 1;\n }\n .ant-col-md-0 {\n display: none;\n }\n .ant-col-push-0 {\n left: auto;\n }\n .ant-col-pull-0 {\n right: auto;\n }\n .ant-col-md-push-0 {\n left: auto;\n }\n .ant-col-md-pull-0 {\n right: auto;\n }\n .ant-col-md-offset-0 {\n margin-left: 0;\n }\n .ant-col-md-order-0 {\n order: 0;\n }\n .ant-col-push-0.ant-col-rtl {\n right: auto;\n }\n .ant-col-pull-0.ant-col-rtl {\n left: auto;\n }\n .ant-col-md-push-0.ant-col-rtl {\n right: auto;\n }\n .ant-col-md-pull-0.ant-col-rtl {\n left: auto;\n }\n .ant-col-md-offset-0.ant-col-rtl {\n margin-right: 0;\n }\n .ant-col-md-push-1.ant-col-rtl {\n right: 4.16666667%;\n left: auto;\n }\n .ant-col-md-pull-1.ant-col-rtl {\n right: auto;\n left: 4.16666667%;\n }\n .ant-col-md-offset-1.ant-col-rtl {\n margin-right: 4.16666667%;\n margin-left: 0;\n }\n .ant-col-md-push-2.ant-col-rtl {\n right: 8.33333333%;\n left: auto;\n }\n .ant-col-md-pull-2.ant-col-rtl {\n right: auto;\n left: 8.33333333%;\n }\n .ant-col-md-offset-2.ant-col-rtl {\n margin-right: 8.33333333%;\n margin-left: 0;\n }\n .ant-col-md-push-3.ant-col-rtl {\n right: 12.5%;\n left: auto;\n }\n .ant-col-md-pull-3.ant-col-rtl {\n right: auto;\n left: 12.5%;\n }\n .ant-col-md-offset-3.ant-col-rtl {\n margin-right: 12.5%;\n margin-left: 0;\n }\n .ant-col-md-push-4.ant-col-rtl {\n right: 16.66666667%;\n left: auto;\n }\n .ant-col-md-pull-4.ant-col-rtl {\n right: auto;\n left: 16.66666667%;\n }\n .ant-col-md-offset-4.ant-col-rtl {\n margin-right: 16.66666667%;\n margin-left: 0;\n }\n .ant-col-md-push-5.ant-col-rtl {\n right: 20.83333333%;\n left: auto;\n }\n .ant-col-md-pull-5.ant-col-rtl {\n right: auto;\n left: 20.83333333%;\n }\n .ant-col-md-offset-5.ant-col-rtl {\n margin-right: 20.83333333%;\n margin-left: 0;\n }\n .ant-col-md-push-6.ant-col-rtl {\n right: 25%;\n left: auto;\n }\n .ant-col-md-pull-6.ant-col-rtl {\n right: auto;\n left: 25%;\n }\n .ant-col-md-offset-6.ant-col-rtl {\n margin-right: 25%;\n margin-left: 0;\n }\n .ant-col-md-push-7.ant-col-rtl {\n right: 29.16666667%;\n left: auto;\n }\n .ant-col-md-pull-7.ant-col-rtl {\n right: auto;\n left: 29.16666667%;\n }\n .ant-col-md-offset-7.ant-col-rtl {\n margin-right: 29.16666667%;\n margin-left: 0;\n }\n .ant-col-md-push-8.ant-col-rtl {\n right: 33.33333333%;\n left: auto;\n }\n .ant-col-md-pull-8.ant-col-rtl {\n right: auto;\n left: 33.33333333%;\n }\n .ant-col-md-offset-8.ant-col-rtl {\n margin-right: 33.33333333%;\n margin-left: 0;\n }\n .ant-col-md-push-9.ant-col-rtl {\n right: 37.5%;\n left: auto;\n }\n .ant-col-md-pull-9.ant-col-rtl {\n right: auto;\n left: 37.5%;\n }\n .ant-col-md-offset-9.ant-col-rtl {\n margin-right: 37.5%;\n margin-left: 0;\n }\n .ant-col-md-push-10.ant-col-rtl {\n right: 41.66666667%;\n left: auto;\n }\n .ant-col-md-pull-10.ant-col-rtl {\n right: auto;\n left: 41.66666667%;\n }\n .ant-col-md-offset-10.ant-col-rtl {\n margin-right: 41.66666667%;\n margin-left: 0;\n }\n .ant-col-md-push-11.ant-col-rtl {\n right: 45.83333333%;\n left: auto;\n }\n .ant-col-md-pull-11.ant-col-rtl {\n right: auto;\n left: 45.83333333%;\n }\n .ant-col-md-offset-11.ant-col-rtl {\n margin-right: 45.83333333%;\n margin-left: 0;\n }\n .ant-col-md-push-12.ant-col-rtl {\n right: 50%;\n left: auto;\n }\n .ant-col-md-pull-12.ant-col-rtl {\n right: auto;\n left: 50%;\n }\n .ant-col-md-offset-12.ant-col-rtl {\n margin-right: 50%;\n margin-left: 0;\n }\n .ant-col-md-push-13.ant-col-rtl {\n right: 54.16666667%;\n left: auto;\n }\n .ant-col-md-pull-13.ant-col-rtl {\n right: auto;\n left: 54.16666667%;\n }\n .ant-col-md-offset-13.ant-col-rtl {\n margin-right: 54.16666667%;\n margin-left: 0;\n }\n .ant-col-md-push-14.ant-col-rtl {\n right: 58.33333333%;\n left: auto;\n }\n .ant-col-md-pull-14.ant-col-rtl {\n right: auto;\n left: 58.33333333%;\n }\n .ant-col-md-offset-14.ant-col-rtl {\n margin-right: 58.33333333%;\n margin-left: 0;\n }\n .ant-col-md-push-15.ant-col-rtl {\n right: 62.5%;\n left: auto;\n }\n .ant-col-md-pull-15.ant-col-rtl {\n right: auto;\n left: 62.5%;\n }\n .ant-col-md-offset-15.ant-col-rtl {\n margin-right: 62.5%;\n margin-left: 0;\n }\n .ant-col-md-push-16.ant-col-rtl {\n right: 66.66666667%;\n left: auto;\n }\n .ant-col-md-pull-16.ant-col-rtl {\n right: auto;\n left: 66.66666667%;\n }\n .ant-col-md-offset-16.ant-col-rtl {\n margin-right: 66.66666667%;\n margin-left: 0;\n }\n .ant-col-md-push-17.ant-col-rtl {\n right: 70.83333333%;\n left: auto;\n }\n .ant-col-md-pull-17.ant-col-rtl {\n right: auto;\n left: 70.83333333%;\n }\n .ant-col-md-offset-17.ant-col-rtl {\n margin-right: 70.83333333%;\n margin-left: 0;\n }\n .ant-col-md-push-18.ant-col-rtl {\n right: 75%;\n left: auto;\n }\n .ant-col-md-pull-18.ant-col-rtl {\n right: auto;\n left: 75%;\n }\n .ant-col-md-offset-18.ant-col-rtl {\n margin-right: 75%;\n margin-left: 0;\n }\n .ant-col-md-push-19.ant-col-rtl {\n right: 79.16666667%;\n left: auto;\n }\n .ant-col-md-pull-19.ant-col-rtl {\n right: auto;\n left: 79.16666667%;\n }\n .ant-col-md-offset-19.ant-col-rtl {\n margin-right: 79.16666667%;\n margin-left: 0;\n }\n .ant-col-md-push-20.ant-col-rtl {\n right: 83.33333333%;\n left: auto;\n }\n .ant-col-md-pull-20.ant-col-rtl {\n right: auto;\n left: 83.33333333%;\n }\n .ant-col-md-offset-20.ant-col-rtl {\n margin-right: 83.33333333%;\n margin-left: 0;\n }\n .ant-col-md-push-21.ant-col-rtl {\n right: 87.5%;\n left: auto;\n }\n .ant-col-md-pull-21.ant-col-rtl {\n right: auto;\n left: 87.5%;\n }\n .ant-col-md-offset-21.ant-col-rtl {\n margin-right: 87.5%;\n margin-left: 0;\n }\n .ant-col-md-push-22.ant-col-rtl {\n right: 91.66666667%;\n left: auto;\n }\n .ant-col-md-pull-22.ant-col-rtl {\n right: auto;\n left: 91.66666667%;\n }\n .ant-col-md-offset-22.ant-col-rtl {\n margin-right: 91.66666667%;\n margin-left: 0;\n }\n .ant-col-md-push-23.ant-col-rtl {\n right: 95.83333333%;\n left: auto;\n }\n .ant-col-md-pull-23.ant-col-rtl {\n right: auto;\n left: 95.83333333%;\n }\n .ant-col-md-offset-23.ant-col-rtl {\n margin-right: 95.83333333%;\n margin-left: 0;\n }\n .ant-col-md-push-24.ant-col-rtl {\n right: 100%;\n left: auto;\n }\n .ant-col-md-pull-24.ant-col-rtl {\n right: auto;\n left: 100%;\n }\n .ant-col-md-offset-24.ant-col-rtl {\n margin-right: 100%;\n margin-left: 0;\n }\n}\n@media (min-width: 992px) {\n .ant-col-lg-24 {\n display: block;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .ant-col-lg-push-24 {\n left: 100%;\n }\n .ant-col-lg-pull-24 {\n right: 100%;\n }\n .ant-col-lg-offset-24 {\n margin-left: 100%;\n }\n .ant-col-lg-order-24 {\n order: 24;\n }\n .ant-col-lg-23 {\n display: block;\n flex: 0 0 95.83333333%;\n max-width: 95.83333333%;\n }\n .ant-col-lg-push-23 {\n left: 95.83333333%;\n }\n .ant-col-lg-pull-23 {\n right: 95.83333333%;\n }\n .ant-col-lg-offset-23 {\n margin-left: 95.83333333%;\n }\n .ant-col-lg-order-23 {\n order: 23;\n }\n .ant-col-lg-22 {\n display: block;\n flex: 0 0 91.66666667%;\n max-width: 91.66666667%;\n }\n .ant-col-lg-push-22 {\n left: 91.66666667%;\n }\n .ant-col-lg-pull-22 {\n right: 91.66666667%;\n }\n .ant-col-lg-offset-22 {\n margin-left: 91.66666667%;\n }\n .ant-col-lg-order-22 {\n order: 22;\n }\n .ant-col-lg-21 {\n display: block;\n flex: 0 0 87.5%;\n max-width: 87.5%;\n }\n .ant-col-lg-push-21 {\n left: 87.5%;\n }\n .ant-col-lg-pull-21 {\n right: 87.5%;\n }\n .ant-col-lg-offset-21 {\n margin-left: 87.5%;\n }\n .ant-col-lg-order-21 {\n order: 21;\n }\n .ant-col-lg-20 {\n display: block;\n flex: 0 0 83.33333333%;\n max-width: 83.33333333%;\n }\n .ant-col-lg-push-20 {\n left: 83.33333333%;\n }\n .ant-col-lg-pull-20 {\n right: 83.33333333%;\n }\n .ant-col-lg-offset-20 {\n margin-left: 83.33333333%;\n }\n .ant-col-lg-order-20 {\n order: 20;\n }\n .ant-col-lg-19 {\n display: block;\n flex: 0 0 79.16666667%;\n max-width: 79.16666667%;\n }\n .ant-col-lg-push-19 {\n left: 79.16666667%;\n }\n .ant-col-lg-pull-19 {\n right: 79.16666667%;\n }\n .ant-col-lg-offset-19 {\n margin-left: 79.16666667%;\n }\n .ant-col-lg-order-19 {\n order: 19;\n }\n .ant-col-lg-18 {\n display: block;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .ant-col-lg-push-18 {\n left: 75%;\n }\n .ant-col-lg-pull-18 {\n right: 75%;\n }\n .ant-col-lg-offset-18 {\n margin-left: 75%;\n }\n .ant-col-lg-order-18 {\n order: 18;\n }\n .ant-col-lg-17 {\n display: block;\n flex: 0 0 70.83333333%;\n max-width: 70.83333333%;\n }\n .ant-col-lg-push-17 {\n left: 70.83333333%;\n }\n .ant-col-lg-pull-17 {\n right: 70.83333333%;\n }\n .ant-col-lg-offset-17 {\n margin-left: 70.83333333%;\n }\n .ant-col-lg-order-17 {\n order: 17;\n }\n .ant-col-lg-16 {\n display: block;\n flex: 0 0 66.66666667%;\n max-width: 66.66666667%;\n }\n .ant-col-lg-push-16 {\n left: 66.66666667%;\n }\n .ant-col-lg-pull-16 {\n right: 66.66666667%;\n }\n .ant-col-lg-offset-16 {\n margin-left: 66.66666667%;\n }\n .ant-col-lg-order-16 {\n order: 16;\n }\n .ant-col-lg-15 {\n display: block;\n flex: 0 0 62.5%;\n max-width: 62.5%;\n }\n .ant-col-lg-push-15 {\n left: 62.5%;\n }\n .ant-col-lg-pull-15 {\n right: 62.5%;\n }\n .ant-col-lg-offset-15 {\n margin-left: 62.5%;\n }\n .ant-col-lg-order-15 {\n order: 15;\n }\n .ant-col-lg-14 {\n display: block;\n flex: 0 0 58.33333333%;\n max-width: 58.33333333%;\n }\n .ant-col-lg-push-14 {\n left: 58.33333333%;\n }\n .ant-col-lg-pull-14 {\n right: 58.33333333%;\n }\n .ant-col-lg-offset-14 {\n margin-left: 58.33333333%;\n }\n .ant-col-lg-order-14 {\n order: 14;\n }\n .ant-col-lg-13 {\n display: block;\n flex: 0 0 54.16666667%;\n max-width: 54.16666667%;\n }\n .ant-col-lg-push-13 {\n left: 54.16666667%;\n }\n .ant-col-lg-pull-13 {\n right: 54.16666667%;\n }\n .ant-col-lg-offset-13 {\n margin-left: 54.16666667%;\n }\n .ant-col-lg-order-13 {\n order: 13;\n }\n .ant-col-lg-12 {\n display: block;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .ant-col-lg-push-12 {\n left: 50%;\n }\n .ant-col-lg-pull-12 {\n right: 50%;\n }\n .ant-col-lg-offset-12 {\n margin-left: 50%;\n }\n .ant-col-lg-order-12 {\n order: 12;\n }\n .ant-col-lg-11 {\n display: block;\n flex: 0 0 45.83333333%;\n max-width: 45.83333333%;\n }\n .ant-col-lg-push-11 {\n left: 45.83333333%;\n }\n .ant-col-lg-pull-11 {\n right: 45.83333333%;\n }\n .ant-col-lg-offset-11 {\n margin-left: 45.83333333%;\n }\n .ant-col-lg-order-11 {\n order: 11;\n }\n .ant-col-lg-10 {\n display: block;\n flex: 0 0 41.66666667%;\n max-width: 41.66666667%;\n }\n .ant-col-lg-push-10 {\n left: 41.66666667%;\n }\n .ant-col-lg-pull-10 {\n right: 41.66666667%;\n }\n .ant-col-lg-offset-10 {\n margin-left: 41.66666667%;\n }\n .ant-col-lg-order-10 {\n order: 10;\n }\n .ant-col-lg-9 {\n display: block;\n flex: 0 0 37.5%;\n max-width: 37.5%;\n }\n .ant-col-lg-push-9 {\n left: 37.5%;\n }\n .ant-col-lg-pull-9 {\n right: 37.5%;\n }\n .ant-col-lg-offset-9 {\n margin-left: 37.5%;\n }\n .ant-col-lg-order-9 {\n order: 9;\n }\n .ant-col-lg-8 {\n display: block;\n flex: 0 0 33.33333333%;\n max-width: 33.33333333%;\n }\n .ant-col-lg-push-8 {\n left: 33.33333333%;\n }\n .ant-col-lg-pull-8 {\n right: 33.33333333%;\n }\n .ant-col-lg-offset-8 {\n margin-left: 33.33333333%;\n }\n .ant-col-lg-order-8 {\n order: 8;\n }\n .ant-col-lg-7 {\n display: block;\n flex: 0 0 29.16666667%;\n max-width: 29.16666667%;\n }\n .ant-col-lg-push-7 {\n left: 29.16666667%;\n }\n .ant-col-lg-pull-7 {\n right: 29.16666667%;\n }\n .ant-col-lg-offset-7 {\n margin-left: 29.16666667%;\n }\n .ant-col-lg-order-7 {\n order: 7;\n }\n .ant-col-lg-6 {\n display: block;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .ant-col-lg-push-6 {\n left: 25%;\n }\n .ant-col-lg-pull-6 {\n right: 25%;\n }\n .ant-col-lg-offset-6 {\n margin-left: 25%;\n }\n .ant-col-lg-order-6 {\n order: 6;\n }\n .ant-col-lg-5 {\n display: block;\n flex: 0 0 20.83333333%;\n max-width: 20.83333333%;\n }\n .ant-col-lg-push-5 {\n left: 20.83333333%;\n }\n .ant-col-lg-pull-5 {\n right: 20.83333333%;\n }\n .ant-col-lg-offset-5 {\n margin-left: 20.83333333%;\n }\n .ant-col-lg-order-5 {\n order: 5;\n }\n .ant-col-lg-4 {\n display: block;\n flex: 0 0 16.66666667%;\n max-width: 16.66666667%;\n }\n .ant-col-lg-push-4 {\n left: 16.66666667%;\n }\n .ant-col-lg-pull-4 {\n right: 16.66666667%;\n }\n .ant-col-lg-offset-4 {\n margin-left: 16.66666667%;\n }\n .ant-col-lg-order-4 {\n order: 4;\n }\n .ant-col-lg-3 {\n display: block;\n flex: 0 0 12.5%;\n max-width: 12.5%;\n }\n .ant-col-lg-push-3 {\n left: 12.5%;\n }\n .ant-col-lg-pull-3 {\n right: 12.5%;\n }\n .ant-col-lg-offset-3 {\n margin-left: 12.5%;\n }\n .ant-col-lg-order-3 {\n order: 3;\n }\n .ant-col-lg-2 {\n display: block;\n flex: 0 0 8.33333333%;\n max-width: 8.33333333%;\n }\n .ant-col-lg-push-2 {\n left: 8.33333333%;\n }\n .ant-col-lg-pull-2 {\n right: 8.33333333%;\n }\n .ant-col-lg-offset-2 {\n margin-left: 8.33333333%;\n }\n .ant-col-lg-order-2 {\n order: 2;\n }\n .ant-col-lg-1 {\n display: block;\n flex: 0 0 4.16666667%;\n max-width: 4.16666667%;\n }\n .ant-col-lg-push-1 {\n left: 4.16666667%;\n }\n .ant-col-lg-pull-1 {\n right: 4.16666667%;\n }\n .ant-col-lg-offset-1 {\n margin-left: 4.16666667%;\n }\n .ant-col-lg-order-1 {\n order: 1;\n }\n .ant-col-lg-0 {\n display: none;\n }\n .ant-col-push-0 {\n left: auto;\n }\n .ant-col-pull-0 {\n right: auto;\n }\n .ant-col-lg-push-0 {\n left: auto;\n }\n .ant-col-lg-pull-0 {\n right: auto;\n }\n .ant-col-lg-offset-0 {\n margin-left: 0;\n }\n .ant-col-lg-order-0 {\n order: 0;\n }\n .ant-col-push-0.ant-col-rtl {\n right: auto;\n }\n .ant-col-pull-0.ant-col-rtl {\n left: auto;\n }\n .ant-col-lg-push-0.ant-col-rtl {\n right: auto;\n }\n .ant-col-lg-pull-0.ant-col-rtl {\n left: auto;\n }\n .ant-col-lg-offset-0.ant-col-rtl {\n margin-right: 0;\n }\n .ant-col-lg-push-1.ant-col-rtl {\n right: 4.16666667%;\n left: auto;\n }\n .ant-col-lg-pull-1.ant-col-rtl {\n right: auto;\n left: 4.16666667%;\n }\n .ant-col-lg-offset-1.ant-col-rtl {\n margin-right: 4.16666667%;\n margin-left: 0;\n }\n .ant-col-lg-push-2.ant-col-rtl {\n right: 8.33333333%;\n left: auto;\n }\n .ant-col-lg-pull-2.ant-col-rtl {\n right: auto;\n left: 8.33333333%;\n }\n .ant-col-lg-offset-2.ant-col-rtl {\n margin-right: 8.33333333%;\n margin-left: 0;\n }\n .ant-col-lg-push-3.ant-col-rtl {\n right: 12.5%;\n left: auto;\n }\n .ant-col-lg-pull-3.ant-col-rtl {\n right: auto;\n left: 12.5%;\n }\n .ant-col-lg-offset-3.ant-col-rtl {\n margin-right: 12.5%;\n margin-left: 0;\n }\n .ant-col-lg-push-4.ant-col-rtl {\n right: 16.66666667%;\n left: auto;\n }\n .ant-col-lg-pull-4.ant-col-rtl {\n right: auto;\n left: 16.66666667%;\n }\n .ant-col-lg-offset-4.ant-col-rtl {\n margin-right: 16.66666667%;\n margin-left: 0;\n }\n .ant-col-lg-push-5.ant-col-rtl {\n right: 20.83333333%;\n left: auto;\n }\n .ant-col-lg-pull-5.ant-col-rtl {\n right: auto;\n left: 20.83333333%;\n }\n .ant-col-lg-offset-5.ant-col-rtl {\n margin-right: 20.83333333%;\n margin-left: 0;\n }\n .ant-col-lg-push-6.ant-col-rtl {\n right: 25%;\n left: auto;\n }\n .ant-col-lg-pull-6.ant-col-rtl {\n right: auto;\n left: 25%;\n }\n .ant-col-lg-offset-6.ant-col-rtl {\n margin-right: 25%;\n margin-left: 0;\n }\n .ant-col-lg-push-7.ant-col-rtl {\n right: 29.16666667%;\n left: auto;\n }\n .ant-col-lg-pull-7.ant-col-rtl {\n right: auto;\n left: 29.16666667%;\n }\n .ant-col-lg-offset-7.ant-col-rtl {\n margin-right: 29.16666667%;\n margin-left: 0;\n }\n .ant-col-lg-push-8.ant-col-rtl {\n right: 33.33333333%;\n left: auto;\n }\n .ant-col-lg-pull-8.ant-col-rtl {\n right: auto;\n left: 33.33333333%;\n }\n .ant-col-lg-offset-8.ant-col-rtl {\n margin-right: 33.33333333%;\n margin-left: 0;\n }\n .ant-col-lg-push-9.ant-col-rtl {\n right: 37.5%;\n left: auto;\n }\n .ant-col-lg-pull-9.ant-col-rtl {\n right: auto;\n left: 37.5%;\n }\n .ant-col-lg-offset-9.ant-col-rtl {\n margin-right: 37.5%;\n margin-left: 0;\n }\n .ant-col-lg-push-10.ant-col-rtl {\n right: 41.66666667%;\n left: auto;\n }\n .ant-col-lg-pull-10.ant-col-rtl {\n right: auto;\n left: 41.66666667%;\n }\n .ant-col-lg-offset-10.ant-col-rtl {\n margin-right: 41.66666667%;\n margin-left: 0;\n }\n .ant-col-lg-push-11.ant-col-rtl {\n right: 45.83333333%;\n left: auto;\n }\n .ant-col-lg-pull-11.ant-col-rtl {\n right: auto;\n left: 45.83333333%;\n }\n .ant-col-lg-offset-11.ant-col-rtl {\n margin-right: 45.83333333%;\n margin-left: 0;\n }\n .ant-col-lg-push-12.ant-col-rtl {\n right: 50%;\n left: auto;\n }\n .ant-col-lg-pull-12.ant-col-rtl {\n right: auto;\n left: 50%;\n }\n .ant-col-lg-offset-12.ant-col-rtl {\n margin-right: 50%;\n margin-left: 0;\n }\n .ant-col-lg-push-13.ant-col-rtl {\n right: 54.16666667%;\n left: auto;\n }\n .ant-col-lg-pull-13.ant-col-rtl {\n right: auto;\n left: 54.16666667%;\n }\n .ant-col-lg-offset-13.ant-col-rtl {\n margin-right: 54.16666667%;\n margin-left: 0;\n }\n .ant-col-lg-push-14.ant-col-rtl {\n right: 58.33333333%;\n left: auto;\n }\n .ant-col-lg-pull-14.ant-col-rtl {\n right: auto;\n left: 58.33333333%;\n }\n .ant-col-lg-offset-14.ant-col-rtl {\n margin-right: 58.33333333%;\n margin-left: 0;\n }\n .ant-col-lg-push-15.ant-col-rtl {\n right: 62.5%;\n left: auto;\n }\n .ant-col-lg-pull-15.ant-col-rtl {\n right: auto;\n left: 62.5%;\n }\n .ant-col-lg-offset-15.ant-col-rtl {\n margin-right: 62.5%;\n margin-left: 0;\n }\n .ant-col-lg-push-16.ant-col-rtl {\n right: 66.66666667%;\n left: auto;\n }\n .ant-col-lg-pull-16.ant-col-rtl {\n right: auto;\n left: 66.66666667%;\n }\n .ant-col-lg-offset-16.ant-col-rtl {\n margin-right: 66.66666667%;\n margin-left: 0;\n }\n .ant-col-lg-push-17.ant-col-rtl {\n right: 70.83333333%;\n left: auto;\n }\n .ant-col-lg-pull-17.ant-col-rtl {\n right: auto;\n left: 70.83333333%;\n }\n .ant-col-lg-offset-17.ant-col-rtl {\n margin-right: 70.83333333%;\n margin-left: 0;\n }\n .ant-col-lg-push-18.ant-col-rtl {\n right: 75%;\n left: auto;\n }\n .ant-col-lg-pull-18.ant-col-rtl {\n right: auto;\n left: 75%;\n }\n .ant-col-lg-offset-18.ant-col-rtl {\n margin-right: 75%;\n margin-left: 0;\n }\n .ant-col-lg-push-19.ant-col-rtl {\n right: 79.16666667%;\n left: auto;\n }\n .ant-col-lg-pull-19.ant-col-rtl {\n right: auto;\n left: 79.16666667%;\n }\n .ant-col-lg-offset-19.ant-col-rtl {\n margin-right: 79.16666667%;\n margin-left: 0;\n }\n .ant-col-lg-push-20.ant-col-rtl {\n right: 83.33333333%;\n left: auto;\n }\n .ant-col-lg-pull-20.ant-col-rtl {\n right: auto;\n left: 83.33333333%;\n }\n .ant-col-lg-offset-20.ant-col-rtl {\n margin-right: 83.33333333%;\n margin-left: 0;\n }\n .ant-col-lg-push-21.ant-col-rtl {\n right: 87.5%;\n left: auto;\n }\n .ant-col-lg-pull-21.ant-col-rtl {\n right: auto;\n left: 87.5%;\n }\n .ant-col-lg-offset-21.ant-col-rtl {\n margin-right: 87.5%;\n margin-left: 0;\n }\n .ant-col-lg-push-22.ant-col-rtl {\n right: 91.66666667%;\n left: auto;\n }\n .ant-col-lg-pull-22.ant-col-rtl {\n right: auto;\n left: 91.66666667%;\n }\n .ant-col-lg-offset-22.ant-col-rtl {\n margin-right: 91.66666667%;\n margin-left: 0;\n }\n .ant-col-lg-push-23.ant-col-rtl {\n right: 95.83333333%;\n left: auto;\n }\n .ant-col-lg-pull-23.ant-col-rtl {\n right: auto;\n left: 95.83333333%;\n }\n .ant-col-lg-offset-23.ant-col-rtl {\n margin-right: 95.83333333%;\n margin-left: 0;\n }\n .ant-col-lg-push-24.ant-col-rtl {\n right: 100%;\n left: auto;\n }\n .ant-col-lg-pull-24.ant-col-rtl {\n right: auto;\n left: 100%;\n }\n .ant-col-lg-offset-24.ant-col-rtl {\n margin-right: 100%;\n margin-left: 0;\n }\n}\n@media (min-width: 1200px) {\n .ant-col-xl-24 {\n display: block;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .ant-col-xl-push-24 {\n left: 100%;\n }\n .ant-col-xl-pull-24 {\n right: 100%;\n }\n .ant-col-xl-offset-24 {\n margin-left: 100%;\n }\n .ant-col-xl-order-24 {\n order: 24;\n }\n .ant-col-xl-23 {\n display: block;\n flex: 0 0 95.83333333%;\n max-width: 95.83333333%;\n }\n .ant-col-xl-push-23 {\n left: 95.83333333%;\n }\n .ant-col-xl-pull-23 {\n right: 95.83333333%;\n }\n .ant-col-xl-offset-23 {\n margin-left: 95.83333333%;\n }\n .ant-col-xl-order-23 {\n order: 23;\n }\n .ant-col-xl-22 {\n display: block;\n flex: 0 0 91.66666667%;\n max-width: 91.66666667%;\n }\n .ant-col-xl-push-22 {\n left: 91.66666667%;\n }\n .ant-col-xl-pull-22 {\n right: 91.66666667%;\n }\n .ant-col-xl-offset-22 {\n margin-left: 91.66666667%;\n }\n .ant-col-xl-order-22 {\n order: 22;\n }\n .ant-col-xl-21 {\n display: block;\n flex: 0 0 87.5%;\n max-width: 87.5%;\n }\n .ant-col-xl-push-21 {\n left: 87.5%;\n }\n .ant-col-xl-pull-21 {\n right: 87.5%;\n }\n .ant-col-xl-offset-21 {\n margin-left: 87.5%;\n }\n .ant-col-xl-order-21 {\n order: 21;\n }\n .ant-col-xl-20 {\n display: block;\n flex: 0 0 83.33333333%;\n max-width: 83.33333333%;\n }\n .ant-col-xl-push-20 {\n left: 83.33333333%;\n }\n .ant-col-xl-pull-20 {\n right: 83.33333333%;\n }\n .ant-col-xl-offset-20 {\n margin-left: 83.33333333%;\n }\n .ant-col-xl-order-20 {\n order: 20;\n }\n .ant-col-xl-19 {\n display: block;\n flex: 0 0 79.16666667%;\n max-width: 79.16666667%;\n }\n .ant-col-xl-push-19 {\n left: 79.16666667%;\n }\n .ant-col-xl-pull-19 {\n right: 79.16666667%;\n }\n .ant-col-xl-offset-19 {\n margin-left: 79.16666667%;\n }\n .ant-col-xl-order-19 {\n order: 19;\n }\n .ant-col-xl-18 {\n display: block;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .ant-col-xl-push-18 {\n left: 75%;\n }\n .ant-col-xl-pull-18 {\n right: 75%;\n }\n .ant-col-xl-offset-18 {\n margin-left: 75%;\n }\n .ant-col-xl-order-18 {\n order: 18;\n }\n .ant-col-xl-17 {\n display: block;\n flex: 0 0 70.83333333%;\n max-width: 70.83333333%;\n }\n .ant-col-xl-push-17 {\n left: 70.83333333%;\n }\n .ant-col-xl-pull-17 {\n right: 70.83333333%;\n }\n .ant-col-xl-offset-17 {\n margin-left: 70.83333333%;\n }\n .ant-col-xl-order-17 {\n order: 17;\n }\n .ant-col-xl-16 {\n display: block;\n flex: 0 0 66.66666667%;\n max-width: 66.66666667%;\n }\n .ant-col-xl-push-16 {\n left: 66.66666667%;\n }\n .ant-col-xl-pull-16 {\n right: 66.66666667%;\n }\n .ant-col-xl-offset-16 {\n margin-left: 66.66666667%;\n }\n .ant-col-xl-order-16 {\n order: 16;\n }\n .ant-col-xl-15 {\n display: block;\n flex: 0 0 62.5%;\n max-width: 62.5%;\n }\n .ant-col-xl-push-15 {\n left: 62.5%;\n }\n .ant-col-xl-pull-15 {\n right: 62.5%;\n }\n .ant-col-xl-offset-15 {\n margin-left: 62.5%;\n }\n .ant-col-xl-order-15 {\n order: 15;\n }\n .ant-col-xl-14 {\n display: block;\n flex: 0 0 58.33333333%;\n max-width: 58.33333333%;\n }\n .ant-col-xl-push-14 {\n left: 58.33333333%;\n }\n .ant-col-xl-pull-14 {\n right: 58.33333333%;\n }\n .ant-col-xl-offset-14 {\n margin-left: 58.33333333%;\n }\n .ant-col-xl-order-14 {\n order: 14;\n }\n .ant-col-xl-13 {\n display: block;\n flex: 0 0 54.16666667%;\n max-width: 54.16666667%;\n }\n .ant-col-xl-push-13 {\n left: 54.16666667%;\n }\n .ant-col-xl-pull-13 {\n right: 54.16666667%;\n }\n .ant-col-xl-offset-13 {\n margin-left: 54.16666667%;\n }\n .ant-col-xl-order-13 {\n order: 13;\n }\n .ant-col-xl-12 {\n display: block;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .ant-col-xl-push-12 {\n left: 50%;\n }\n .ant-col-xl-pull-12 {\n right: 50%;\n }\n .ant-col-xl-offset-12 {\n margin-left: 50%;\n }\n .ant-col-xl-order-12 {\n order: 12;\n }\n .ant-col-xl-11 {\n display: block;\n flex: 0 0 45.83333333%;\n max-width: 45.83333333%;\n }\n .ant-col-xl-push-11 {\n left: 45.83333333%;\n }\n .ant-col-xl-pull-11 {\n right: 45.83333333%;\n }\n .ant-col-xl-offset-11 {\n margin-left: 45.83333333%;\n }\n .ant-col-xl-order-11 {\n order: 11;\n }\n .ant-col-xl-10 {\n display: block;\n flex: 0 0 41.66666667%;\n max-width: 41.66666667%;\n }\n .ant-col-xl-push-10 {\n left: 41.66666667%;\n }\n .ant-col-xl-pull-10 {\n right: 41.66666667%;\n }\n .ant-col-xl-offset-10 {\n margin-left: 41.66666667%;\n }\n .ant-col-xl-order-10 {\n order: 10;\n }\n .ant-col-xl-9 {\n display: block;\n flex: 0 0 37.5%;\n max-width: 37.5%;\n }\n .ant-col-xl-push-9 {\n left: 37.5%;\n }\n .ant-col-xl-pull-9 {\n right: 37.5%;\n }\n .ant-col-xl-offset-9 {\n margin-left: 37.5%;\n }\n .ant-col-xl-order-9 {\n order: 9;\n }\n .ant-col-xl-8 {\n display: block;\n flex: 0 0 33.33333333%;\n max-width: 33.33333333%;\n }\n .ant-col-xl-push-8 {\n left: 33.33333333%;\n }\n .ant-col-xl-pull-8 {\n right: 33.33333333%;\n }\n .ant-col-xl-offset-8 {\n margin-left: 33.33333333%;\n }\n .ant-col-xl-order-8 {\n order: 8;\n }\n .ant-col-xl-7 {\n display: block;\n flex: 0 0 29.16666667%;\n max-width: 29.16666667%;\n }\n .ant-col-xl-push-7 {\n left: 29.16666667%;\n }\n .ant-col-xl-pull-7 {\n right: 29.16666667%;\n }\n .ant-col-xl-offset-7 {\n margin-left: 29.16666667%;\n }\n .ant-col-xl-order-7 {\n order: 7;\n }\n .ant-col-xl-6 {\n display: block;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .ant-col-xl-push-6 {\n left: 25%;\n }\n .ant-col-xl-pull-6 {\n right: 25%;\n }\n .ant-col-xl-offset-6 {\n margin-left: 25%;\n }\n .ant-col-xl-order-6 {\n order: 6;\n }\n .ant-col-xl-5 {\n display: block;\n flex: 0 0 20.83333333%;\n max-width: 20.83333333%;\n }\n .ant-col-xl-push-5 {\n left: 20.83333333%;\n }\n .ant-col-xl-pull-5 {\n right: 20.83333333%;\n }\n .ant-col-xl-offset-5 {\n margin-left: 20.83333333%;\n }\n .ant-col-xl-order-5 {\n order: 5;\n }\n .ant-col-xl-4 {\n display: block;\n flex: 0 0 16.66666667%;\n max-width: 16.66666667%;\n }\n .ant-col-xl-push-4 {\n left: 16.66666667%;\n }\n .ant-col-xl-pull-4 {\n right: 16.66666667%;\n }\n .ant-col-xl-offset-4 {\n margin-left: 16.66666667%;\n }\n .ant-col-xl-order-4 {\n order: 4;\n }\n .ant-col-xl-3 {\n display: block;\n flex: 0 0 12.5%;\n max-width: 12.5%;\n }\n .ant-col-xl-push-3 {\n left: 12.5%;\n }\n .ant-col-xl-pull-3 {\n right: 12.5%;\n }\n .ant-col-xl-offset-3 {\n margin-left: 12.5%;\n }\n .ant-col-xl-order-3 {\n order: 3;\n }\n .ant-col-xl-2 {\n display: block;\n flex: 0 0 8.33333333%;\n max-width: 8.33333333%;\n }\n .ant-col-xl-push-2 {\n left: 8.33333333%;\n }\n .ant-col-xl-pull-2 {\n right: 8.33333333%;\n }\n .ant-col-xl-offset-2 {\n margin-left: 8.33333333%;\n }\n .ant-col-xl-order-2 {\n order: 2;\n }\n .ant-col-xl-1 {\n display: block;\n flex: 0 0 4.16666667%;\n max-width: 4.16666667%;\n }\n .ant-col-xl-push-1 {\n left: 4.16666667%;\n }\n .ant-col-xl-pull-1 {\n right: 4.16666667%;\n }\n .ant-col-xl-offset-1 {\n margin-left: 4.16666667%;\n }\n .ant-col-xl-order-1 {\n order: 1;\n }\n .ant-col-xl-0 {\n display: none;\n }\n .ant-col-push-0 {\n left: auto;\n }\n .ant-col-pull-0 {\n right: auto;\n }\n .ant-col-xl-push-0 {\n left: auto;\n }\n .ant-col-xl-pull-0 {\n right: auto;\n }\n .ant-col-xl-offset-0 {\n margin-left: 0;\n }\n .ant-col-xl-order-0 {\n order: 0;\n }\n .ant-col-push-0.ant-col-rtl {\n right: auto;\n }\n .ant-col-pull-0.ant-col-rtl {\n left: auto;\n }\n .ant-col-xl-push-0.ant-col-rtl {\n right: auto;\n }\n .ant-col-xl-pull-0.ant-col-rtl {\n left: auto;\n }\n .ant-col-xl-offset-0.ant-col-rtl {\n margin-right: 0;\n }\n .ant-col-xl-push-1.ant-col-rtl {\n right: 4.16666667%;\n left: auto;\n }\n .ant-col-xl-pull-1.ant-col-rtl {\n right: auto;\n left: 4.16666667%;\n }\n .ant-col-xl-offset-1.ant-col-rtl {\n margin-right: 4.16666667%;\n margin-left: 0;\n }\n .ant-col-xl-push-2.ant-col-rtl {\n right: 8.33333333%;\n left: auto;\n }\n .ant-col-xl-pull-2.ant-col-rtl {\n right: auto;\n left: 8.33333333%;\n }\n .ant-col-xl-offset-2.ant-col-rtl {\n margin-right: 8.33333333%;\n margin-left: 0;\n }\n .ant-col-xl-push-3.ant-col-rtl {\n right: 12.5%;\n left: auto;\n }\n .ant-col-xl-pull-3.ant-col-rtl {\n right: auto;\n left: 12.5%;\n }\n .ant-col-xl-offset-3.ant-col-rtl {\n margin-right: 12.5%;\n margin-left: 0;\n }\n .ant-col-xl-push-4.ant-col-rtl {\n right: 16.66666667%;\n left: auto;\n }\n .ant-col-xl-pull-4.ant-col-rtl {\n right: auto;\n left: 16.66666667%;\n }\n .ant-col-xl-offset-4.ant-col-rtl {\n margin-right: 16.66666667%;\n margin-left: 0;\n }\n .ant-col-xl-push-5.ant-col-rtl {\n right: 20.83333333%;\n left: auto;\n }\n .ant-col-xl-pull-5.ant-col-rtl {\n right: auto;\n left: 20.83333333%;\n }\n .ant-col-xl-offset-5.ant-col-rtl {\n margin-right: 20.83333333%;\n margin-left: 0;\n }\n .ant-col-xl-push-6.ant-col-rtl {\n right: 25%;\n left: auto;\n }\n .ant-col-xl-pull-6.ant-col-rtl {\n right: auto;\n left: 25%;\n }\n .ant-col-xl-offset-6.ant-col-rtl {\n margin-right: 25%;\n margin-left: 0;\n }\n .ant-col-xl-push-7.ant-col-rtl {\n right: 29.16666667%;\n left: auto;\n }\n .ant-col-xl-pull-7.ant-col-rtl {\n right: auto;\n left: 29.16666667%;\n }\n .ant-col-xl-offset-7.ant-col-rtl {\n margin-right: 29.16666667%;\n margin-left: 0;\n }\n .ant-col-xl-push-8.ant-col-rtl {\n right: 33.33333333%;\n left: auto;\n }\n .ant-col-xl-pull-8.ant-col-rtl {\n right: auto;\n left: 33.33333333%;\n }\n .ant-col-xl-offset-8.ant-col-rtl {\n margin-right: 33.33333333%;\n margin-left: 0;\n }\n .ant-col-xl-push-9.ant-col-rtl {\n right: 37.5%;\n left: auto;\n }\n .ant-col-xl-pull-9.ant-col-rtl {\n right: auto;\n left: 37.5%;\n }\n .ant-col-xl-offset-9.ant-col-rtl {\n margin-right: 37.5%;\n margin-left: 0;\n }\n .ant-col-xl-push-10.ant-col-rtl {\n right: 41.66666667%;\n left: auto;\n }\n .ant-col-xl-pull-10.ant-col-rtl {\n right: auto;\n left: 41.66666667%;\n }\n .ant-col-xl-offset-10.ant-col-rtl {\n margin-right: 41.66666667%;\n margin-left: 0;\n }\n .ant-col-xl-push-11.ant-col-rtl {\n right: 45.83333333%;\n left: auto;\n }\n .ant-col-xl-pull-11.ant-col-rtl {\n right: auto;\n left: 45.83333333%;\n }\n .ant-col-xl-offset-11.ant-col-rtl {\n margin-right: 45.83333333%;\n margin-left: 0;\n }\n .ant-col-xl-push-12.ant-col-rtl {\n right: 50%;\n left: auto;\n }\n .ant-col-xl-pull-12.ant-col-rtl {\n right: auto;\n left: 50%;\n }\n .ant-col-xl-offset-12.ant-col-rtl {\n margin-right: 50%;\n margin-left: 0;\n }\n .ant-col-xl-push-13.ant-col-rtl {\n right: 54.16666667%;\n left: auto;\n }\n .ant-col-xl-pull-13.ant-col-rtl {\n right: auto;\n left: 54.16666667%;\n }\n .ant-col-xl-offset-13.ant-col-rtl {\n margin-right: 54.16666667%;\n margin-left: 0;\n }\n .ant-col-xl-push-14.ant-col-rtl {\n right: 58.33333333%;\n left: auto;\n }\n .ant-col-xl-pull-14.ant-col-rtl {\n right: auto;\n left: 58.33333333%;\n }\n .ant-col-xl-offset-14.ant-col-rtl {\n margin-right: 58.33333333%;\n margin-left: 0;\n }\n .ant-col-xl-push-15.ant-col-rtl {\n right: 62.5%;\n left: auto;\n }\n .ant-col-xl-pull-15.ant-col-rtl {\n right: auto;\n left: 62.5%;\n }\n .ant-col-xl-offset-15.ant-col-rtl {\n margin-right: 62.5%;\n margin-left: 0;\n }\n .ant-col-xl-push-16.ant-col-rtl {\n right: 66.66666667%;\n left: auto;\n }\n .ant-col-xl-pull-16.ant-col-rtl {\n right: auto;\n left: 66.66666667%;\n }\n .ant-col-xl-offset-16.ant-col-rtl {\n margin-right: 66.66666667%;\n margin-left: 0;\n }\n .ant-col-xl-push-17.ant-col-rtl {\n right: 70.83333333%;\n left: auto;\n }\n .ant-col-xl-pull-17.ant-col-rtl {\n right: auto;\n left: 70.83333333%;\n }\n .ant-col-xl-offset-17.ant-col-rtl {\n margin-right: 70.83333333%;\n margin-left: 0;\n }\n .ant-col-xl-push-18.ant-col-rtl {\n right: 75%;\n left: auto;\n }\n .ant-col-xl-pull-18.ant-col-rtl {\n right: auto;\n left: 75%;\n }\n .ant-col-xl-offset-18.ant-col-rtl {\n margin-right: 75%;\n margin-left: 0;\n }\n .ant-col-xl-push-19.ant-col-rtl {\n right: 79.16666667%;\n left: auto;\n }\n .ant-col-xl-pull-19.ant-col-rtl {\n right: auto;\n left: 79.16666667%;\n }\n .ant-col-xl-offset-19.ant-col-rtl {\n margin-right: 79.16666667%;\n margin-left: 0;\n }\n .ant-col-xl-push-20.ant-col-rtl {\n right: 83.33333333%;\n left: auto;\n }\n .ant-col-xl-pull-20.ant-col-rtl {\n right: auto;\n left: 83.33333333%;\n }\n .ant-col-xl-offset-20.ant-col-rtl {\n margin-right: 83.33333333%;\n margin-left: 0;\n }\n .ant-col-xl-push-21.ant-col-rtl {\n right: 87.5%;\n left: auto;\n }\n .ant-col-xl-pull-21.ant-col-rtl {\n right: auto;\n left: 87.5%;\n }\n .ant-col-xl-offset-21.ant-col-rtl {\n margin-right: 87.5%;\n margin-left: 0;\n }\n .ant-col-xl-push-22.ant-col-rtl {\n right: 91.66666667%;\n left: auto;\n }\n .ant-col-xl-pull-22.ant-col-rtl {\n right: auto;\n left: 91.66666667%;\n }\n .ant-col-xl-offset-22.ant-col-rtl {\n margin-right: 91.66666667%;\n margin-left: 0;\n }\n .ant-col-xl-push-23.ant-col-rtl {\n right: 95.83333333%;\n left: auto;\n }\n .ant-col-xl-pull-23.ant-col-rtl {\n right: auto;\n left: 95.83333333%;\n }\n .ant-col-xl-offset-23.ant-col-rtl {\n margin-right: 95.83333333%;\n margin-left: 0;\n }\n .ant-col-xl-push-24.ant-col-rtl {\n right: 100%;\n left: auto;\n }\n .ant-col-xl-pull-24.ant-col-rtl {\n right: auto;\n left: 100%;\n }\n .ant-col-xl-offset-24.ant-col-rtl {\n margin-right: 100%;\n margin-left: 0;\n }\n}\n@media (min-width: 1600px) {\n .ant-col-xxl-24 {\n display: block;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .ant-col-xxl-push-24 {\n left: 100%;\n }\n .ant-col-xxl-pull-24 {\n right: 100%;\n }\n .ant-col-xxl-offset-24 {\n margin-left: 100%;\n }\n .ant-col-xxl-order-24 {\n order: 24;\n }\n .ant-col-xxl-23 {\n display: block;\n flex: 0 0 95.83333333%;\n max-width: 95.83333333%;\n }\n .ant-col-xxl-push-23 {\n left: 95.83333333%;\n }\n .ant-col-xxl-pull-23 {\n right: 95.83333333%;\n }\n .ant-col-xxl-offset-23 {\n margin-left: 95.83333333%;\n }\n .ant-col-xxl-order-23 {\n order: 23;\n }\n .ant-col-xxl-22 {\n display: block;\n flex: 0 0 91.66666667%;\n max-width: 91.66666667%;\n }\n .ant-col-xxl-push-22 {\n left: 91.66666667%;\n }\n .ant-col-xxl-pull-22 {\n right: 91.66666667%;\n }\n .ant-col-xxl-offset-22 {\n margin-left: 91.66666667%;\n }\n .ant-col-xxl-order-22 {\n order: 22;\n }\n .ant-col-xxl-21 {\n display: block;\n flex: 0 0 87.5%;\n max-width: 87.5%;\n }\n .ant-col-xxl-push-21 {\n left: 87.5%;\n }\n .ant-col-xxl-pull-21 {\n right: 87.5%;\n }\n .ant-col-xxl-offset-21 {\n margin-left: 87.5%;\n }\n .ant-col-xxl-order-21 {\n order: 21;\n }\n .ant-col-xxl-20 {\n display: block;\n flex: 0 0 83.33333333%;\n max-width: 83.33333333%;\n }\n .ant-col-xxl-push-20 {\n left: 83.33333333%;\n }\n .ant-col-xxl-pull-20 {\n right: 83.33333333%;\n }\n .ant-col-xxl-offset-20 {\n margin-left: 83.33333333%;\n }\n .ant-col-xxl-order-20 {\n order: 20;\n }\n .ant-col-xxl-19 {\n display: block;\n flex: 0 0 79.16666667%;\n max-width: 79.16666667%;\n }\n .ant-col-xxl-push-19 {\n left: 79.16666667%;\n }\n .ant-col-xxl-pull-19 {\n right: 79.16666667%;\n }\n .ant-col-xxl-offset-19 {\n margin-left: 79.16666667%;\n }\n .ant-col-xxl-order-19 {\n order: 19;\n }\n .ant-col-xxl-18 {\n display: block;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .ant-col-xxl-push-18 {\n left: 75%;\n }\n .ant-col-xxl-pull-18 {\n right: 75%;\n }\n .ant-col-xxl-offset-18 {\n margin-left: 75%;\n }\n .ant-col-xxl-order-18 {\n order: 18;\n }\n .ant-col-xxl-17 {\n display: block;\n flex: 0 0 70.83333333%;\n max-width: 70.83333333%;\n }\n .ant-col-xxl-push-17 {\n left: 70.83333333%;\n }\n .ant-col-xxl-pull-17 {\n right: 70.83333333%;\n }\n .ant-col-xxl-offset-17 {\n margin-left: 70.83333333%;\n }\n .ant-col-xxl-order-17 {\n order: 17;\n }\n .ant-col-xxl-16 {\n display: block;\n flex: 0 0 66.66666667%;\n max-width: 66.66666667%;\n }\n .ant-col-xxl-push-16 {\n left: 66.66666667%;\n }\n .ant-col-xxl-pull-16 {\n right: 66.66666667%;\n }\n .ant-col-xxl-offset-16 {\n margin-left: 66.66666667%;\n }\n .ant-col-xxl-order-16 {\n order: 16;\n }\n .ant-col-xxl-15 {\n display: block;\n flex: 0 0 62.5%;\n max-width: 62.5%;\n }\n .ant-col-xxl-push-15 {\n left: 62.5%;\n }\n .ant-col-xxl-pull-15 {\n right: 62.5%;\n }\n .ant-col-xxl-offset-15 {\n margin-left: 62.5%;\n }\n .ant-col-xxl-order-15 {\n order: 15;\n }\n .ant-col-xxl-14 {\n display: block;\n flex: 0 0 58.33333333%;\n max-width: 58.33333333%;\n }\n .ant-col-xxl-push-14 {\n left: 58.33333333%;\n }\n .ant-col-xxl-pull-14 {\n right: 58.33333333%;\n }\n .ant-col-xxl-offset-14 {\n margin-left: 58.33333333%;\n }\n .ant-col-xxl-order-14 {\n order: 14;\n }\n .ant-col-xxl-13 {\n display: block;\n flex: 0 0 54.16666667%;\n max-width: 54.16666667%;\n }\n .ant-col-xxl-push-13 {\n left: 54.16666667%;\n }\n .ant-col-xxl-pull-13 {\n right: 54.16666667%;\n }\n .ant-col-xxl-offset-13 {\n margin-left: 54.16666667%;\n }\n .ant-col-xxl-order-13 {\n order: 13;\n }\n .ant-col-xxl-12 {\n display: block;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .ant-col-xxl-push-12 {\n left: 50%;\n }\n .ant-col-xxl-pull-12 {\n right: 50%;\n }\n .ant-col-xxl-offset-12 {\n margin-left: 50%;\n }\n .ant-col-xxl-order-12 {\n order: 12;\n }\n .ant-col-xxl-11 {\n display: block;\n flex: 0 0 45.83333333%;\n max-width: 45.83333333%;\n }\n .ant-col-xxl-push-11 {\n left: 45.83333333%;\n }\n .ant-col-xxl-pull-11 {\n right: 45.83333333%;\n }\n .ant-col-xxl-offset-11 {\n margin-left: 45.83333333%;\n }\n .ant-col-xxl-order-11 {\n order: 11;\n }\n .ant-col-xxl-10 {\n display: block;\n flex: 0 0 41.66666667%;\n max-width: 41.66666667%;\n }\n .ant-col-xxl-push-10 {\n left: 41.66666667%;\n }\n .ant-col-xxl-pull-10 {\n right: 41.66666667%;\n }\n .ant-col-xxl-offset-10 {\n margin-left: 41.66666667%;\n }\n .ant-col-xxl-order-10 {\n order: 10;\n }\n .ant-col-xxl-9 {\n display: block;\n flex: 0 0 37.5%;\n max-width: 37.5%;\n }\n .ant-col-xxl-push-9 {\n left: 37.5%;\n }\n .ant-col-xxl-pull-9 {\n right: 37.5%;\n }\n .ant-col-xxl-offset-9 {\n margin-left: 37.5%;\n }\n .ant-col-xxl-order-9 {\n order: 9;\n }\n .ant-col-xxl-8 {\n display: block;\n flex: 0 0 33.33333333%;\n max-width: 33.33333333%;\n }\n .ant-col-xxl-push-8 {\n left: 33.33333333%;\n }\n .ant-col-xxl-pull-8 {\n right: 33.33333333%;\n }\n .ant-col-xxl-offset-8 {\n margin-left: 33.33333333%;\n }\n .ant-col-xxl-order-8 {\n order: 8;\n }\n .ant-col-xxl-7 {\n display: block;\n flex: 0 0 29.16666667%;\n max-width: 29.16666667%;\n }\n .ant-col-xxl-push-7 {\n left: 29.16666667%;\n }\n .ant-col-xxl-pull-7 {\n right: 29.16666667%;\n }\n .ant-col-xxl-offset-7 {\n margin-left: 29.16666667%;\n }\n .ant-col-xxl-order-7 {\n order: 7;\n }\n .ant-col-xxl-6 {\n display: block;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .ant-col-xxl-push-6 {\n left: 25%;\n }\n .ant-col-xxl-pull-6 {\n right: 25%;\n }\n .ant-col-xxl-offset-6 {\n margin-left: 25%;\n }\n .ant-col-xxl-order-6 {\n order: 6;\n }\n .ant-col-xxl-5 {\n display: block;\n flex: 0 0 20.83333333%;\n max-width: 20.83333333%;\n }\n .ant-col-xxl-push-5 {\n left: 20.83333333%;\n }\n .ant-col-xxl-pull-5 {\n right: 20.83333333%;\n }\n .ant-col-xxl-offset-5 {\n margin-left: 20.83333333%;\n }\n .ant-col-xxl-order-5 {\n order: 5;\n }\n .ant-col-xxl-4 {\n display: block;\n flex: 0 0 16.66666667%;\n max-width: 16.66666667%;\n }\n .ant-col-xxl-push-4 {\n left: 16.66666667%;\n }\n .ant-col-xxl-pull-4 {\n right: 16.66666667%;\n }\n .ant-col-xxl-offset-4 {\n margin-left: 16.66666667%;\n }\n .ant-col-xxl-order-4 {\n order: 4;\n }\n .ant-col-xxl-3 {\n display: block;\n flex: 0 0 12.5%;\n max-width: 12.5%;\n }\n .ant-col-xxl-push-3 {\n left: 12.5%;\n }\n .ant-col-xxl-pull-3 {\n right: 12.5%;\n }\n .ant-col-xxl-offset-3 {\n margin-left: 12.5%;\n }\n .ant-col-xxl-order-3 {\n order: 3;\n }\n .ant-col-xxl-2 {\n display: block;\n flex: 0 0 8.33333333%;\n max-width: 8.33333333%;\n }\n .ant-col-xxl-push-2 {\n left: 8.33333333%;\n }\n .ant-col-xxl-pull-2 {\n right: 8.33333333%;\n }\n .ant-col-xxl-offset-2 {\n margin-left: 8.33333333%;\n }\n .ant-col-xxl-order-2 {\n order: 2;\n }\n .ant-col-xxl-1 {\n display: block;\n flex: 0 0 4.16666667%;\n max-width: 4.16666667%;\n }\n .ant-col-xxl-push-1 {\n left: 4.16666667%;\n }\n .ant-col-xxl-pull-1 {\n right: 4.16666667%;\n }\n .ant-col-xxl-offset-1 {\n margin-left: 4.16666667%;\n }\n .ant-col-xxl-order-1 {\n order: 1;\n }\n .ant-col-xxl-0 {\n display: none;\n }\n .ant-col-push-0 {\n left: auto;\n }\n .ant-col-pull-0 {\n right: auto;\n }\n .ant-col-xxl-push-0 {\n left: auto;\n }\n .ant-col-xxl-pull-0 {\n right: auto;\n }\n .ant-col-xxl-offset-0 {\n margin-left: 0;\n }\n .ant-col-xxl-order-0 {\n order: 0;\n }\n .ant-col-push-0.ant-col-rtl {\n right: auto;\n }\n .ant-col-pull-0.ant-col-rtl {\n left: auto;\n }\n .ant-col-xxl-push-0.ant-col-rtl {\n right: auto;\n }\n .ant-col-xxl-pull-0.ant-col-rtl {\n left: auto;\n }\n .ant-col-xxl-offset-0.ant-col-rtl {\n margin-right: 0;\n }\n .ant-col-xxl-push-1.ant-col-rtl {\n right: 4.16666667%;\n left: auto;\n }\n .ant-col-xxl-pull-1.ant-col-rtl {\n right: auto;\n left: 4.16666667%;\n }\n .ant-col-xxl-offset-1.ant-col-rtl {\n margin-right: 4.16666667%;\n margin-left: 0;\n }\n .ant-col-xxl-push-2.ant-col-rtl {\n right: 8.33333333%;\n left: auto;\n }\n .ant-col-xxl-pull-2.ant-col-rtl {\n right: auto;\n left: 8.33333333%;\n }\n .ant-col-xxl-offset-2.ant-col-rtl {\n margin-right: 8.33333333%;\n margin-left: 0;\n }\n .ant-col-xxl-push-3.ant-col-rtl {\n right: 12.5%;\n left: auto;\n }\n .ant-col-xxl-pull-3.ant-col-rtl {\n right: auto;\n left: 12.5%;\n }\n .ant-col-xxl-offset-3.ant-col-rtl {\n margin-right: 12.5%;\n margin-left: 0;\n }\n .ant-col-xxl-push-4.ant-col-rtl {\n right: 16.66666667%;\n left: auto;\n }\n .ant-col-xxl-pull-4.ant-col-rtl {\n right: auto;\n left: 16.66666667%;\n }\n .ant-col-xxl-offset-4.ant-col-rtl {\n margin-right: 16.66666667%;\n margin-left: 0;\n }\n .ant-col-xxl-push-5.ant-col-rtl {\n right: 20.83333333%;\n left: auto;\n }\n .ant-col-xxl-pull-5.ant-col-rtl {\n right: auto;\n left: 20.83333333%;\n }\n .ant-col-xxl-offset-5.ant-col-rtl {\n margin-right: 20.83333333%;\n margin-left: 0;\n }\n .ant-col-xxl-push-6.ant-col-rtl {\n right: 25%;\n left: auto;\n }\n .ant-col-xxl-pull-6.ant-col-rtl {\n right: auto;\n left: 25%;\n }\n .ant-col-xxl-offset-6.ant-col-rtl {\n margin-right: 25%;\n margin-left: 0;\n }\n .ant-col-xxl-push-7.ant-col-rtl {\n right: 29.16666667%;\n left: auto;\n }\n .ant-col-xxl-pull-7.ant-col-rtl {\n right: auto;\n left: 29.16666667%;\n }\n .ant-col-xxl-offset-7.ant-col-rtl {\n margin-right: 29.16666667%;\n margin-left: 0;\n }\n .ant-col-xxl-push-8.ant-col-rtl {\n right: 33.33333333%;\n left: auto;\n }\n .ant-col-xxl-pull-8.ant-col-rtl {\n right: auto;\n left: 33.33333333%;\n }\n .ant-col-xxl-offset-8.ant-col-rtl {\n margin-right: 33.33333333%;\n margin-left: 0;\n }\n .ant-col-xxl-push-9.ant-col-rtl {\n right: 37.5%;\n left: auto;\n }\n .ant-col-xxl-pull-9.ant-col-rtl {\n right: auto;\n left: 37.5%;\n }\n .ant-col-xxl-offset-9.ant-col-rtl {\n margin-right: 37.5%;\n margin-left: 0;\n }\n .ant-col-xxl-push-10.ant-col-rtl {\n right: 41.66666667%;\n left: auto;\n }\n .ant-col-xxl-pull-10.ant-col-rtl {\n right: auto;\n left: 41.66666667%;\n }\n .ant-col-xxl-offset-10.ant-col-rtl {\n margin-right: 41.66666667%;\n margin-left: 0;\n }\n .ant-col-xxl-push-11.ant-col-rtl {\n right: 45.83333333%;\n left: auto;\n }\n .ant-col-xxl-pull-11.ant-col-rtl {\n right: auto;\n left: 45.83333333%;\n }\n .ant-col-xxl-offset-11.ant-col-rtl {\n margin-right: 45.83333333%;\n margin-left: 0;\n }\n .ant-col-xxl-push-12.ant-col-rtl {\n right: 50%;\n left: auto;\n }\n .ant-col-xxl-pull-12.ant-col-rtl {\n right: auto;\n left: 50%;\n }\n .ant-col-xxl-offset-12.ant-col-rtl {\n margin-right: 50%;\n margin-left: 0;\n }\n .ant-col-xxl-push-13.ant-col-rtl {\n right: 54.16666667%;\n left: auto;\n }\n .ant-col-xxl-pull-13.ant-col-rtl {\n right: auto;\n left: 54.16666667%;\n }\n .ant-col-xxl-offset-13.ant-col-rtl {\n margin-right: 54.16666667%;\n margin-left: 0;\n }\n .ant-col-xxl-push-14.ant-col-rtl {\n right: 58.33333333%;\n left: auto;\n }\n .ant-col-xxl-pull-14.ant-col-rtl {\n right: auto;\n left: 58.33333333%;\n }\n .ant-col-xxl-offset-14.ant-col-rtl {\n margin-right: 58.33333333%;\n margin-left: 0;\n }\n .ant-col-xxl-push-15.ant-col-rtl {\n right: 62.5%;\n left: auto;\n }\n .ant-col-xxl-pull-15.ant-col-rtl {\n right: auto;\n left: 62.5%;\n }\n .ant-col-xxl-offset-15.ant-col-rtl {\n margin-right: 62.5%;\n margin-left: 0;\n }\n .ant-col-xxl-push-16.ant-col-rtl {\n right: 66.66666667%;\n left: auto;\n }\n .ant-col-xxl-pull-16.ant-col-rtl {\n right: auto;\n left: 66.66666667%;\n }\n .ant-col-xxl-offset-16.ant-col-rtl {\n margin-right: 66.66666667%;\n margin-left: 0;\n }\n .ant-col-xxl-push-17.ant-col-rtl {\n right: 70.83333333%;\n left: auto;\n }\n .ant-col-xxl-pull-17.ant-col-rtl {\n right: auto;\n left: 70.83333333%;\n }\n .ant-col-xxl-offset-17.ant-col-rtl {\n margin-right: 70.83333333%;\n margin-left: 0;\n }\n .ant-col-xxl-push-18.ant-col-rtl {\n right: 75%;\n left: auto;\n }\n .ant-col-xxl-pull-18.ant-col-rtl {\n right: auto;\n left: 75%;\n }\n .ant-col-xxl-offset-18.ant-col-rtl {\n margin-right: 75%;\n margin-left: 0;\n }\n .ant-col-xxl-push-19.ant-col-rtl {\n right: 79.16666667%;\n left: auto;\n }\n .ant-col-xxl-pull-19.ant-col-rtl {\n right: auto;\n left: 79.16666667%;\n }\n .ant-col-xxl-offset-19.ant-col-rtl {\n margin-right: 79.16666667%;\n margin-left: 0;\n }\n .ant-col-xxl-push-20.ant-col-rtl {\n right: 83.33333333%;\n left: auto;\n }\n .ant-col-xxl-pull-20.ant-col-rtl {\n right: auto;\n left: 83.33333333%;\n }\n .ant-col-xxl-offset-20.ant-col-rtl {\n margin-right: 83.33333333%;\n margin-left: 0;\n }\n .ant-col-xxl-push-21.ant-col-rtl {\n right: 87.5%;\n left: auto;\n }\n .ant-col-xxl-pull-21.ant-col-rtl {\n right: auto;\n left: 87.5%;\n }\n .ant-col-xxl-offset-21.ant-col-rtl {\n margin-right: 87.5%;\n margin-left: 0;\n }\n .ant-col-xxl-push-22.ant-col-rtl {\n right: 91.66666667%;\n left: auto;\n }\n .ant-col-xxl-pull-22.ant-col-rtl {\n right: auto;\n left: 91.66666667%;\n }\n .ant-col-xxl-offset-22.ant-col-rtl {\n margin-right: 91.66666667%;\n margin-left: 0;\n }\n .ant-col-xxl-push-23.ant-col-rtl {\n right: 95.83333333%;\n left: auto;\n }\n .ant-col-xxl-pull-23.ant-col-rtl {\n right: auto;\n left: 95.83333333%;\n }\n .ant-col-xxl-offset-23.ant-col-rtl {\n margin-right: 95.83333333%;\n margin-left: 0;\n }\n .ant-col-xxl-push-24.ant-col-rtl {\n right: 100%;\n left: auto;\n }\n .ant-col-xxl-pull-24.ant-col-rtl {\n right: auto;\n left: 100%;\n }\n .ant-col-xxl-offset-24.ant-col-rtl {\n margin-right: 100%;\n margin-left: 0;\n }\n}\n.ant-row-rtl {\n direction: rtl;\n}\n.ant-image {\n position: relative;\n display: inline-block;\n}\n.ant-image-img {\n width: 100%;\n height: auto;\n vertical-align: middle;\n}\n.ant-image-img-placeholder {\n background-color: #f5f5f5;\n background-image: url(${d});\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 30%;\n}\n.ant-image-mask {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #fff;\n background: rgba(0, 0, 0, 0.5);\n cursor: pointer;\n opacity: 0;\n transition: opacity 0.3s;\n}\n.ant-image-mask-info {\n padding: 0 4px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.ant-image-mask-info .anticon {\n margin-inline-end: 4px;\n}\n.ant-image-mask:hover {\n opacity: 1;\n}\n.ant-image-placeholder {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n.ant-image-preview {\n pointer-events: none;\n height: 100%;\n text-align: center;\n}\n.ant-image-preview.ant-zoom-enter,\n.ant-image-preview.ant-zoom-appear {\n transform: none;\n opacity: 0;\n animation-duration: 0.3s;\n user-select: none;\n}\n.ant-image-preview-mask {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1000;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.45);\n}\n.ant-image-preview-mask-hidden {\n display: none;\n}\n.ant-image-preview-wrap {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: auto;\n outline: 0;\n}\n.ant-image-preview-body {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: hidden;\n}\n.ant-image-preview-img {\n max-width: 100%;\n max-height: 100%;\n vertical-align: middle;\n transform: scale3d(1, 1, 1);\n cursor: grab;\n transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;\n user-select: none;\n pointer-events: auto;\n}\n.ant-image-preview-img-wrapper {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;\n}\n.ant-image-preview-img-wrapper::before {\n display: inline-block;\n width: 1px;\n height: 50%;\n margin-right: -1px;\n content: '';\n}\n.ant-image-preview-moving .ant-image-preview-img {\n cursor: grabbing;\n}\n.ant-image-preview-moving .ant-image-preview-img-wrapper {\n transition-duration: 0s;\n}\n.ant-image-preview-wrap {\n z-index: 1080;\n}\n.ant-image-preview-operations-wrapper {\n position: fixed;\n top: 0;\n right: 0;\n z-index: 1081;\n width: 100%;\n}\n.ant-image-preview-operations {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n font-feature-settings: 'tnum';\n display: flex;\n flex-direction: row-reverse;\n align-items: center;\n color: rgba(255, 255, 255, 0.85);\n list-style: none;\n background: rgba(0, 0, 0, 0.1);\n pointer-events: auto;\n}\n.ant-image-preview-operations-operation {\n margin-left: 12px;\n padding: 12px;\n cursor: pointer;\n transition: all 0.3s;\n}\n.ant-image-preview-operations-operation:hover {\n background: rgba(0, 0, 0, 0.2);\n}\n.ant-image-preview-operations-operation-disabled {\n color: rgba(255, 255, 255, 0.25);\n pointer-events: none;\n}\n.ant-image-preview-operations-operation:last-of-type {\n margin-left: 0;\n}\n.ant-image-preview-operations-progress {\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n}\n.ant-image-preview-operations-icon {\n font-size: 18px;\n}\n.ant-image-preview-switch-left,\n.ant-image-preview-switch-right {\n position: fixed;\n top: 50%;\n right: 8px;\n z-index: 1081;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 44px;\n height: 44px;\n color: rgba(255, 255, 255, 0.85);\n background: rgba(0, 0, 0, 0.1);\n border-radius: 50%;\n transform: translateY(-50%);\n cursor: pointer;\n transition: all 0.3s;\n pointer-events: auto;\n}\n.ant-image-preview-switch-left:hover,\n.ant-image-preview-switch-right:hover {\n background: rgba(0, 0, 0, 0.2);\n}\n.ant-image-preview-switch-left-disabled,\n.ant-image-preview-switch-right-disabled,\n.ant-image-preview-switch-left-disabled:hover,\n.ant-image-preview-switch-right-disabled:hover {\n color: rgba(255, 255, 255, 0.25);\n background: rgba(0, 0, 0, 0.1);\n cursor: not-allowed;\n}\n.ant-image-preview-switch-left-disabled > .anticon,\n.ant-image-preview-switch-right-disabled > .anticon,\n.ant-image-preview-switch-left-disabled:hover > .anticon,\n.ant-image-preview-switch-right-disabled:hover > .anticon {\n cursor: not-allowed;\n}\n.ant-image-preview-switch-left > .anticon,\n.ant-image-preview-switch-right > .anticon {\n font-size: 18px;\n}\n.ant-image-preview-switch-left {\n left: 8px;\n}\n.ant-image-preview-switch-right {\n right: 8px;\n}\n.ant-input-affix-wrapper {\n position: relative;\n display: inline-block;\n width: 100%;\n min-width: 0;\n padding: 4px 11px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n line-height: 1.5715;\n background-color: #fff;\n background-image: none;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n transition: all 0.3s;\n display: inline-flex;\n}\n.ant-input-affix-wrapper::placeholder {\n color: #bfbfbf;\n user-select: none;\n}\n.ant-input-affix-wrapper:placeholder-shown {\n text-overflow: ellipsis;\n}\n.ant-input-affix-wrapper:hover {\n border-color: #5096f2;\n border-right-width: 1px;\n}\n.ant-input-rtl .ant-input-affix-wrapper:hover {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-input-affix-wrapper:focus,\n.ant-input-affix-wrapper-focused {\n border-color: #5096f2;\n box-shadow: 0 0 0 2px rgba(38, 115, 229, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-rtl .ant-input-affix-wrapper:focus,\n.ant-input-rtl .ant-input-affix-wrapper-focused {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-input-affix-wrapper-disabled {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-input-affix-wrapper-disabled:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-input-affix-wrapper[disabled] {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-input-affix-wrapper[disabled]:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-input-affix-wrapper-borderless,\n.ant-input-affix-wrapper-borderless:hover,\n.ant-input-affix-wrapper-borderless:focus,\n.ant-input-affix-wrapper-borderless-focused,\n.ant-input-affix-wrapper-borderless-disabled,\n.ant-input-affix-wrapper-borderless[disabled] {\n background-color: transparent;\n border: none;\n box-shadow: none;\n}\ntextarea.ant-input-affix-wrapper {\n max-width: 100%;\n height: auto;\n min-height: 32px;\n line-height: 1.5715;\n vertical-align: bottom;\n transition: all 0.3s, height 0s;\n}\n.ant-input-affix-wrapper-lg {\n padding: 6.5px 11px;\n font-size: 16px;\n}\n.ant-input-affix-wrapper-sm {\n padding: 0px 7px;\n}\n.ant-input-affix-wrapper-rtl {\n direction: rtl;\n}\n.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {\n border-color: #5096f2;\n border-right-width: 1px;\n z-index: 1;\n}\n.ant-input-rtl .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-input-search-with-button .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {\n z-index: 0;\n}\n.ant-input-affix-wrapper-focused,\n.ant-input-affix-wrapper:focus {\n z-index: 1;\n}\n.ant-input-affix-wrapper-disabled .ant-input[disabled] {\n background: rgba(255, 255, 255, 0);\n}\n.ant-input-affix-wrapper > .ant-input {\n font-size: inherit;\n border: none;\n outline: none;\n}\n.ant-input-affix-wrapper > .ant-input:focus {\n box-shadow: none !important;\n}\n.ant-input-affix-wrapper > .ant-input:not(textarea) {\n padding: 0;\n}\n.ant-input-affix-wrapper::before {\n display: inline-block;\n width: 0;\n visibility: hidden;\n content: '\\a0';\n}\n.ant-input-prefix,\n.ant-input-suffix {\n display: flex;\n flex: none;\n align-items: center;\n}\n.ant-input-prefix > *:not(:last-child),\n.ant-input-suffix > *:not(:last-child) {\n margin-right: 8px;\n}\n.ant-input-show-count-suffix {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-input-show-count-has-suffix {\n margin-right: 2px;\n}\n.ant-input-prefix {\n margin-right: 4px;\n}\n.ant-input-suffix {\n margin-left: 4px;\n}\n.anticon.ant-input-clear-icon,\n.ant-input-clear-icon {\n margin: 0;\n color: rgba(0, 0, 0, 0.25);\n font-size: 12px;\n vertical-align: -1px;\n cursor: pointer;\n transition: color 0.3s;\n}\n.anticon.ant-input-clear-icon:hover,\n.ant-input-clear-icon:hover {\n color: rgba(0, 0, 0, 0.45);\n}\n.anticon.ant-input-clear-icon:active,\n.ant-input-clear-icon:active {\n color: rgba(0, 0, 0, 0.85);\n}\n.anticon.ant-input-clear-icon-hidden,\n.ant-input-clear-icon-hidden {\n visibility: hidden;\n}\n.anticon.ant-input-clear-icon-has-suffix,\n.ant-input-clear-icon-has-suffix {\n margin: 0 4px;\n}\n.ant-input-affix-wrapper.ant-input-affix-wrapper-textarea-with-clear-btn {\n padding: 0;\n}\n.ant-input-affix-wrapper.ant-input-affix-wrapper-textarea-with-clear-btn .ant-input-clear-icon {\n position: absolute;\n top: 8px;\n right: 8px;\n z-index: 1;\n}\n.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input,\n.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:hover {\n background: #fff;\n border-color: #ff4d4f;\n}\n.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:focus,\n.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input-focused {\n border-color: #ff7875;\n box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-status-error .ant-input-prefix {\n color: #ff4d4f;\n}\n.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input,\n.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:hover {\n background: #fff;\n border-color: #faad14;\n}\n.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:focus,\n.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input-focused {\n border-color: #ffc53d;\n box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-status-warning .ant-input-prefix {\n color: #faad14;\n}\n.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper,\n.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:hover {\n background: #fff;\n border-color: #ff4d4f;\n}\n.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:focus,\n.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper-focused {\n border-color: #ff7875;\n box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-affix-wrapper-status-error .ant-input-prefix {\n color: #ff4d4f;\n}\n.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper,\n.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:hover {\n background: #fff;\n border-color: #faad14;\n}\n.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:focus,\n.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper-focused {\n border-color: #ffc53d;\n box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-affix-wrapper-status-warning .ant-input-prefix {\n color: #faad14;\n}\n.ant-input-textarea-status-error.ant-input-textarea-has-feedback .ant-input,\n.ant-input-textarea-status-warning.ant-input-textarea-has-feedback .ant-input,\n.ant-input-textarea-status-success.ant-input-textarea-has-feedback .ant-input,\n.ant-input-textarea-status-validating.ant-input-textarea-has-feedback .ant-input {\n padding-right: 24px;\n}\n.ant-input-group-wrapper-status-error .ant-input-group-addon {\n color: #ff4d4f;\n border-color: #ff4d4f;\n}\n.ant-input-group-wrapper-status-warning .ant-input-group-addon {\n color: #faad14;\n border-color: #faad14;\n}\n.ant-input {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n font-variant: tabular-nums;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n display: inline-block;\n width: 100%;\n min-width: 0;\n padding: 4px 11px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n line-height: 1.5715;\n background-color: #fff;\n background-image: none;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n transition: all 0.3s;\n}\n.ant-input::placeholder {\n color: #bfbfbf;\n user-select: none;\n}\n.ant-input:placeholder-shown {\n text-overflow: ellipsis;\n}\n.ant-input:hover {\n border-color: #5096f2;\n border-right-width: 1px;\n}\n.ant-input-rtl .ant-input:hover {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-input:focus,\n.ant-input-focused {\n border-color: #5096f2;\n box-shadow: 0 0 0 2px rgba(38, 115, 229, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-rtl .ant-input:focus,\n.ant-input-rtl .ant-input-focused {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-input-disabled {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-input-disabled:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-input[disabled] {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-input[disabled]:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-input-borderless,\n.ant-input-borderless:hover,\n.ant-input-borderless:focus,\n.ant-input-borderless-focused,\n.ant-input-borderless-disabled,\n.ant-input-borderless[disabled] {\n background-color: transparent;\n border: none;\n box-shadow: none;\n}\ntextarea.ant-input {\n max-width: 100%;\n height: auto;\n min-height: 32px;\n line-height: 1.5715;\n vertical-align: bottom;\n transition: all 0.3s, height 0s;\n}\n.ant-input-lg {\n padding: 6.5px 11px;\n font-size: 16px;\n}\n.ant-input-sm {\n padding: 0px 7px;\n}\n.ant-input-rtl {\n direction: rtl;\n}\n.ant-input-group {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n display: table;\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n}\n.ant-input-group[class*='col-'] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.ant-input-group > [class*='col-'] {\n padding-right: 8px;\n}\n.ant-input-group > [class*='col-']:last-child {\n padding-right: 0;\n}\n.ant-input-group-addon,\n.ant-input-group-wrap,\n.ant-input-group > .ant-input {\n display: table-cell;\n}\n.ant-input-group-addon:not(:first-child):not(:last-child),\n.ant-input-group-wrap:not(:first-child):not(:last-child),\n.ant-input-group > .ant-input:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.ant-input-group-addon,\n.ant-input-group-wrap {\n width: 1px;\n white-space: nowrap;\n vertical-align: middle;\n}\n.ant-input-group-wrap > * {\n display: block !important;\n}\n.ant-input-group .ant-input {\n float: left;\n width: 100%;\n margin-bottom: 0;\n text-align: inherit;\n}\n.ant-input-group .ant-input:focus {\n z-index: 1;\n border-right-width: 1px;\n}\n.ant-input-group .ant-input:hover {\n z-index: 1;\n border-right-width: 1px;\n}\n.ant-input-search-with-button .ant-input-group .ant-input:hover {\n z-index: 0;\n}\n.ant-input-group-addon {\n position: relative;\n padding: 0 11px;\n color: rgba(0, 0, 0, 0.85);\n font-weight: normal;\n font-size: 14px;\n text-align: center;\n background-color: #fafafa;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n transition: all 0.3s;\n}\n.ant-input-group-addon .ant-select {\n margin: -5px -11px;\n}\n.ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {\n background-color: inherit;\n border: 1px solid transparent;\n box-shadow: none;\n}\n.ant-input-group-addon .ant-select-open .ant-select-selector,\n.ant-input-group-addon .ant-select-focused .ant-select-selector {\n color: #2673e5;\n}\n.ant-input-group-addon .ant-cascader-picker {\n margin: -9px -12px;\n background-color: transparent;\n}\n.ant-input-group-addon .ant-cascader-picker .ant-cascader-input {\n text-align: left;\n border: 0;\n box-shadow: none;\n}\n.ant-input-group > .ant-input:first-child,\n.ant-input-group-addon:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-input-group > .ant-input:first-child .ant-select .ant-select-selector,\n.ant-input-group-addon:first-child .ant-select .ant-select-selector {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-input-group > .ant-input-affix-wrapper:not(:first-child) .ant-input {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-input-group > .ant-input-affix-wrapper:not(:last-child) .ant-input {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-input-group-addon:first-child {\n border-right: 0;\n}\n.ant-input-group-addon:last-child {\n border-left: 0;\n}\n.ant-input-group > .ant-input:last-child,\n.ant-input-group-addon:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-input-group > .ant-input:last-child .ant-select .ant-select-selector,\n.ant-input-group-addon:last-child .ant-select .ant-select-selector {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-input-group-lg .ant-input,\n.ant-input-group-lg > .ant-input-group-addon {\n padding: 6.5px 11px;\n font-size: 16px;\n}\n.ant-input-group-sm .ant-input,\n.ant-input-group-sm > .ant-input-group-addon {\n padding: 0px 7px;\n}\n.ant-input-group-lg .ant-select-single .ant-select-selector {\n height: 40px;\n}\n.ant-input-group-sm .ant-select-single .ant-select-selector {\n height: 24px;\n}\n.ant-input-group .ant-input-affix-wrapper:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:last-child) {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.ant-input-group .ant-input-affix-wrapper:not(:first-child),\n.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-input-group.ant-input-group-compact {\n display: block;\n}\n.ant-input-group.ant-input-group-compact::before {\n display: table;\n content: '';\n}\n.ant-input-group.ant-input-group-compact::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-input-group.ant-input-group-compact::before {\n display: table;\n content: '';\n}\n.ant-input-group.ant-input-group-compact::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child),\n.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child),\n.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child) {\n border-right-width: 1px;\n}\n.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):hover,\n.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):hover,\n.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):hover {\n z-index: 1;\n}\n.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):focus,\n.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):focus,\n.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):focus {\n z-index: 1;\n}\n.ant-input-group.ant-input-group-compact > * {\n display: inline-block;\n float: none;\n vertical-align: top;\n border-radius: 0;\n}\n.ant-input-group.ant-input-group-compact > .ant-input-affix-wrapper,\n.ant-input-group.ant-input-group-compact > .ant-input-number-affix-wrapper,\n.ant-input-group.ant-input-group-compact > .ant-picker-range {\n display: inline-flex;\n}\n.ant-input-group.ant-input-group-compact > *:not(:last-child) {\n margin-right: -1px;\n border-right-width: 1px;\n}\n.ant-input-group.ant-input-group-compact .ant-input {\n float: none;\n}\n.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector,\n.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input,\n.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input,\n.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input {\n border-right-width: 1px;\n border-radius: 0;\n}\n.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector:hover,\n.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:hover,\n.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:hover,\n.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:hover {\n z-index: 1;\n}\n.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector:focus,\n.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:focus,\n.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:focus,\n.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:focus {\n z-index: 1;\n}\n.ant-input-group.ant-input-group-compact > .ant-select-focused {\n z-index: 1;\n}\n.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-arrow {\n z-index: 1;\n}\n.ant-input-group.ant-input-group-compact > *:first-child,\n.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector,\n.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input,\n.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.ant-input-group.ant-input-group-compact > *:last-child,\n.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector,\n.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input,\n.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input {\n border-right-width: 1px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input {\n vertical-align: top;\n}\n.ant-input-group.ant-input-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper {\n margin-left: -1px;\n}\n.ant-input-group.ant-input-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper .ant-input-affix-wrapper {\n border-radius: 0;\n}\n.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input-group-addon > .ant-input-search-button {\n border-radius: 0;\n}\n.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input {\n border-radius: 4px 0 0 4px;\n}\n.ant-input-group > .ant-input-rtl:first-child,\n.ant-input-group-rtl .ant-input-group-addon:first-child {\n border-radius: 0 4px 4px 0;\n}\n.ant-input-group-rtl .ant-input-group-addon:first-child {\n border-right: 1px solid #d9d9d9;\n border-left: 0;\n}\n.ant-input-group-rtl .ant-input-group-addon:last-child {\n border-right: 0;\n border-left: 1px solid #d9d9d9;\n border-radius: 4px 0 0 4px;\n}\n.ant-input-group-rtl.ant-input-group > .ant-input:last-child,\n.ant-input-group-rtl.ant-input-group-addon:last-child {\n border-radius: 4px 0 0 4px;\n}\n.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:first-child) {\n border-radius: 4px 0 0 4px;\n}\n.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:last-child) {\n border-radius: 0 4px 4px 0;\n}\n.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:not(:last-child) {\n margin-right: 0;\n margin-left: -1px;\n border-left-width: 1px;\n}\n.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:first-child,\n.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector,\n.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input,\n.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input {\n border-radius: 0 4px 4px 0;\n}\n.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:last-child,\n.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector,\n.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input,\n.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input,\n.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input {\n border-left-width: 1px;\n border-radius: 4px 0 0 4px;\n}\n.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl + .ant-input-group-wrapper-rtl {\n margin-right: -1px;\n margin-left: 0;\n}\n.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search > .ant-input-group > .ant-input {\n border-radius: 0 4px 4px 0;\n}\n.ant-input-group > .ant-input-rtl:first-child {\n border-radius: 0 4px 4px 0;\n}\n.ant-input-group > .ant-input-rtl:last-child {\n border-radius: 4px 0 0 4px;\n}\n.ant-input-group-rtl .ant-input-group-addon:first-child {\n border-right: 1px solid #d9d9d9;\n border-left: 0;\n border-radius: 0 4px 4px 0;\n}\n.ant-input-group-rtl .ant-input-group-addon:last-child {\n border-right: 0;\n border-left: 1px solid #d9d9d9;\n border-radius: 4px 0 0 4px;\n}\n.ant-input-group-wrapper {\n display: inline-block;\n width: 100%;\n text-align: start;\n vertical-align: top;\n}\n.ant-input-password-icon.anticon {\n color: rgba(0, 0, 0, 0.45);\n cursor: pointer;\n transition: all 0.3s;\n}\n.ant-input-password-icon.anticon:hover {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-input[type='color'] {\n height: 32px;\n}\n.ant-input[type='color'].ant-input-lg {\n height: 40px;\n}\n.ant-input[type='color'].ant-input-sm {\n height: 24px;\n padding-top: 3px;\n padding-bottom: 3px;\n}\n.ant-input-textarea-show-count > .ant-input {\n height: 100%;\n}\n.ant-input-textarea-show-count::after {\n float: right;\n color: rgba(0, 0, 0, 0.45);\n white-space: nowrap;\n content: attr(data-count);\n pointer-events: none;\n}\n.ant-input-textarea-show-count.ant-input-textarea-in-form-item::after {\n margin-bottom: -22px;\n}\n.ant-input-textarea-suffix {\n position: absolute;\n top: 0;\n right: 11px;\n bottom: 0;\n z-index: 1;\n display: inline-flex;\n align-items: center;\n margin: auto;\n}\n.ant-input-compact-item:not(.ant-input-compact-last-item):not(.ant-input-compact-item-rtl) {\n margin-right: -1px;\n}\n.ant-input-compact-item:not(.ant-input-compact-last-item).ant-input-compact-item-rtl {\n margin-left: -1px;\n}\n.ant-input-compact-item:hover,\n.ant-input-compact-item:focus,\n.ant-input-compact-item:active {\n z-index: 2;\n}\n.ant-input-compact-item[disabled] {\n z-index: 0;\n}\n.ant-input-compact-item:not(.ant-input-compact-first-item):not(.ant-input-compact-last-item).ant-input {\n border-radius: 0;\n}\n.ant-input-compact-item.ant-input.ant-input-compact-first-item:not(.ant-input-compact-last-item):not(.ant-input-compact-item-rtl) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-input-compact-item.ant-input.ant-input-compact-last-item:not(.ant-input-compact-first-item):not(.ant-input-compact-item-rtl) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-input-compact-item.ant-input.ant-input-compact-item-rtl.ant-input-compact-first-item:not(.ant-input-compact-last-item) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-input-compact-item.ant-input.ant-input-compact-item-rtl.ant-input-compact-last-item:not(.ant-input-compact-first-item) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-input-search .ant-input:hover,\n.ant-input-search .ant-input:focus {\n border-color: #5096f2;\n}\n.ant-input-search .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),\n.ant-input-search .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary) {\n border-left-color: #5096f2;\n}\n.ant-input-search .ant-input-affix-wrapper {\n border-radius: 0;\n}\n.ant-input-search .ant-input-lg {\n line-height: 1.5713;\n}\n.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child {\n left: -1px;\n padding: 0;\n border: 0;\n}\n.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button {\n padding-top: 0;\n padding-bottom: 0;\n border-radius: 0 4px 4px 0;\n}\n.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary) {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary).ant-btn-loading::before {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n.ant-input-search-button {\n height: 32px;\n}\n.ant-input-search-button:hover,\n.ant-input-search-button:focus {\n z-index: 1;\n}\n.ant-input-search-large .ant-input-search-button {\n height: 40px;\n}\n.ant-input-search-small .ant-input-search-button {\n height: 24px;\n}\n.ant-input-search.ant-input-compact-item:not(.ant-input-compact-item-rtl):not(.ant-input-compact-last-item) .ant-input-group-addon .ant-input-search-button {\n margin-right: -1px;\n border-radius: 0;\n}\n.ant-input-search.ant-input-compact-item:not(.ant-input-compact-first-item) .ant-input,\n.ant-input-search.ant-input-compact-item:not(.ant-input-compact-first-item) .ant-input-affix-wrapper {\n border-radius: 0;\n}\n.ant-input-search.ant-input-compact-item > .ant-input-group-addon .ant-input-search-button:hover,\n.ant-input-search.ant-input-compact-item > .ant-input:hover,\n.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:hover,\n.ant-input-search.ant-input-compact-item > .ant-input-group-addon .ant-input-search-button:focus,\n.ant-input-search.ant-input-compact-item > .ant-input:focus,\n.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:focus,\n.ant-input-search.ant-input-compact-item > .ant-input-group-addon .ant-input-search-button:active,\n.ant-input-search.ant-input-compact-item > .ant-input:active,\n.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:active {\n z-index: 2;\n}\n.ant-input-search.ant-input-compact-item > .ant-input-affix-wrapper-focused {\n z-index: 2;\n}\n.ant-input-search.ant-input-compact-item-rtl:not(.ant-input-compact-last-item) .ant-input-group-addon:last-child .ant-input-search-button {\n margin-left: -1px;\n border-radius: 0;\n}\n.ant-input-group-wrapper-rtl {\n direction: rtl;\n}\n.ant-input-group-rtl {\n direction: rtl;\n}\n.ant-input-affix-wrapper.ant-input-affix-wrapper-rtl > input.ant-input {\n border: none;\n outline: none;\n}\n.ant-input-affix-wrapper-rtl .ant-input-prefix {\n margin: 0 0 0 4px;\n}\n.ant-input-affix-wrapper-rtl .ant-input-suffix {\n margin: 0 4px 0 0;\n}\n.ant-input-textarea-rtl {\n direction: rtl;\n}\n.ant-input-textarea-rtl.ant-input-textarea-show-count::after {\n text-align: left;\n}\n.ant-input-affix-wrapper-rtl .ant-input-clear-icon-has-suffix {\n margin-right: 0;\n margin-left: 4px;\n}\n.ant-input-affix-wrapper-rtl .ant-input-clear-icon {\n right: auto;\n left: 8px;\n}\n.ant-input-search-rtl {\n direction: rtl;\n}\n.ant-input-search-rtl .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),\n.ant-input-search-rtl .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary) {\n border-left-color: #d9d9d9;\n}\n.ant-input-search-rtl .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary):hover,\n.ant-input-search-rtl .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary):hover {\n border-left-color: #5096f2;\n}\n.ant-input-search-rtl > .ant-input-group > .ant-input-affix-wrapper:hover,\n.ant-input-search-rtl > .ant-input-group > .ant-input-affix-wrapper-focused {\n border-right-color: #5096f2;\n}\n.ant-input-search-rtl > .ant-input-group > .ant-input-group-addon:last-child {\n right: -1px;\n left: auto;\n}\n.ant-input-search-rtl > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button {\n border-radius: 4px 0 0 4px;\n}\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .ant-input {\n height: 32px;\n }\n .ant-input-lg {\n height: 40px;\n }\n .ant-input-sm {\n height: 24px;\n }\n .ant-input-affix-wrapper > input.ant-input {\n height: auto;\n }\n}\n.ant-input-number-affix-wrapper {\n display: inline-block;\n width: 100%;\n min-width: 0;\n padding: 4px 11px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n line-height: 1.5715;\n background-color: #fff;\n background-image: none;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n transition: all 0.3s;\n position: relative;\n display: inline-flex;\n width: 90px;\n padding: 0;\n padding-inline-start: 11px;\n}\n.ant-input-number-affix-wrapper::placeholder {\n color: #bfbfbf;\n user-select: none;\n}\n.ant-input-number-affix-wrapper:placeholder-shown {\n text-overflow: ellipsis;\n}\n.ant-input-number-affix-wrapper:hover {\n border-color: #5096f2;\n border-right-width: 1px;\n}\n.ant-input-rtl .ant-input-number-affix-wrapper:hover {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-input-number-affix-wrapper:focus,\n.ant-input-number-affix-wrapper-focused {\n border-color: #5096f2;\n box-shadow: 0 0 0 2px rgba(38, 115, 229, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-rtl .ant-input-number-affix-wrapper:focus,\n.ant-input-rtl .ant-input-number-affix-wrapper-focused {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-input-number-affix-wrapper-disabled {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-input-number-affix-wrapper-disabled:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-input-number-affix-wrapper[disabled] {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-input-number-affix-wrapper[disabled]:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-input-number-affix-wrapper-borderless,\n.ant-input-number-affix-wrapper-borderless:hover,\n.ant-input-number-affix-wrapper-borderless:focus,\n.ant-input-number-affix-wrapper-borderless-focused,\n.ant-input-number-affix-wrapper-borderless-disabled,\n.ant-input-number-affix-wrapper-borderless[disabled] {\n background-color: transparent;\n border: none;\n box-shadow: none;\n}\ntextarea.ant-input-number-affix-wrapper {\n max-width: 100%;\n height: auto;\n min-height: 32px;\n line-height: 1.5715;\n vertical-align: bottom;\n transition: all 0.3s, height 0s;\n}\n.ant-input-number-affix-wrapper-lg {\n padding: 6.5px 11px;\n font-size: 16px;\n}\n.ant-input-number-affix-wrapper-sm {\n padding: 0px 7px;\n}\n.ant-input-number-affix-wrapper-rtl {\n direction: rtl;\n}\n.ant-input-number-affix-wrapper:not(.ant-input-number-affix-wrapper-disabled):hover {\n border-color: #5096f2;\n border-right-width: 1px;\n z-index: 1;\n}\n.ant-input-rtl .ant-input-number-affix-wrapper:not(.ant-input-number-affix-wrapper-disabled):hover {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-input-number-affix-wrapper-focused,\n.ant-input-number-affix-wrapper:focus {\n z-index: 1;\n}\n.ant-input-number-affix-wrapper-disabled .ant-input-number[disabled] {\n background: transparent;\n}\n.ant-input-number-affix-wrapper > div.ant-input-number {\n width: 100%;\n border: none;\n outline: none;\n}\n.ant-input-number-affix-wrapper > div.ant-input-number.ant-input-number-focused {\n box-shadow: none !important;\n}\n.ant-input-number-affix-wrapper input.ant-input-number-input {\n padding: 0;\n}\n.ant-input-number-affix-wrapper::before {\n display: inline-block;\n width: 0;\n visibility: hidden;\n content: '\\a0';\n}\n.ant-input-number-affix-wrapper .ant-input-number-handler-wrap {\n z-index: 2;\n}\n.ant-input-number-prefix,\n.ant-input-number-suffix {\n display: flex;\n flex: none;\n align-items: center;\n pointer-events: none;\n}\n.ant-input-number-prefix {\n margin-inline-end: 4px;\n}\n.ant-input-number-suffix {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n height: 100%;\n margin-right: 11px;\n margin-left: 4px;\n}\n.ant-input-number-group-wrapper .ant-input-number-affix-wrapper {\n width: 100%;\n}\n.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number,\n.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:hover {\n background: #fff;\n border-color: #ff4d4f;\n}\n.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:focus,\n.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number-focused {\n border-color: #ff7875;\n box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-number-status-error .ant-input-number-prefix {\n color: #ff4d4f;\n}\n.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number,\n.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:hover {\n background: #fff;\n border-color: #faad14;\n}\n.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:focus,\n.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number-focused {\n border-color: #ffc53d;\n box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-number-status-warning .ant-input-number-prefix {\n color: #faad14;\n}\n.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper,\n.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:hover {\n background: #fff;\n border-color: #ff4d4f;\n}\n.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:focus,\n.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper-focused {\n border-color: #ff7875;\n box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-number-affix-wrapper-status-error .ant-input-number-prefix {\n color: #ff4d4f;\n}\n.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper,\n.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:hover {\n background: #fff;\n border-color: #faad14;\n}\n.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:focus,\n.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper-focused {\n border-color: #ffc53d;\n box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-number-affix-wrapper-status-warning .ant-input-number-prefix {\n color: #faad14;\n}\n.ant-input-number-group-wrapper-status-error .ant-input-number-group-addon {\n color: #ff4d4f;\n border-color: #ff4d4f;\n}\n.ant-input-number-group-wrapper-status-warning .ant-input-number-group-addon {\n color: #faad14;\n border-color: #faad14;\n}\n.ant-input-number {\n box-sizing: border-box;\n font-variant: tabular-nums;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n width: 100%;\n min-width: 0;\n padding: 4px 11px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n line-height: 1.5715;\n background-color: #fff;\n background-image: none;\n transition: all 0.3s;\n display: inline-block;\n width: 90px;\n margin: 0;\n padding: 0;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n}\n.ant-input-number::placeholder {\n color: #bfbfbf;\n user-select: none;\n}\n.ant-input-number:placeholder-shown {\n text-overflow: ellipsis;\n}\n.ant-input-number:hover {\n border-color: #5096f2;\n border-right-width: 1px;\n}\n.ant-input-rtl .ant-input-number:hover {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-input-number:focus,\n.ant-input-number-focused {\n border-color: #5096f2;\n box-shadow: 0 0 0 2px rgba(38, 115, 229, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-rtl .ant-input-number:focus,\n.ant-input-rtl .ant-input-number-focused {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-input-number-disabled {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-input-number-disabled:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-input-number[disabled] {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-input-number[disabled]:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-input-number-borderless,\n.ant-input-number-borderless:hover,\n.ant-input-number-borderless:focus,\n.ant-input-number-borderless-focused,\n.ant-input-number-borderless-disabled,\n.ant-input-number-borderless[disabled] {\n background-color: transparent;\n border: none;\n box-shadow: none;\n}\ntextarea.ant-input-number {\n max-width: 100%;\n height: auto;\n min-height: 32px;\n line-height: 1.5715;\n vertical-align: bottom;\n transition: all 0.3s, height 0s;\n}\n.ant-input-number-lg {\n padding: 6.5px 11px;\n font-size: 16px;\n}\n.ant-input-number-sm {\n padding: 0px 7px;\n}\n.ant-input-number-rtl {\n direction: rtl;\n}\n.ant-input-number-group {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n display: table;\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n}\n.ant-input-number-group[class*='col-'] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.ant-input-number-group > [class*='col-'] {\n padding-right: 8px;\n}\n.ant-input-number-group > [class*='col-']:last-child {\n padding-right: 0;\n}\n.ant-input-number-group-addon,\n.ant-input-number-group-wrap,\n.ant-input-number-group > .ant-input-number {\n display: table-cell;\n}\n.ant-input-number-group-addon:not(:first-child):not(:last-child),\n.ant-input-number-group-wrap:not(:first-child):not(:last-child),\n.ant-input-number-group > .ant-input-number:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.ant-input-number-group-addon,\n.ant-input-number-group-wrap {\n width: 1px;\n white-space: nowrap;\n vertical-align: middle;\n}\n.ant-input-number-group-wrap > * {\n display: block !important;\n}\n.ant-input-number-group .ant-input-number {\n float: left;\n width: 100%;\n margin-bottom: 0;\n text-align: inherit;\n}\n.ant-input-number-group .ant-input-number:focus {\n z-index: 1;\n border-right-width: 1px;\n}\n.ant-input-number-group .ant-input-number:hover {\n z-index: 1;\n border-right-width: 1px;\n}\n.ant-input-search-with-button .ant-input-number-group .ant-input-number:hover {\n z-index: 0;\n}\n.ant-input-number-group-addon {\n position: relative;\n padding: 0 11px;\n color: rgba(0, 0, 0, 0.85);\n font-weight: normal;\n font-size: 14px;\n text-align: center;\n background-color: #fafafa;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n transition: all 0.3s;\n}\n.ant-input-number-group-addon .ant-select {\n margin: -5px -11px;\n}\n.ant-input-number-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {\n background-color: inherit;\n border: 1px solid transparent;\n box-shadow: none;\n}\n.ant-input-number-group-addon .ant-select-open .ant-select-selector,\n.ant-input-number-group-addon .ant-select-focused .ant-select-selector {\n color: #2673e5;\n}\n.ant-input-number-group-addon .ant-cascader-picker {\n margin: -9px -12px;\n background-color: transparent;\n}\n.ant-input-number-group-addon .ant-cascader-picker .ant-cascader-input {\n text-align: left;\n border: 0;\n box-shadow: none;\n}\n.ant-input-number-group > .ant-input-number:first-child,\n.ant-input-number-group-addon:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-input-number-group > .ant-input-number:first-child .ant-select .ant-select-selector,\n.ant-input-number-group-addon:first-child .ant-select .ant-select-selector {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-input-number-group > .ant-input-number-affix-wrapper:not(:first-child) .ant-input-number {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-input-number-group > .ant-input-number-affix-wrapper:not(:last-child) .ant-input-number {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-input-number-group-addon:first-child {\n border-right: 0;\n}\n.ant-input-number-group-addon:last-child {\n border-left: 0;\n}\n.ant-input-number-group > .ant-input-number:last-child,\n.ant-input-number-group-addon:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-input-number-group > .ant-input-number:last-child .ant-select .ant-select-selector,\n.ant-input-number-group-addon:last-child .ant-select .ant-select-selector {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-input-number-group-lg .ant-input-number,\n.ant-input-number-group-lg > .ant-input-number-group-addon {\n padding: 6.5px 11px;\n font-size: 16px;\n}\n.ant-input-number-group-sm .ant-input-number,\n.ant-input-number-group-sm > .ant-input-number-group-addon {\n padding: 0px 7px;\n}\n.ant-input-number-group-lg .ant-select-single .ant-select-selector {\n height: 40px;\n}\n.ant-input-number-group-sm .ant-select-single .ant-select-selector {\n height: 24px;\n}\n.ant-input-number-group .ant-input-number-affix-wrapper:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-input-search .ant-input-number-group .ant-input-number-affix-wrapper:not(:last-child) {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.ant-input-number-group .ant-input-number-affix-wrapper:not(:first-child),\n.ant-input-search .ant-input-number-group .ant-input-number-affix-wrapper:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-input-number-group.ant-input-number-group-compact {\n display: block;\n}\n.ant-input-number-group.ant-input-number-group-compact::before {\n display: table;\n content: '';\n}\n.ant-input-number-group.ant-input-number-group-compact::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-input-number-group.ant-input-number-group-compact::before {\n display: table;\n content: '';\n}\n.ant-input-number-group.ant-input-number-group-compact::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-input-number-group.ant-input-number-group-compact-addon:not(:first-child):not(:last-child),\n.ant-input-number-group.ant-input-number-group-compact-wrap:not(:first-child):not(:last-child),\n.ant-input-number-group.ant-input-number-group-compact > .ant-input-number:not(:first-child):not(:last-child) {\n border-right-width: 1px;\n}\n.ant-input-number-group.ant-input-number-group-compact-addon:not(:first-child):not(:last-child):hover,\n.ant-input-number-group.ant-input-number-group-compact-wrap:not(:first-child):not(:last-child):hover,\n.ant-input-number-group.ant-input-number-group-compact > .ant-input-number:not(:first-child):not(:last-child):hover {\n z-index: 1;\n}\n.ant-input-number-group.ant-input-number-group-compact-addon:not(:first-child):not(:last-child):focus,\n.ant-input-number-group.ant-input-number-group-compact-wrap:not(:first-child):not(:last-child):focus,\n.ant-input-number-group.ant-input-number-group-compact > .ant-input-number:not(:first-child):not(:last-child):focus {\n z-index: 1;\n}\n.ant-input-number-group.ant-input-number-group-compact > * {\n display: inline-block;\n float: none;\n vertical-align: top;\n border-radius: 0;\n}\n.ant-input-number-group.ant-input-number-group-compact > .ant-input-number-affix-wrapper,\n.ant-input-number-group.ant-input-number-group-compact > .ant-input-number-number-affix-wrapper,\n.ant-input-number-group.ant-input-number-group-compact > .ant-picker-range {\n display: inline-flex;\n}\n.ant-input-number-group.ant-input-number-group-compact > *:not(:last-child) {\n margin-right: -1px;\n border-right-width: 1px;\n}\n.ant-input-number-group.ant-input-number-group-compact .ant-input-number {\n float: none;\n}\n.ant-input-number-group.ant-input-number-group-compact > .ant-select > .ant-select-selector,\n.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete .ant-input,\n.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker .ant-input,\n.ant-input-number-group.ant-input-number-group-compact > .ant-input-group-wrapper .ant-input {\n border-right-width: 1px;\n border-radius: 0;\n}\n.ant-input-number-group.ant-input-number-group-compact > .ant-select > .ant-select-selector:hover,\n.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete .ant-input:hover,\n.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker .ant-input:hover,\n.ant-input-number-group.ant-input-number-group-compact > .ant-input-group-wrapper .ant-input:hover {\n z-index: 1;\n}\n.ant-input-number-group.ant-input-number-group-compact > .ant-select > .ant-select-selector:focus,\n.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete .ant-input:focus,\n.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker .ant-input:focus,\n.ant-input-number-group.ant-input-number-group-compact > .ant-input-group-wrapper .ant-input:focus {\n z-index: 1;\n}\n.ant-input-number-group.ant-input-number-group-compact > .ant-select-focused {\n z-index: 1;\n}\n.ant-input-number-group.ant-input-number-group-compact > .ant-select > .ant-select-arrow {\n z-index: 1;\n}\n.ant-input-number-group.ant-input-number-group-compact > *:first-child,\n.ant-input-number-group.ant-input-number-group-compact > .ant-select:first-child > .ant-select-selector,\n.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete:first-child .ant-input,\n.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker:first-child .ant-input {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.ant-input-number-group.ant-input-number-group-compact > *:last-child,\n.ant-input-number-group.ant-input-number-group-compact > .ant-select:last-child > .ant-select-selector,\n.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker:last-child .ant-input,\n.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker-focused:last-child .ant-input {\n border-right-width: 1px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete .ant-input {\n vertical-align: top;\n}\n.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper {\n margin-left: -1px;\n}\n.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper .ant-input-affix-wrapper {\n border-radius: 0;\n}\n.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input-group-addon > .ant-input-search-button {\n border-radius: 0;\n}\n.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input {\n border-radius: 4px 0 0 4px;\n}\n.ant-input-number-group > .ant-input-number-rtl:first-child,\n.ant-input-number-group-rtl .ant-input-number-group-addon:first-child {\n border-radius: 0 4px 4px 0;\n}\n.ant-input-number-group-rtl .ant-input-number-group-addon:first-child {\n border-right: 1px solid #d9d9d9;\n border-left: 0;\n}\n.ant-input-number-group-rtl .ant-input-number-group-addon:last-child {\n border-right: 0;\n border-left: 1px solid #d9d9d9;\n border-radius: 4px 0 0 4px;\n}\n.ant-input-number-group-rtl.ant-input-number-group > .ant-input-number:last-child,\n.ant-input-number-group-rtl.ant-input-number-group-addon:last-child {\n border-radius: 4px 0 0 4px;\n}\n.ant-input-number-group-rtl.ant-input-number-group .ant-input-number-affix-wrapper:not(:first-child) {\n border-radius: 4px 0 0 4px;\n}\n.ant-input-number-group-rtl.ant-input-number-group .ant-input-number-affix-wrapper:not(:last-child) {\n border-radius: 0 4px 4px 0;\n}\n.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > *:not(:last-child) {\n margin-right: 0;\n margin-left: -1px;\n border-left-width: 1px;\n}\n.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > *:first-child,\n.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select:first-child > .ant-select-selector,\n.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete:first-child .ant-input,\n.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker:first-child .ant-input {\n border-radius: 0 4px 4px 0;\n}\n.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > *:last-child,\n.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select:last-child > .ant-select-selector,\n.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete:last-child .ant-input,\n.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker:last-child .ant-input,\n.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker-focused:last-child .ant-input {\n border-left-width: 1px;\n border-radius: 4px 0 0 4px;\n}\n.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper-rtl + .ant-input-group-wrapper-rtl {\n margin-right: -1px;\n margin-left: 0;\n}\n.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search > .ant-input-group > .ant-input {\n border-radius: 0 4px 4px 0;\n}\n.ant-input-number-group > .ant-input-number-rtl:first-child {\n border-radius: 0 4px 4px 0;\n}\n.ant-input-number-group > .ant-input-number-rtl:last-child {\n border-radius: 4px 0 0 4px;\n}\n.ant-input-number-group-rtl .ant-input-number-group-addon:first-child {\n border-right: 1px solid #d9d9d9;\n border-left: 0;\n border-radius: 0 4px 4px 0;\n}\n.ant-input-number-group-rtl .ant-input-number-group-addon:last-child {\n border-right: 0;\n border-left: 1px solid #d9d9d9;\n border-radius: 4px 0 0 4px;\n}\n.ant-input-number-group-wrapper {\n display: inline-block;\n text-align: start;\n vertical-align: top;\n}\n.ant-input-number-handler {\n position: relative;\n display: block;\n width: 100%;\n height: 50%;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.45);\n font-weight: bold;\n line-height: 0;\n text-align: center;\n border-left: 1px solid #d9d9d9;\n transition: all 0.1s linear;\n}\n.ant-input-number-handler:active {\n background: #f4f4f4;\n}\n.ant-input-number-handler:hover .ant-input-number-handler-up-inner,\n.ant-input-number-handler:hover .ant-input-number-handler-down-inner {\n color: #5096f2;\n}\n.ant-input-number-handler-up-inner,\n.ant-input-number-handler-down-inner {\n display: inline-flex;\n align-items: center;\n color: inherit;\n font-style: normal;\n line-height: 0;\n text-align: center;\n text-transform: none;\n vertical-align: -0.125em;\n text-rendering: optimizelegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n position: absolute;\n right: 4px;\n width: 12px;\n height: 12px;\n color: rgba(0, 0, 0, 0.45);\n line-height: 12px;\n transition: all 0.1s linear;\n user-select: none;\n}\n.ant-input-number-handler-up-inner > *,\n.ant-input-number-handler-down-inner > * {\n line-height: 1;\n}\n.ant-input-number-handler-up-inner svg,\n.ant-input-number-handler-down-inner svg {\n display: inline-block;\n}\n.ant-input-number-handler-up-inner::before,\n.ant-input-number-handler-down-inner::before {\n display: none;\n}\n.ant-input-number-handler-up-inner .ant-input-number-handler-up-inner-icon,\n.ant-input-number-handler-up-inner .ant-input-number-handler-down-inner-icon,\n.ant-input-number-handler-down-inner .ant-input-number-handler-up-inner-icon,\n.ant-input-number-handler-down-inner .ant-input-number-handler-down-inner-icon {\n display: block;\n}\n.ant-input-number:hover {\n border-color: #5096f2;\n border-right-width: 1px;\n}\n.ant-input-number:hover + .ant-form-item-children-icon {\n opacity: 0;\n transition: opacity 0.24s linear 0.24s;\n}\n.ant-input-number-focused {\n border-color: #5096f2;\n box-shadow: 0 0 0 2px rgba(38, 115, 229, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-rtl .ant-input-number-focused {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-input-number-disabled {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-input-number-disabled:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-input-number-disabled .ant-input-number-input {\n cursor: not-allowed;\n}\n.ant-input-number-disabled .ant-input-number-handler-wrap {\n display: none;\n}\n.ant-input-number-readonly .ant-input-number-handler-wrap {\n display: none;\n}\n.ant-input-number-input {\n width: 100%;\n height: 30px;\n padding: 0 11px;\n text-align: left;\n background-color: transparent;\n border: 0;\n border-radius: 4px;\n outline: 0;\n transition: all 0.3s linear;\n appearance: textfield !important;\n}\n.ant-input-number-input::placeholder {\n color: #bfbfbf;\n user-select: none;\n}\n.ant-input-number-input:placeholder-shown {\n text-overflow: ellipsis;\n}\n.ant-input-number-input[type='number']::-webkit-inner-spin-button,\n.ant-input-number-input[type='number']::-webkit-outer-spin-button {\n margin: 0;\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-appearance: none;\n appearance: none;\n}\n.ant-input-number-lg {\n padding: 0;\n font-size: 16px;\n}\n.ant-input-number-lg input {\n height: 38px;\n}\n.ant-input-number-sm {\n padding: 0;\n}\n.ant-input-number-sm input {\n height: 22px;\n padding: 0 7px;\n}\n.ant-input-number-handler-wrap {\n position: absolute;\n top: 0;\n right: 0;\n width: 22px;\n height: 100%;\n background: #fff;\n border-radius: 0 4px 4px 0;\n opacity: 0;\n transition: opacity 0.24s linear 0.1s;\n}\n.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-up-inner,\n.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-down-inner {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: auto;\n margin-right: 0;\n font-size: 7px;\n}\n.ant-input-number-borderless .ant-input-number-handler-wrap {\n border-left-width: 0;\n}\n.ant-input-number-handler-wrap:hover .ant-input-number-handler {\n height: 40%;\n}\n.ant-input-number:hover .ant-input-number-handler-wrap,\n.ant-input-number-focused .ant-input-number-handler-wrap {\n opacity: 1;\n}\n.ant-input-number-handler-up {\n border-top-right-radius: 4px;\n cursor: pointer;\n}\n.ant-input-number-handler-up-inner {\n top: 50%;\n margin-top: -5px;\n text-align: center;\n}\n.ant-input-number-handler-up:hover {\n height: 60% !important;\n}\n.ant-input-number-handler-down {\n top: 0;\n border-top: 1px solid #d9d9d9;\n border-bottom-right-radius: 4px;\n cursor: pointer;\n}\n.ant-input-number-handler-down-inner {\n top: 50%;\n text-align: center;\n transform: translateY(-50%);\n}\n.ant-input-number-handler-down:hover {\n height: 60% !important;\n}\n.ant-input-number-borderless .ant-input-number-handler-down {\n border-top-width: 0;\n}\n.ant-input-number:hover:not(.ant-input-number-borderless) .ant-input-number-handler-down,\n.ant-input-number-focused:not(.ant-input-number-borderless) .ant-input-number-handler-down {\n border-top: 1px solid #d9d9d9;\n}\n.ant-input-number-handler-up-disabled,\n.ant-input-number-handler-down-disabled {\n cursor: not-allowed;\n}\n.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner,\n.ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner {\n color: rgba(0, 0, 0, 0.25);\n}\n.ant-input-number-borderless {\n box-shadow: none;\n}\n.ant-input-number-out-of-range input {\n color: #ff4d4f;\n}\n.ant-input-number-compact-item:not(.ant-input-number-compact-last-item):not(.ant-input-number-compact-item-rtl) {\n margin-right: -1px;\n}\n.ant-input-number-compact-item:not(.ant-input-number-compact-last-item).ant-input-number-compact-item-rtl {\n margin-left: -1px;\n}\n.ant-input-number-compact-item:hover,\n.ant-input-number-compact-item:focus,\n.ant-input-number-compact-item:active {\n z-index: 2;\n}\n.ant-input-number-compact-item.ant-input-number-focused {\n z-index: 2;\n}\n.ant-input-number-compact-item[disabled] {\n z-index: 0;\n}\n.ant-input-number-compact-item:not(.ant-input-number-compact-first-item):not(.ant-input-number-compact-last-item).ant-input-number {\n border-radius: 0;\n}\n.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-first-item:not(.ant-input-number-compact-last-item):not(.ant-input-number-compact-item-rtl) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-last-item:not(.ant-input-number-compact-first-item):not(.ant-input-number-compact-item-rtl) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-item-rtl.ant-input-number-compact-first-item:not(.ant-input-number-compact-last-item) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-item-rtl.ant-input-number-compact-last-item:not(.ant-input-number-compact-first-item) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-input-number-rtl {\n direction: rtl;\n}\n.ant-input-number-rtl .ant-input-number-handler {\n border-right: 1px solid #d9d9d9;\n border-left: 0;\n}\n.ant-input-number-rtl .ant-input-number-handler-wrap {\n right: auto;\n left: 0;\n}\n.ant-input-number-rtl.ant-input-number-borderless .ant-input-number-handler-wrap {\n border-right-width: 0;\n}\n.ant-input-number-rtl .ant-input-number-handler-up {\n border-top-right-radius: 0;\n}\n.ant-input-number-rtl .ant-input-number-handler-down {\n border-bottom-right-radius: 0;\n}\n.ant-input-number-rtl .ant-input-number-input {\n direction: ltr;\n text-align: right;\n}\n.ant-layout {\n display: flex;\n flex: auto;\n flex-direction: column;\n /* fix firefox can't set height smaller than content on flex item */\n min-height: 0;\n background: #f0f2f5;\n}\n.ant-layout,\n.ant-layout * {\n box-sizing: border-box;\n}\n.ant-layout.ant-layout-has-sider {\n flex-direction: row;\n}\n.ant-layout.ant-layout-has-sider > .ant-layout,\n.ant-layout.ant-layout-has-sider > .ant-layout-content {\n width: 0;\n}\n.ant-layout-header,\n.ant-layout-footer {\n flex: 0 0 auto;\n}\n.ant-layout-header {\n height: 64px;\n padding: 0 50px;\n color: rgba(0, 0, 0, 0.85);\n line-height: 64px;\n background: #001529;\n}\n.ant-layout-footer {\n padding: 24px 50px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n background: #f0f2f5;\n}\n.ant-layout-content {\n flex: auto;\n /* fix firefox can't set height smaller than content on flex item */\n min-height: 0;\n}\n.ant-layout-sider {\n position: relative;\n /* fix firefox can't set width smaller than content on flex item */\n min-width: 0;\n background: #001529;\n transition: all 0.2s;\n}\n.ant-layout-sider-children {\n height: 100%;\n margin-top: -0.1px;\n padding-top: 0.1px;\n}\n.ant-layout-sider-children .ant-menu.ant-menu-inline-collapsed {\n width: auto;\n}\n.ant-layout-sider-has-trigger {\n padding-bottom: 48px;\n}\n.ant-layout-sider-right {\n order: 1;\n}\n.ant-layout-sider-trigger {\n position: fixed;\n bottom: 0;\n z-index: 1;\n height: 48px;\n color: #fff;\n line-height: 48px;\n text-align: center;\n background: #002140;\n cursor: pointer;\n transition: all 0.2s;\n}\n.ant-layout-sider-zero-width > * {\n overflow: hidden;\n}\n.ant-layout-sider-zero-width-trigger {\n position: absolute;\n top: 64px;\n right: -36px;\n z-index: 1;\n width: 36px;\n height: 42px;\n color: #fff;\n font-size: 18px;\n line-height: 42px;\n text-align: center;\n background: #001529;\n border-radius: 0 4px 4px 0;\n cursor: pointer;\n transition: background 0.3s ease;\n}\n.ant-layout-sider-zero-width-trigger::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: transparent;\n transition: all 0.3s;\n content: '';\n}\n.ant-layout-sider-zero-width-trigger:hover::after {\n background: rgba(255, 255, 255, 0.1);\n}\n.ant-layout-sider-zero-width-trigger-right {\n left: -36px;\n border-radius: 4px 0 0 4px;\n}\n.ant-layout-sider-light {\n background: #fff;\n}\n.ant-layout-sider-light .ant-layout-sider-trigger {\n color: rgba(0, 0, 0, 0.85);\n background: #fff;\n}\n.ant-layout-sider-light .ant-layout-sider-zero-width-trigger {\n color: rgba(0, 0, 0, 0.85);\n background: #fff;\n}\n.ant-layout-rtl {\n direction: rtl;\n}\n.ant-list {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n}\n.ant-list * {\n outline: none;\n}\n.ant-list-pagination {\n margin-top: 24px;\n text-align: right;\n}\n.ant-list-pagination .ant-pagination-options {\n text-align: left;\n}\n.ant-list-more {\n margin-top: 12px;\n text-align: center;\n}\n.ant-list-more button {\n padding-right: 32px;\n padding-left: 32px;\n}\n.ant-list-spin {\n min-height: 40px;\n text-align: center;\n}\n.ant-list-empty-text {\n padding: 16px;\n color: rgba(0, 0, 0, 0.25);\n font-size: 14px;\n text-align: center;\n}\n.ant-list-items {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.ant-list-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 0;\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-list-item-meta {\n display: flex;\n flex: 1;\n align-items: flex-start;\n max-width: 100%;\n}\n.ant-list-item-meta-avatar {\n margin-right: 16px;\n}\n.ant-list-item-meta-content {\n flex: 1 0;\n width: 0;\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-list-item-meta-title {\n margin-bottom: 4px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n line-height: 1.5715;\n}\n.ant-list-item-meta-title > a {\n color: rgba(0, 0, 0, 0.85);\n transition: all 0.3s;\n}\n.ant-list-item-meta-title > a:hover {\n color: #2673e5;\n}\n.ant-list-item-meta-description {\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n line-height: 1.5715;\n}\n.ant-list-item-action {\n flex: 0 0 auto;\n margin-left: 48px;\n padding: 0;\n font-size: 0;\n list-style: none;\n}\n.ant-list-item-action > li {\n position: relative;\n display: inline-block;\n padding: 0 8px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n line-height: 1.5715;\n text-align: center;\n}\n.ant-list-item-action > li:first-child {\n padding-left: 0;\n}\n.ant-list-item-action-split {\n position: absolute;\n top: 50%;\n right: 0;\n width: 1px;\n height: 14px;\n margin-top: -7px;\n background-color: #f0f0f0;\n}\n.ant-list-header {\n background: transparent;\n}\n.ant-list-footer {\n background: transparent;\n}\n.ant-list-header,\n.ant-list-footer {\n padding-top: 12px;\n padding-bottom: 12px;\n}\n.ant-list-empty {\n padding: 16px 0;\n color: rgba(0, 0, 0, 0.45);\n font-size: 12px;\n text-align: center;\n}\n.ant-list-split .ant-list-item {\n border-bottom: 1px solid #f0f0f0;\n}\n.ant-list-split .ant-list-item:last-child {\n border-bottom: none;\n}\n.ant-list-split .ant-list-header {\n border-bottom: 1px solid #f0f0f0;\n}\n.ant-list-split.ant-list-empty .ant-list-footer {\n border-top: 1px solid #f0f0f0;\n}\n.ant-list-loading .ant-list-spin-nested-loading {\n min-height: 32px;\n}\n.ant-list-split.ant-list-something-after-last-item .ant-spin-container > .ant-list-items > .ant-list-item:last-child {\n border-bottom: 1px solid #f0f0f0;\n}\n.ant-list-lg .ant-list-item {\n padding: 16px 24px;\n}\n.ant-list-sm .ant-list-item {\n padding: 8px 16px;\n}\n.ant-list-vertical .ant-list-item {\n align-items: initial;\n}\n.ant-list-vertical .ant-list-item-main {\n display: block;\n flex: 1;\n}\n.ant-list-vertical .ant-list-item-extra {\n margin-left: 40px;\n}\n.ant-list-vertical .ant-list-item-meta {\n margin-bottom: 16px;\n}\n.ant-list-vertical .ant-list-item-meta-title {\n margin-bottom: 12px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 16px;\n line-height: 24px;\n}\n.ant-list-vertical .ant-list-item-action {\n margin-top: 16px;\n margin-left: auto;\n}\n.ant-list-vertical .ant-list-item-action > li {\n padding: 0 16px;\n}\n.ant-list-vertical .ant-list-item-action > li:first-child {\n padding-left: 0;\n}\n.ant-list-grid .ant-col > .ant-list-item {\n display: block;\n max-width: 100%;\n margin-bottom: 16px;\n padding-top: 0;\n padding-bottom: 0;\n border-bottom: none;\n}\n.ant-list-item-no-flex {\n display: block;\n}\n.ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action {\n float: right;\n}\n.ant-list-bordered {\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n}\n.ant-list-bordered .ant-list-header {\n padding-right: 24px;\n padding-left: 24px;\n}\n.ant-list-bordered .ant-list-footer {\n padding-right: 24px;\n padding-left: 24px;\n}\n.ant-list-bordered .ant-list-item {\n padding-right: 24px;\n padding-left: 24px;\n}\n.ant-list-bordered .ant-list-pagination {\n margin: 16px 24px;\n}\n.ant-list-bordered.ant-list-sm .ant-list-item {\n padding: 8px 16px;\n}\n.ant-list-bordered.ant-list-sm .ant-list-header,\n.ant-list-bordered.ant-list-sm .ant-list-footer {\n padding: 8px 16px;\n}\n.ant-list-bordered.ant-list-lg .ant-list-item {\n padding: 16px 24px;\n}\n.ant-list-bordered.ant-list-lg .ant-list-header,\n.ant-list-bordered.ant-list-lg .ant-list-footer {\n padding: 16px 24px;\n}\n@media screen and (max-width: 768px) {\n .ant-list-item-action {\n margin-left: 24px;\n }\n .ant-list-vertical .ant-list-item-extra {\n margin-left: 24px;\n }\n}\n@media screen and (max-width: 576px) {\n .ant-list-item {\n flex-wrap: wrap;\n }\n .ant-list-item-action {\n margin-left: 12px;\n }\n .ant-list-vertical .ant-list-item {\n flex-wrap: wrap-reverse;\n }\n .ant-list-vertical .ant-list-item-main {\n min-width: 220px;\n }\n .ant-list-vertical .ant-list-item-extra {\n margin: auto auto 16px;\n }\n}\n.ant-list-rtl {\n direction: rtl;\n text-align: right;\n}\n.ant-list-rtl .ReactVirtualized__List .ant-list-item {\n direction: rtl;\n}\n.ant-list-rtl .ant-list-pagination {\n text-align: left;\n}\n.ant-list-rtl .ant-list-item-meta-avatar {\n margin-right: 0;\n margin-left: 16px;\n}\n.ant-list-rtl .ant-list-item-action {\n margin-right: 48px;\n margin-left: 0;\n}\n.ant-list.ant-list-rtl .ant-list-item-action > li:first-child {\n padding-right: 0;\n padding-left: 16px;\n}\n.ant-list-rtl .ant-list-item-action-split {\n right: auto;\n left: 0;\n}\n.ant-list-rtl.ant-list-vertical .ant-list-item-extra {\n margin-right: 40px;\n margin-left: 0;\n}\n.ant-list-rtl.ant-list-vertical .ant-list-item-action {\n margin-right: auto;\n}\n.ant-list-rtl .ant-list-vertical .ant-list-item-action > li:first-child {\n padding-right: 0;\n padding-left: 16px;\n}\n.ant-list-rtl .ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action {\n float: left;\n}\n@media screen and (max-width: 768px) {\n .ant-list-rtl .ant-list-item-action {\n margin-right: 24px;\n margin-left: 0;\n }\n .ant-list-rtl .ant-list-vertical .ant-list-item-extra {\n margin-right: 24px;\n margin-left: 0;\n }\n}\n@media screen and (max-width: 576px) {\n .ant-list-rtl .ant-list-item-action {\n margin-right: 22px;\n margin-left: 0;\n }\n .ant-list-rtl.ant-list-vertical .ant-list-item-extra {\n margin: auto auto 16px;\n }\n}\n.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions,\n.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:hover {\n background: #fff;\n border-color: #ff4d4f;\n}\n.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:focus,\n.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions-focused {\n border-color: #ff7875;\n box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-mentions-status-error .ant-input-prefix {\n color: #ff4d4f;\n}\n.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions,\n.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:hover {\n background: #fff;\n border-color: #faad14;\n}\n.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:focus,\n.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions-focused {\n border-color: #ffc53d;\n box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-mentions-status-warning .ant-input-prefix {\n color: #faad14;\n}\n.ant-mentions {\n box-sizing: border-box;\n margin: 0;\n font-variant: tabular-nums;\n list-style: none;\n font-feature-settings: 'tnum';\n width: 100%;\n min-width: 0;\n padding: 4px 11px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n background-color: #fff;\n background-image: none;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n transition: all 0.3s;\n position: relative;\n display: inline-block;\n height: auto;\n padding: 0;\n overflow: hidden;\n line-height: 1.5715;\n white-space: pre-wrap;\n vertical-align: bottom;\n}\n.ant-mentions::placeholder {\n color: #bfbfbf;\n user-select: none;\n}\n.ant-mentions:placeholder-shown {\n text-overflow: ellipsis;\n}\n.ant-mentions:hover {\n border-color: #5096f2;\n border-right-width: 1px;\n}\n.ant-input-rtl .ant-mentions:hover {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-mentions:focus,\n.ant-mentions-focused {\n border-color: #5096f2;\n box-shadow: 0 0 0 2px rgba(38, 115, 229, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-rtl .ant-mentions:focus,\n.ant-input-rtl .ant-mentions-focused {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-mentions-disabled {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-mentions-disabled:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-mentions[disabled] {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-mentions[disabled]:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-mentions-borderless,\n.ant-mentions-borderless:hover,\n.ant-mentions-borderless:focus,\n.ant-mentions-borderless-focused,\n.ant-mentions-borderless-disabled,\n.ant-mentions-borderless[disabled] {\n background-color: transparent;\n border: none;\n box-shadow: none;\n}\ntextarea.ant-mentions {\n max-width: 100%;\n height: auto;\n min-height: 32px;\n line-height: 1.5715;\n vertical-align: bottom;\n transition: all 0.3s, height 0s;\n}\n.ant-mentions-lg {\n padding: 6.5px 11px;\n font-size: 16px;\n}\n.ant-mentions-sm {\n padding: 0px 7px;\n}\n.ant-mentions-rtl {\n direction: rtl;\n}\n.ant-mentions-disabled > textarea {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-mentions-disabled > textarea:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-mentions-focused {\n border-color: #5096f2;\n box-shadow: 0 0 0 2px rgba(38, 115, 229, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-rtl .ant-mentions-focused {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-mentions > textarea,\n.ant-mentions-measure {\n min-height: 30px;\n margin: 0;\n padding: 4px 11px;\n overflow: inherit;\n overflow-x: hidden;\n overflow-y: auto;\n /* stylelint-disable declaration-block-no-redundant-longhand-properties */\n font-weight: inherit;\n font-size: inherit;\n font-family: inherit;\n font-style: inherit;\n font-variant: inherit;\n font-size-adjust: inherit;\n font-stretch: inherit;\n line-height: inherit;\n /* stylelint-enable declaration-block-no-redundant-longhand-properties */\n direction: inherit;\n letter-spacing: inherit;\n white-space: inherit;\n text-align: inherit;\n vertical-align: top;\n word-wrap: break-word;\n word-break: inherit;\n tab-size: inherit;\n}\n.ant-mentions > textarea {\n width: 100%;\n border: none;\n outline: none;\n resize: none;\n}\n.ant-mentions > textarea::placeholder {\n color: #bfbfbf;\n user-select: none;\n}\n.ant-mentions > textarea:placeholder-shown {\n text-overflow: ellipsis;\n}\n.ant-mentions-measure {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n color: transparent;\n pointer-events: none;\n}\n.ant-mentions-measure > span {\n display: inline-block;\n min-height: 1em;\n}\n.ant-mentions-dropdown {\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: absolute;\n top: -9999px;\n left: -9999px;\n z-index: 1050;\n box-sizing: border-box;\n font-size: 14px;\n font-variant: initial;\n background-color: #fff;\n border-radius: 4px;\n outline: none;\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n}\n.ant-mentions-dropdown-hidden {\n display: none;\n}\n.ant-mentions-dropdown-menu {\n max-height: 250px;\n margin-bottom: 0;\n padding-left: 0;\n overflow: auto;\n list-style: none;\n outline: none;\n}\n.ant-mentions-dropdown-menu-item {\n position: relative;\n display: block;\n min-width: 100px;\n padding: 5px 12px;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.85);\n font-weight: normal;\n line-height: 1.5715;\n white-space: nowrap;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: background 0.3s ease;\n}\n.ant-mentions-dropdown-menu-item:hover {\n background-color: #f5f5f5;\n}\n.ant-mentions-dropdown-menu-item:first-child {\n border-radius: 4px 4px 0 0;\n}\n.ant-mentions-dropdown-menu-item:last-child {\n border-radius: 0 0 4px 4px;\n}\n.ant-mentions-dropdown-menu-item-disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-mentions-dropdown-menu-item-disabled:hover {\n color: rgba(0, 0, 0, 0.25);\n background-color: #fff;\n cursor: not-allowed;\n}\n.ant-mentions-dropdown-menu-item-selected {\n color: rgba(0, 0, 0, 0.85);\n font-weight: 600;\n background-color: #fafafa;\n}\n.ant-mentions-dropdown-menu-item-active {\n background-color: #f5f5f5;\n}\n.ant-mentions-suffix {\n position: absolute;\n top: 0;\n right: 11px;\n bottom: 0;\n z-index: 1;\n display: inline-flex;\n align-items: center;\n margin: auto;\n}\n.ant-mentions-rtl {\n direction: rtl;\n}\n.ant-menu-item-danger.ant-menu-item {\n color: #ff4d4f;\n}\n.ant-menu-item-danger.ant-menu-item:hover,\n.ant-menu-item-danger.ant-menu-item-active {\n color: #ff4d4f;\n}\n.ant-menu-item-danger.ant-menu-item:active {\n background: #fff1f0;\n}\n.ant-menu-item-danger.ant-menu-item-selected {\n color: #ff4d4f;\n}\n.ant-menu-item-danger.ant-menu-item-selected > a,\n.ant-menu-item-danger.ant-menu-item-selected > a:hover {\n color: #ff4d4f;\n}\n.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected {\n background-color: #fff1f0;\n}\n.ant-menu-inline .ant-menu-item-danger.ant-menu-item::after {\n border-right-color: #ff4d4f;\n}\n.ant-menu-dark .ant-menu-item-danger.ant-menu-item,\n.ant-menu-dark .ant-menu-item-danger.ant-menu-item:hover,\n.ant-menu-dark .ant-menu-item-danger.ant-menu-item > a {\n color: #ff4d4f;\n}\n.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected {\n color: #fff;\n background-color: #ff4d4f;\n}\n.ant-menu {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n font-variant: tabular-nums;\n line-height: 1.5715;\n font-feature-settings: 'tnum';\n margin-bottom: 0;\n padding-left: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n line-height: 0;\n text-align: left;\n list-style: none;\n background: #fff;\n outline: none;\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n transition: background 0.3s, width 0.3s cubic-bezier(0.2, 0, 0, 1) 0s;\n}\n.ant-menu::before {\n display: table;\n content: '';\n}\n.ant-menu::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-menu::before {\n display: table;\n content: '';\n}\n.ant-menu::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-menu.ant-menu-root:focus-visible {\n box-shadow: 0 0 0 2px #cfe8ff;\n}\n.ant-menu ul,\n.ant-menu ol {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.ant-menu-overflow {\n display: flex;\n}\n.ant-menu-overflow-item {\n flex: none;\n}\n.ant-menu-hidden,\n.ant-menu-submenu-hidden {\n display: none;\n}\n.ant-menu-item-group-title {\n height: 1.5715;\n padding: 8px 16px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n line-height: 1.5715;\n transition: all 0.3s;\n}\n.ant-menu-horizontal .ant-menu-submenu {\n transition: border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-menu-submenu,\n.ant-menu-submenu-inline {\n transition: border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-menu-submenu-selected {\n color: #2673e5;\n}\n.ant-menu-item:active,\n.ant-menu-submenu-title:active {\n background: #f0f8ff;\n}\n.ant-menu-submenu .ant-menu-sub {\n cursor: initial;\n transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-menu-title-content {\n transition: color 0.3s;\n}\n.ant-menu-item a {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-menu-item a:hover {\n color: #2673e5;\n}\n.ant-menu-item a::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: transparent;\n content: '';\n}\n.ant-menu-item > .ant-badge a {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-menu-item > .ant-badge a:hover {\n color: #2673e5;\n}\n.ant-menu-item-divider {\n overflow: hidden;\n line-height: 0;\n border-color: #f0f0f0;\n border-style: solid;\n border-width: 1px 0 0;\n}\n.ant-menu-item-divider-dashed {\n border-style: dashed;\n}\n.ant-menu-horizontal .ant-menu-item,\n.ant-menu-horizontal .ant-menu-submenu {\n margin-top: -1px;\n}\n.ant-menu-horizontal > .ant-menu-item:hover,\n.ant-menu-horizontal > .ant-menu-item-active,\n.ant-menu-horizontal > .ant-menu-submenu .ant-menu-submenu-title:hover {\n background-color: transparent;\n}\n.ant-menu-item-selected {\n color: #2673e5;\n}\n.ant-menu-item-selected a,\n.ant-menu-item-selected a:hover {\n color: #2673e5;\n}\n.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected {\n background-color: #f0f8ff;\n}\n.ant-menu-inline,\n.ant-menu-vertical,\n.ant-menu-vertical-left {\n border-right: 1px solid #f0f0f0;\n}\n.ant-menu-vertical-right {\n border-left: 1px solid #f0f0f0;\n}\n.ant-menu-vertical.ant-menu-sub,\n.ant-menu-vertical-left.ant-menu-sub,\n.ant-menu-vertical-right.ant-menu-sub {\n min-width: 160px;\n max-height: calc(100vh - 100px);\n padding: 0;\n overflow: hidden;\n border-right: 0;\n}\n.ant-menu-vertical.ant-menu-sub:not([class*='-active']),\n.ant-menu-vertical-left.ant-menu-sub:not([class*='-active']),\n.ant-menu-vertical-right.ant-menu-sub:not([class*='-active']) {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.ant-menu-vertical.ant-menu-sub .ant-menu-item,\n.ant-menu-vertical-left.ant-menu-sub .ant-menu-item,\n.ant-menu-vertical-right.ant-menu-sub .ant-menu-item {\n left: 0;\n margin-left: 0;\n border-right: 0;\n}\n.ant-menu-vertical.ant-menu-sub .ant-menu-item::after,\n.ant-menu-vertical-left.ant-menu-sub .ant-menu-item::after,\n.ant-menu-vertical-right.ant-menu-sub .ant-menu-item::after {\n border-right: 0;\n}\n.ant-menu-vertical.ant-menu-sub > .ant-menu-item,\n.ant-menu-vertical-left.ant-menu-sub > .ant-menu-item,\n.ant-menu-vertical-right.ant-menu-sub > .ant-menu-item,\n.ant-menu-vertical.ant-menu-sub > .ant-menu-submenu,\n.ant-menu-vertical-left.ant-menu-sub > .ant-menu-submenu,\n.ant-menu-vertical-right.ant-menu-sub > .ant-menu-submenu {\n transform-origin: 0 0;\n}\n.ant-menu-horizontal.ant-menu-sub {\n min-width: 114px;\n}\n.ant-menu-horizontal .ant-menu-item,\n.ant-menu-horizontal .ant-menu-submenu-title {\n transition: border-color 0.3s, background 0.3s;\n}\n.ant-menu-item,\n.ant-menu-submenu-title {\n position: relative;\n display: block;\n margin: 0;\n padding: 0 20px;\n white-space: nowrap;\n cursor: pointer;\n transition: border-color 0.3s, background 0.3s, padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-menu-item .ant-menu-item-icon,\n.ant-menu-submenu-title .ant-menu-item-icon,\n.ant-menu-item .anticon,\n.ant-menu-submenu-title .anticon {\n min-width: 14px;\n font-size: 14px;\n transition: font-size 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), margin 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), color 0.3s;\n}\n.ant-menu-item .ant-menu-item-icon + span,\n.ant-menu-submenu-title .ant-menu-item-icon + span,\n.ant-menu-item .anticon + span,\n.ant-menu-submenu-title .anticon + span {\n margin-left: 10px;\n opacity: 1;\n transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), margin 0.3s, color 0.3s;\n}\n.ant-menu-item .ant-menu-item-icon.svg,\n.ant-menu-submenu-title .ant-menu-item-icon.svg {\n vertical-align: -0.125em;\n}\n.ant-menu-item.ant-menu-item-only-child > .anticon,\n.ant-menu-submenu-title.ant-menu-item-only-child > .anticon,\n.ant-menu-item.ant-menu-item-only-child > .ant-menu-item-icon,\n.ant-menu-submenu-title.ant-menu-item-only-child > .ant-menu-item-icon {\n margin-right: 0;\n}\n.ant-menu-item:not(.ant-menu-item-disabled):focus-visible,\n.ant-menu-submenu-title:not(.ant-menu-item-disabled):focus-visible {\n box-shadow: 0 0 0 2px #cfe8ff;\n}\n.ant-menu > .ant-menu-item-divider {\n margin: 1px 0;\n padding: 0;\n}\n.ant-menu-submenu-popup {\n position: absolute;\n z-index: 1050;\n background: transparent;\n border-radius: 4px;\n box-shadow: none;\n transform-origin: 0 0;\n}\n.ant-menu-submenu-popup::before {\n position: absolute;\n top: -7px;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n width: 100%;\n height: 100%;\n opacity: 0.0001;\n content: ' ';\n}\n.ant-menu-submenu-placement-rightTop::before {\n top: 0;\n left: -7px;\n}\n.ant-menu-submenu > .ant-menu {\n background-color: #fff;\n border-radius: 4px;\n}\n.ant-menu-submenu > .ant-menu-submenu-title::after {\n transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-menu-submenu-popup > .ant-menu {\n background-color: #fff;\n}\n.ant-menu-submenu-expand-icon,\n.ant-menu-submenu-arrow {\n position: absolute;\n top: 50%;\n right: 16px;\n width: 10px;\n color: rgba(0, 0, 0, 0.85);\n transform: translateY(-50%);\n transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-menu-submenu-arrow::before,\n.ant-menu-submenu-arrow::after {\n position: absolute;\n width: 6px;\n height: 1.5px;\n background-color: currentcolor;\n border-radius: 2px;\n transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n content: '';\n}\n.ant-menu-submenu-arrow::before {\n transform: rotate(45deg) translateY(-2.5px);\n}\n.ant-menu-submenu-arrow::after {\n transform: rotate(-45deg) translateY(2.5px);\n}\n.ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-expand-icon,\n.ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow {\n color: #2673e5;\n}\n.ant-menu-inline-collapsed .ant-menu-submenu-arrow::before,\n.ant-menu-submenu-inline .ant-menu-submenu-arrow::before {\n transform: rotate(-45deg) translateX(2.5px);\n}\n.ant-menu-inline-collapsed .ant-menu-submenu-arrow::after,\n.ant-menu-submenu-inline .ant-menu-submenu-arrow::after {\n transform: rotate(45deg) translateX(-2.5px);\n}\n.ant-menu-submenu-horizontal .ant-menu-submenu-arrow {\n display: none;\n}\n.ant-menu-submenu-open.ant-menu-submenu-inline > .ant-menu-submenu-title > .ant-menu-submenu-arrow {\n transform: translateY(-2px);\n}\n.ant-menu-submenu-open.ant-menu-submenu-inline > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after {\n transform: rotate(-45deg) translateX(-2.5px);\n}\n.ant-menu-submenu-open.ant-menu-submenu-inline > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before {\n transform: rotate(45deg) translateX(2.5px);\n}\n.ant-menu-vertical .ant-menu-submenu-selected,\n.ant-menu-vertical-left .ant-menu-submenu-selected,\n.ant-menu-vertical-right .ant-menu-submenu-selected {\n color: #2673e5;\n}\n.ant-menu-horizontal {\n line-height: 46px;\n border: 0;\n border-bottom: 1px solid #f0f0f0;\n box-shadow: none;\n}\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu {\n margin-top: -1px;\n margin-bottom: 0;\n padding: 0 20px;\n}\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-active,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-active,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-open,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-open,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-selected,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected {\n color: #2673e5;\n}\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover::after,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover::after,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-active::after,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-active::after,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-open::after,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-open::after,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-selected::after,\n.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected::after {\n border-bottom: 2px solid #2673e5;\n}\n.ant-menu-horizontal > .ant-menu-item,\n.ant-menu-horizontal > .ant-menu-submenu {\n position: relative;\n top: 1px;\n display: inline-block;\n vertical-align: bottom;\n}\n.ant-menu-horizontal > .ant-menu-item::after,\n.ant-menu-horizontal > .ant-menu-submenu::after {\n position: absolute;\n right: 20px;\n bottom: 0;\n left: 20px;\n border-bottom: 2px solid transparent;\n transition: border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n content: '';\n}\n.ant-menu-horizontal > .ant-menu-submenu > .ant-menu-submenu-title {\n padding: 0;\n}\n.ant-menu-horizontal > .ant-menu-item a {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-menu-horizontal > .ant-menu-item a:hover {\n color: #2673e5;\n}\n.ant-menu-horizontal > .ant-menu-item a::before {\n bottom: -2px;\n}\n.ant-menu-horizontal > .ant-menu-item-selected a {\n color: #2673e5;\n}\n.ant-menu-horizontal::after {\n display: block;\n clear: both;\n height: 0;\n content: '\\20';\n}\n.ant-menu-vertical .ant-menu-item,\n.ant-menu-vertical-left .ant-menu-item,\n.ant-menu-vertical-right .ant-menu-item,\n.ant-menu-inline .ant-menu-item {\n position: relative;\n}\n.ant-menu-vertical .ant-menu-item::after,\n.ant-menu-vertical-left .ant-menu-item::after,\n.ant-menu-vertical-right .ant-menu-item::after,\n.ant-menu-inline .ant-menu-item::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n border-right: 3px solid #2673e5;\n transform: scaleY(0.0001);\n opacity: 0;\n transition: transform 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n content: '';\n}\n.ant-menu-vertical .ant-menu-item,\n.ant-menu-vertical-left .ant-menu-item,\n.ant-menu-vertical-right .ant-menu-item,\n.ant-menu-inline .ant-menu-item,\n.ant-menu-vertical .ant-menu-submenu-title,\n.ant-menu-vertical-left .ant-menu-submenu-title,\n.ant-menu-vertical-right .ant-menu-submenu-title,\n.ant-menu-inline .ant-menu-submenu-title {\n height: 40px;\n margin-top: 4px;\n margin-bottom: 4px;\n padding: 0 16px;\n overflow: hidden;\n line-height: 40px;\n text-overflow: ellipsis;\n}\n.ant-menu-vertical .ant-menu-submenu,\n.ant-menu-vertical-left .ant-menu-submenu,\n.ant-menu-vertical-right .ant-menu-submenu,\n.ant-menu-inline .ant-menu-submenu {\n padding-bottom: 0.02px;\n}\n.ant-menu-vertical .ant-menu-item:not(:last-child),\n.ant-menu-vertical-left .ant-menu-item:not(:last-child),\n.ant-menu-vertical-right .ant-menu-item:not(:last-child),\n.ant-menu-inline .ant-menu-item:not(:last-child) {\n margin-bottom: 8px;\n}\n.ant-menu-vertical > .ant-menu-item,\n.ant-menu-vertical-left > .ant-menu-item,\n.ant-menu-vertical-right > .ant-menu-item,\n.ant-menu-inline > .ant-menu-item,\n.ant-menu-vertical > .ant-menu-submenu > .ant-menu-submenu-title,\n.ant-menu-vertical-left > .ant-menu-submenu > .ant-menu-submenu-title,\n.ant-menu-vertical-right > .ant-menu-submenu > .ant-menu-submenu-title,\n.ant-menu-inline > .ant-menu-submenu > .ant-menu-submenu-title {\n height: 40px;\n line-height: 40px;\n}\n.ant-menu-vertical .ant-menu-item-group-list .ant-menu-submenu-title,\n.ant-menu-vertical .ant-menu-submenu-title {\n padding-right: 34px;\n}\n.ant-menu-inline {\n width: 100%;\n}\n.ant-menu-inline .ant-menu-selected::after,\n.ant-menu-inline .ant-menu-item-selected::after {\n transform: scaleY(1);\n opacity: 1;\n transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-menu-inline .ant-menu-item,\n.ant-menu-inline .ant-menu-submenu-title {\n width: calc(100% + 1px);\n}\n.ant-menu-inline .ant-menu-item-group-list .ant-menu-submenu-title,\n.ant-menu-inline .ant-menu-submenu-title {\n padding-right: 34px;\n}\n.ant-menu-inline.ant-menu-root .ant-menu-item,\n.ant-menu-inline.ant-menu-root .ant-menu-submenu-title {\n display: flex;\n align-items: center;\n transition: border-color 0.3s, background 0.3s, padding 0.1s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n.ant-menu-inline.ant-menu-root .ant-menu-item > .ant-menu-title-content,\n.ant-menu-inline.ant-menu-root .ant-menu-submenu-title > .ant-menu-title-content {\n flex: auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ant-menu-inline.ant-menu-root .ant-menu-item > *,\n.ant-menu-inline.ant-menu-root .ant-menu-submenu-title > * {\n flex: none;\n}\n.ant-menu.ant-menu-inline-collapsed {\n width: 80px;\n}\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title {\n left: 0;\n padding: 0 calc(50% - 16px / 2);\n text-overflow: clip;\n}\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .ant-menu-submenu-arrow,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .ant-menu-submenu-arrow,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-submenu-arrow,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-submenu-arrow {\n opacity: 0;\n}\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .ant-menu-item-icon,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .ant-menu-item-icon,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-item-icon,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-item-icon,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .anticon,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .anticon,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .anticon,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .anticon {\n margin: 0;\n font-size: 16px;\n line-height: 40px;\n}\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .ant-menu-item-icon + span,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .ant-menu-item-icon + span,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-item-icon + span,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-item-icon + span,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .anticon + span,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .anticon + span,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .anticon + span,\n.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .anticon + span {\n display: inline-block;\n opacity: 0;\n}\n.ant-menu.ant-menu-inline-collapsed .ant-menu-item-icon,\n.ant-menu.ant-menu-inline-collapsed .anticon {\n display: inline-block;\n}\n.ant-menu.ant-menu-inline-collapsed-tooltip {\n pointer-events: none;\n}\n.ant-menu.ant-menu-inline-collapsed-tooltip .ant-menu-item-icon,\n.ant-menu.ant-menu-inline-collapsed-tooltip .anticon {\n display: none;\n}\n.ant-menu.ant-menu-inline-collapsed-tooltip a {\n color: rgba(255, 255, 255, 0.85);\n}\n.ant-menu.ant-menu-inline-collapsed .ant-menu-item-group-title {\n padding-right: 4px;\n padding-left: 4px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.ant-menu-item-group-list {\n margin: 0;\n padding: 0;\n}\n.ant-menu-item-group-list .ant-menu-item,\n.ant-menu-item-group-list .ant-menu-submenu-title {\n padding: 0 16px 0 28px;\n}\n.ant-menu-root.ant-menu-vertical,\n.ant-menu-root.ant-menu-vertical-left,\n.ant-menu-root.ant-menu-vertical-right,\n.ant-menu-root.ant-menu-inline {\n box-shadow: none;\n}\n.ant-menu-root.ant-menu-inline-collapsed .ant-menu-item > .ant-menu-inline-collapsed-noicon,\n.ant-menu-root.ant-menu-inline-collapsed .ant-menu-submenu .ant-menu-submenu-title > .ant-menu-inline-collapsed-noicon {\n font-size: 16px;\n text-align: center;\n}\n.ant-menu-sub.ant-menu-inline {\n padding: 0;\n background: #fafafa;\n border: 0;\n border-radius: 0;\n box-shadow: none;\n}\n.ant-menu-sub.ant-menu-inline > .ant-menu-item,\n.ant-menu-sub.ant-menu-inline > .ant-menu-submenu > .ant-menu-submenu-title {\n height: 40px;\n line-height: 40px;\n list-style-position: inside;\n list-style-type: disc;\n}\n.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title {\n padding-left: 32px;\n}\n.ant-menu-item-disabled,\n.ant-menu-submenu-disabled {\n color: rgba(0, 0, 0, 0.25) !important;\n background: none;\n cursor: not-allowed;\n}\n.ant-menu-item-disabled::after,\n.ant-menu-submenu-disabled::after {\n border-color: transparent !important;\n}\n.ant-menu-item-disabled a,\n.ant-menu-submenu-disabled a {\n color: rgba(0, 0, 0, 0.25) !important;\n pointer-events: none;\n}\n.ant-menu-item-disabled > .ant-menu-submenu-title,\n.ant-menu-submenu-disabled > .ant-menu-submenu-title {\n color: rgba(0, 0, 0, 0.25) !important;\n cursor: not-allowed;\n}\n.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before,\n.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before,\n.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after,\n.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after {\n background: rgba(0, 0, 0, 0.25) !important;\n}\n.ant-layout-header .ant-menu {\n line-height: inherit;\n}\n.ant-menu-inline-collapsed-tooltip a,\n.ant-menu-inline-collapsed-tooltip a:hover {\n color: #fff;\n}\n.ant-menu-light .ant-menu-item:hover,\n.ant-menu-light .ant-menu-item-active,\n.ant-menu-light .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open,\n.ant-menu-light .ant-menu-submenu-active,\n.ant-menu-light .ant-menu-submenu-title:hover {\n color: #2673e5;\n}\n.ant-menu.ant-menu-root:focus-visible {\n box-shadow: 0 0 0 2px #1755bf;\n}\n.ant-menu-dark .ant-menu-item:focus-visible,\n.ant-menu-dark .ant-menu-submenu-title:focus-visible {\n box-shadow: 0 0 0 2px #1755bf;\n}\n.ant-menu.ant-menu-dark,\n.ant-menu-dark .ant-menu-sub,\n.ant-menu.ant-menu-dark .ant-menu-sub {\n color: rgba(255, 255, 255, 0.65);\n background: #001529;\n}\n.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow,\n.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow {\n opacity: 0.45;\n transition: all 0.3s;\n}\n.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::after,\n.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after,\n.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after,\n.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::before,\n.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before,\n.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before {\n background: #fff;\n}\n.ant-menu-dark.ant-menu-submenu-popup {\n background: transparent;\n}\n.ant-menu-dark .ant-menu-inline.ant-menu-sub {\n background: #000c17;\n}\n.ant-menu-dark.ant-menu-horizontal {\n border-bottom: 0;\n}\n.ant-menu-dark.ant-menu-horizontal > .ant-menu-item,\n.ant-menu-dark.ant-menu-horizontal > .ant-menu-submenu {\n top: 0;\n margin-top: 0;\n padding: 0 20px;\n border-color: #001529;\n border-bottom: 0;\n}\n.ant-menu-dark.ant-menu-horizontal > .ant-menu-item:hover {\n background-color: #2673e5;\n}\n.ant-menu-dark.ant-menu-horizontal > .ant-menu-item > a::before {\n bottom: 0;\n}\n.ant-menu-dark .ant-menu-item,\n.ant-menu-dark .ant-menu-item-group-title,\n.ant-menu-dark .ant-menu-item > a,\n.ant-menu-dark .ant-menu-item > span > a {\n color: rgba(255, 255, 255, 0.65);\n}\n.ant-menu-dark.ant-menu-inline,\n.ant-menu-dark.ant-menu-vertical,\n.ant-menu-dark.ant-menu-vertical-left,\n.ant-menu-dark.ant-menu-vertical-right {\n border-right: 0;\n}\n.ant-menu-dark.ant-menu-inline .ant-menu-item,\n.ant-menu-dark.ant-menu-vertical .ant-menu-item,\n.ant-menu-dark.ant-menu-vertical-left .ant-menu-item,\n.ant-menu-dark.ant-menu-vertical-right .ant-menu-item {\n left: 0;\n margin-left: 0;\n border-right: 0;\n}\n.ant-menu-dark.ant-menu-inline .ant-menu-item::after,\n.ant-menu-dark.ant-menu-vertical .ant-menu-item::after,\n.ant-menu-dark.ant-menu-vertical-left .ant-menu-item::after,\n.ant-menu-dark.ant-menu-vertical-right .ant-menu-item::after {\n border-right: 0;\n}\n.ant-menu-dark.ant-menu-inline .ant-menu-item,\n.ant-menu-dark.ant-menu-inline .ant-menu-submenu-title {\n width: 100%;\n}\n.ant-menu-dark .ant-menu-item:hover,\n.ant-menu-dark .ant-menu-item-active,\n.ant-menu-dark .ant-menu-submenu-active,\n.ant-menu-dark .ant-menu-submenu-open,\n.ant-menu-dark .ant-menu-submenu-selected,\n.ant-menu-dark .ant-menu-submenu-title:hover {\n color: #fff;\n background-color: transparent;\n}\n.ant-menu-dark .ant-menu-item:hover > a,\n.ant-menu-dark .ant-menu-item-active > a,\n.ant-menu-dark .ant-menu-submenu-active > a,\n.ant-menu-dark .ant-menu-submenu-open > a,\n.ant-menu-dark .ant-menu-submenu-selected > a,\n.ant-menu-dark .ant-menu-submenu-title:hover > a,\n.ant-menu-dark .ant-menu-item:hover > span > a,\n.ant-menu-dark .ant-menu-item-active > span > a,\n.ant-menu-dark .ant-menu-submenu-active > span > a,\n.ant-menu-dark .ant-menu-submenu-open > span > a,\n.ant-menu-dark .ant-menu-submenu-selected > span > a,\n.ant-menu-dark .ant-menu-submenu-title:hover > span > a {\n color: #fff;\n}\n.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow {\n opacity: 1;\n}\n.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after,\n.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after,\n.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after,\n.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after,\n.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after,\n.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after,\n.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before,\n.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before,\n.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before,\n.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before,\n.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before,\n.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before {\n background: #fff;\n}\n.ant-menu-dark .ant-menu-item:hover {\n background-color: transparent;\n}\n.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected {\n background-color: #2673e5;\n}\n.ant-menu-dark .ant-menu-item-selected {\n color: #fff;\n border-right: 0;\n}\n.ant-menu-dark .ant-menu-item-selected::after {\n border-right: 0;\n}\n.ant-menu-dark .ant-menu-item-selected > a,\n.ant-menu-dark .ant-menu-item-selected > span > a,\n.ant-menu-dark .ant-menu-item-selected > a:hover,\n.ant-menu-dark .ant-menu-item-selected > span > a:hover {\n color: #fff;\n}\n.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon,\n.ant-menu-dark .ant-menu-item-selected .anticon {\n color: #fff;\n}\n.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon + span,\n.ant-menu-dark .ant-menu-item-selected .anticon + span {\n color: #fff;\n}\n.ant-menu.ant-menu-dark .ant-menu-item-selected,\n.ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected {\n background-color: #2673e5;\n}\n.ant-menu-dark .ant-menu-item-disabled,\n.ant-menu-dark .ant-menu-submenu-disabled,\n.ant-menu-dark .ant-menu-item-disabled > a,\n.ant-menu-dark .ant-menu-submenu-disabled > a,\n.ant-menu-dark .ant-menu-item-disabled > span > a,\n.ant-menu-dark .ant-menu-submenu-disabled > span > a {\n color: rgba(255, 255, 255, 0.35) !important;\n opacity: 0.8;\n}\n.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title,\n.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title {\n color: rgba(255, 255, 255, 0.35) !important;\n}\n.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before,\n.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before,\n.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after,\n.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after {\n background: rgba(255, 255, 255, 0.35) !important;\n}\n.ant-menu.ant-menu-rtl {\n direction: rtl;\n text-align: right;\n}\n.ant-menu-rtl .ant-menu-item-group-title {\n text-align: right;\n}\n.ant-menu-rtl.ant-menu-inline,\n.ant-menu-rtl.ant-menu-vertical {\n border-right: none;\n border-left: 1px solid #f0f0f0;\n}\n.ant-menu-rtl.ant-menu-dark.ant-menu-inline,\n.ant-menu-rtl.ant-menu-dark.ant-menu-vertical {\n border-left: none;\n}\n.ant-menu-rtl.ant-menu-vertical.ant-menu-sub > .ant-menu-item,\n.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub > .ant-menu-item,\n.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub > .ant-menu-item,\n.ant-menu-rtl.ant-menu-vertical.ant-menu-sub > .ant-menu-submenu,\n.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub > .ant-menu-submenu,\n.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub > .ant-menu-submenu {\n transform-origin: top right;\n}\n.ant-menu-rtl .ant-menu-item .ant-menu-item-icon,\n.ant-menu-rtl .ant-menu-submenu-title .ant-menu-item-icon,\n.ant-menu-rtl .ant-menu-item .anticon,\n.ant-menu-rtl .ant-menu-submenu-title .anticon {\n margin-right: auto;\n margin-left: 10px;\n}\n.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child > .ant-menu-item-icon,\n.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child > .ant-menu-item-icon,\n.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child > .anticon,\n.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child > .anticon {\n margin-left: 0;\n}\n.ant-menu-submenu-rtl.ant-menu-submenu-popup {\n transform-origin: 100% 0;\n}\n.ant-menu-rtl .ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow,\n.ant-menu-rtl .ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow,\n.ant-menu-rtl .ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow,\n.ant-menu-rtl .ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow {\n right: auto;\n left: 16px;\n}\n.ant-menu-rtl .ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow::before,\n.ant-menu-rtl .ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow::before,\n.ant-menu-rtl .ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow::before {\n transform: rotate(-45deg) translateY(-2px);\n}\n.ant-menu-rtl .ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow::after,\n.ant-menu-rtl .ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow::after,\n.ant-menu-rtl .ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow::after {\n transform: rotate(45deg) translateY(2px);\n}\n.ant-menu-rtl.ant-menu-vertical .ant-menu-item::after,\n.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item::after,\n.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item::after,\n.ant-menu-rtl.ant-menu-inline .ant-menu-item::after {\n right: auto;\n left: 0;\n}\n.ant-menu-rtl.ant-menu-vertical .ant-menu-item,\n.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item,\n.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item,\n.ant-menu-rtl.ant-menu-inline .ant-menu-item,\n.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title,\n.ant-menu-rtl.ant-menu-vertical-left .ant-menu-submenu-title,\n.ant-menu-rtl.ant-menu-vertical-right .ant-menu-submenu-title,\n.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title {\n text-align: right;\n}\n.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title {\n padding-right: 0;\n padding-left: 34px;\n}\n.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title {\n padding-right: 16px;\n padding-left: 34px;\n}\n.ant-menu-rtl.ant-menu-inline-collapsed.ant-menu-vertical .ant-menu-submenu-title {\n padding: 0 calc(50% - 16px / 2);\n}\n.ant-menu-rtl .ant-menu-item-group-list .ant-menu-item,\n.ant-menu-rtl .ant-menu-item-group-list .ant-menu-submenu-title {\n padding: 0 28px 0 16px;\n}\n.ant-menu-sub.ant-menu-inline {\n border: 0;\n}\n.ant-menu-rtl.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title {\n padding-right: 32px;\n padding-left: 0;\n}\n.ant-message {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: fixed;\n top: 8px;\n left: 0;\n z-index: 1010;\n width: 100%;\n pointer-events: none;\n}\n.ant-message-notice {\n padding: 8px;\n text-align: center;\n}\n.ant-message-notice-content {\n display: inline-block;\n padding: 10px 16px;\n background: #fff;\n border-radius: 4px;\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n pointer-events: all;\n}\n.ant-message-success .anticon {\n color: #52c41a;\n}\n.ant-message-error .anticon {\n color: #ff4d4f;\n}\n.ant-message-warning .anticon {\n color: #faad14;\n}\n.ant-message-info .anticon,\n.ant-message-loading .anticon {\n color: #2673e5;\n}\n.ant-message .anticon {\n position: relative;\n top: 1px;\n margin-right: 8px;\n font-size: 16px;\n}\n.ant-message-notice.ant-move-up-leave.ant-move-up-leave-active {\n animation-name: MessageMoveOut;\n animation-duration: 0.3s;\n}\n@keyframes MessageMoveOut {\n 0% {\n max-height: 150px;\n padding: 8px;\n opacity: 1;\n }\n 100% {\n max-height: 0;\n padding: 0;\n opacity: 0;\n }\n}\n.ant-message-rtl {\n direction: rtl;\n}\n.ant-message-rtl span {\n direction: rtl;\n}\n.ant-message-rtl .anticon {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-modal {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n pointer-events: none;\n position: relative;\n top: 100px;\n width: auto;\n max-width: calc(100vw - 32px);\n margin: 0 auto;\n padding-bottom: 24px;\n}\n.ant-modal.ant-zoom-enter,\n.ant-modal.ant-zoom-appear {\n transform: none;\n opacity: 0;\n animation-duration: 0.3s;\n user-select: none;\n}\n.ant-modal-mask {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1000;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.45);\n}\n.ant-modal-mask-hidden {\n display: none;\n}\n.ant-modal-wrap {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: auto;\n outline: 0;\n}\n.ant-modal-wrap {\n z-index: 1000;\n}\n.ant-modal-title {\n margin: 0;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 500;\n font-size: 16px;\n line-height: 22px;\n word-wrap: break-word;\n}\n.ant-modal-content {\n position: relative;\n background-color: #fff;\n background-clip: padding-box;\n border: 0;\n border-radius: 4px;\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n pointer-events: auto;\n}\n.ant-modal-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 10;\n padding: 0;\n color: rgba(0, 0, 0, 0.45);\n font-weight: 700;\n line-height: 1;\n text-decoration: none;\n background: transparent;\n border: 0;\n outline: 0;\n cursor: pointer;\n transition: color 0.3s;\n}\n.ant-modal-close-x {\n display: block;\n width: 54px;\n height: 54px;\n font-size: 16px;\n font-style: normal;\n line-height: 54px;\n text-align: center;\n text-transform: none;\n text-rendering: auto;\n}\n.ant-modal-close:focus,\n.ant-modal-close:hover {\n color: rgba(0, 0, 0, 0.75);\n text-decoration: none;\n}\n.ant-modal-header {\n padding: 16px 24px;\n color: rgba(0, 0, 0, 0.85);\n background: #fff;\n border-bottom: 1px solid #f0f0f0;\n border-radius: 4px 4px 0 0;\n}\n.ant-modal-body {\n padding: 24px;\n font-size: 14px;\n line-height: 1.5715;\n word-wrap: break-word;\n}\n.ant-modal-footer {\n padding: 10px 16px;\n text-align: right;\n background: transparent;\n border-top: 1px solid #f0f0f0;\n border-radius: 0 0 4px 4px;\n}\n.ant-modal-footer .ant-btn + .ant-btn:not(.ant-dropdown-trigger) {\n margin-bottom: 0;\n margin-left: 8px;\n}\n.ant-modal-open {\n overflow: hidden;\n}\n.ant-modal-centered {\n text-align: center;\n}\n.ant-modal-centered::before {\n display: inline-block;\n width: 0;\n height: 100%;\n vertical-align: middle;\n content: '';\n}\n.ant-modal-centered .ant-modal {\n top: 0;\n display: inline-block;\n padding-bottom: 0;\n text-align: left;\n vertical-align: middle;\n}\n@media (max-width: 767px) {\n .ant-modal {\n max-width: calc(100vw - 16px);\n margin: 8px auto;\n }\n .ant-modal-centered .ant-modal {\n flex: 1;\n }\n}\n.ant-modal-confirm .ant-modal-header {\n display: none;\n}\n.ant-modal-confirm .ant-modal-body {\n padding: 32px 32px 24px;\n}\n.ant-modal-confirm-body-wrapper::before {\n display: table;\n content: '';\n}\n.ant-modal-confirm-body-wrapper::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-modal-confirm-body-wrapper::before {\n display: table;\n content: '';\n}\n.ant-modal-confirm-body-wrapper::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-modal-confirm-body .ant-modal-confirm-title {\n display: block;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 500;\n font-size: 16px;\n line-height: 1.4;\n}\n.ant-modal-confirm-body .ant-modal-confirm-content {\n margin-top: 8px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n}\n.ant-modal-confirm-body > .anticon {\n float: left;\n margin-right: 16px;\n font-size: 22px;\n}\n.ant-modal-confirm-body > .anticon + .ant-modal-confirm-title + .ant-modal-confirm-content {\n margin-left: 38px;\n}\n.ant-modal-confirm .ant-modal-confirm-btns {\n margin-top: 24px;\n text-align: right;\n}\n.ant-modal-confirm .ant-modal-confirm-btns .ant-btn + .ant-btn {\n margin-bottom: 0;\n margin-left: 8px;\n}\n.ant-modal-confirm-error .ant-modal-confirm-body > .anticon {\n color: #ff4d4f;\n}\n.ant-modal-confirm-warning .ant-modal-confirm-body > .anticon,\n.ant-modal-confirm-confirm .ant-modal-confirm-body > .anticon {\n color: #faad14;\n}\n.ant-modal-confirm-info .ant-modal-confirm-body > .anticon {\n color: #2673e5;\n}\n.ant-modal-confirm-success .ant-modal-confirm-body > .anticon {\n color: #52c41a;\n}\n.ant-modal-confirm .ant-zoom-leave .ant-modal-confirm-btns {\n pointer-events: none;\n}\n.ant-modal-wrap-rtl {\n direction: rtl;\n}\n.ant-modal-wrap-rtl .ant-modal-close {\n right: initial;\n left: 0;\n}\n.ant-modal-wrap-rtl .ant-modal-footer {\n text-align: left;\n}\n.ant-modal-wrap-rtl .ant-modal-footer .ant-btn + .ant-btn {\n margin-right: 8px;\n margin-left: 0;\n}\n.ant-modal-wrap-rtl .ant-modal-confirm-body {\n direction: rtl;\n}\n.ant-modal-wrap-rtl .ant-modal-confirm-body > .anticon {\n float: right;\n margin-right: 0;\n margin-left: 16px;\n}\n.ant-modal-wrap-rtl .ant-modal-confirm-body > .anticon + .ant-modal-confirm-title + .ant-modal-confirm-content {\n margin-right: 38px;\n margin-left: 0;\n}\n.ant-modal-wrap-rtl .ant-modal-confirm-btns {\n text-align: left;\n}\n.ant-modal-wrap-rtl .ant-modal-confirm-btns .ant-btn + .ant-btn {\n margin-right: 8px;\n margin-left: 0;\n}\n.ant-modal-wrap-rtl.ant-modal-centered .ant-modal {\n text-align: right;\n}\n.ant-notification {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: fixed;\n z-index: 1010;\n margin-right: 24px;\n}\n.ant-notification-close-icon {\n font-size: 14px;\n cursor: pointer;\n}\n.ant-notification-hook-holder {\n position: relative;\n}\n.ant-notification-notice {\n position: relative;\n width: 384px;\n max-width: calc(100vw - 24px * 2);\n margin-bottom: 16px;\n margin-left: auto;\n padding: 16px 24px;\n overflow: hidden;\n line-height: 1.5715;\n word-wrap: break-word;\n background: #fff;\n border-radius: 4px;\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n}\n.ant-notification-top .ant-notification-notice,\n.ant-notification-bottom .ant-notification-notice {\n margin-right: auto;\n margin-left: auto;\n}\n.ant-notification-topLeft .ant-notification-notice,\n.ant-notification-bottomLeft .ant-notification-notice {\n margin-right: auto;\n margin-left: 0;\n}\n.ant-notification-notice-message {\n margin-bottom: 8px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 16px;\n line-height: 24px;\n}\n.ant-notification-notice-message-single-line-auto-margin {\n display: block;\n width: calc(384px - 24px * 2 - 24px - 48px - 100%);\n max-width: 4px;\n background-color: transparent;\n pointer-events: none;\n}\n.ant-notification-notice-message-single-line-auto-margin::before {\n display: block;\n content: '';\n}\n.ant-notification-notice-description {\n font-size: 14px;\n}\n.ant-notification-notice-closable .ant-notification-notice-message {\n padding-right: 24px;\n}\n.ant-notification-notice-with-icon .ant-notification-notice-message {\n margin-bottom: 4px;\n margin-left: 48px;\n font-size: 16px;\n}\n.ant-notification-notice-with-icon .ant-notification-notice-description {\n margin-left: 48px;\n font-size: 14px;\n}\n.ant-notification-notice-icon {\n position: absolute;\n margin-left: 4px;\n font-size: 24px;\n line-height: 24px;\n}\n.anticon.ant-notification-notice-icon-success {\n color: #52c41a;\n}\n.anticon.ant-notification-notice-icon-info {\n color: #2673e5;\n}\n.anticon.ant-notification-notice-icon-warning {\n color: #faad14;\n}\n.anticon.ant-notification-notice-icon-error {\n color: #ff4d4f;\n}\n.ant-notification-notice-close {\n position: absolute;\n top: 16px;\n right: 22px;\n color: rgba(0, 0, 0, 0.45);\n outline: none;\n}\n.ant-notification-notice-close:hover {\n color: rgba(0, 0, 0, 0.67);\n}\n.ant-notification-notice-btn {\n float: right;\n margin-top: 16px;\n}\n.ant-notification .notification-fade-effect {\n animation-duration: 0.24s;\n animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);\n animation-fill-mode: both;\n}\n.ant-notification-fade-enter,\n.ant-notification-fade-appear {\n animation-duration: 0.24s;\n animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);\n animation-fill-mode: both;\n opacity: 0;\n animation-play-state: paused;\n}\n.ant-notification-fade-leave {\n animation-duration: 0.24s;\n animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);\n animation-fill-mode: both;\n animation-duration: 0.2s;\n animation-play-state: paused;\n}\n.ant-notification-fade-enter.ant-notification-fade-enter-active,\n.ant-notification-fade-appear.ant-notification-fade-appear-active {\n animation-name: NotificationFadeIn;\n animation-play-state: running;\n}\n.ant-notification-fade-leave.ant-notification-fade-leave-active {\n animation-name: NotificationFadeOut;\n animation-play-state: running;\n}\n@keyframes NotificationFadeIn {\n 0% {\n left: 384px;\n opacity: 0;\n }\n 100% {\n left: 0;\n opacity: 1;\n }\n}\n@keyframes NotificationFadeOut {\n 0% {\n max-height: 150px;\n margin-bottom: 16px;\n opacity: 1;\n }\n 100% {\n max-height: 0;\n margin-bottom: 0;\n padding-top: 0;\n padding-bottom: 0;\n opacity: 0;\n }\n}\n.ant-notification-rtl {\n direction: rtl;\n}\n.ant-notification-rtl .ant-notification-notice-closable .ant-notification-notice-message {\n padding-right: 0;\n padding-left: 24px;\n}\n.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-message {\n margin-right: 48px;\n margin-left: 0;\n}\n.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-description {\n margin-right: 48px;\n margin-left: 0;\n}\n.ant-notification-rtl .ant-notification-notice-icon {\n margin-right: 4px;\n margin-left: 0;\n}\n.ant-notification-rtl .ant-notification-notice-close {\n right: auto;\n left: 22px;\n}\n.ant-notification-rtl .ant-notification-notice-btn {\n float: left;\n}\n.ant-notification-top,\n.ant-notification-bottom {\n margin-right: 0;\n margin-left: 0;\n}\n.ant-notification-top .ant-notification-fade-enter.ant-notification-fade-enter-active,\n.ant-notification-top .ant-notification-fade-appear.ant-notification-fade-appear-active {\n animation-name: NotificationTopFadeIn;\n}\n.ant-notification-bottom .ant-notification-fade-enter.ant-notification-fade-enter-active,\n.ant-notification-bottom .ant-notification-fade-appear.ant-notification-fade-appear-active {\n animation-name: NotificationBottomFadeIn;\n}\n.ant-notification-topLeft,\n.ant-notification-bottomLeft {\n margin-right: 0;\n margin-left: 24px;\n}\n.ant-notification-topLeft .ant-notification-fade-enter.ant-notification-fade-enter-active,\n.ant-notification-bottomLeft .ant-notification-fade-enter.ant-notification-fade-enter-active,\n.ant-notification-topLeft .ant-notification-fade-appear.ant-notification-fade-appear-active,\n.ant-notification-bottomLeft .ant-notification-fade-appear.ant-notification-fade-appear-active {\n animation-name: NotificationLeftFadeIn;\n}\n@keyframes NotificationTopFadeIn {\n 0% {\n margin-top: -100%;\n opacity: 0;\n }\n 100% {\n margin-top: 0;\n opacity: 1;\n }\n}\n@keyframes NotificationBottomFadeIn {\n 0% {\n margin-bottom: -100%;\n opacity: 0;\n }\n 100% {\n margin-bottom: 0;\n opacity: 1;\n }\n}\n@keyframes NotificationLeftFadeIn {\n 0% {\n right: 384px;\n opacity: 0;\n }\n 100% {\n right: 0;\n opacity: 1;\n }\n}\n.ant-page-header {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n padding: 16px 24px;\n background-color: #fff;\n}\n.ant-page-header-ghost {\n background-color: inherit;\n}\n.ant-page-header.has-breadcrumb {\n padding-top: 12px;\n}\n.ant-page-header.has-footer {\n padding-bottom: 0;\n}\n.ant-page-header-back {\n margin-right: 16px;\n font-size: 16px;\n line-height: 1;\n}\n.ant-page-header-back-button {\n color: #2673e5;\n outline: none;\n cursor: pointer;\n transition: color 0.3s;\n color: #000;\n}\n.ant-page-header-back-button:focus-visible,\n.ant-page-header-back-button:hover {\n color: #5096f2;\n}\n.ant-page-header-back-button:active {\n color: #1755bf;\n}\n.ant-page-header .ant-divider-vertical {\n height: 14px;\n margin: 0 12px;\n vertical-align: middle;\n}\n.ant-breadcrumb + .ant-page-header-heading {\n margin-top: 8px;\n}\n.ant-page-header-heading {\n display: flex;\n justify-content: space-between;\n}\n.ant-page-header-heading-left {\n display: flex;\n align-items: center;\n margin: 4px 0;\n overflow: hidden;\n}\n.ant-page-header-heading-title {\n margin-right: 12px;\n margin-bottom: 0;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 600;\n font-size: 20px;\n line-height: 32px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.ant-page-header-heading .ant-avatar {\n margin-right: 12px;\n}\n.ant-page-header-heading-sub-title {\n margin-right: 12px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n line-height: 1.5715;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.ant-page-header-heading-extra {\n margin: 4px 0;\n white-space: nowrap;\n}\n.ant-page-header-heading-extra > * {\n white-space: unset;\n}\n.ant-page-header-content {\n padding-top: 12px;\n}\n.ant-page-header-footer {\n margin-top: 16px;\n}\n.ant-page-header-footer .ant-tabs > .ant-tabs-nav {\n margin: 0;\n}\n.ant-page-header-footer .ant-tabs > .ant-tabs-nav::before {\n border: none;\n}\n.ant-page-header-footer .ant-tabs .ant-tabs-tab {\n padding-top: 8px;\n padding-bottom: 8px;\n font-size: 16px;\n}\n.ant-page-header-compact .ant-page-header-heading {\n flex-wrap: wrap;\n}\n.ant-page-header-rtl {\n direction: rtl;\n}\n.ant-page-header-rtl .ant-page-header-back {\n float: right;\n margin-right: 0;\n margin-left: 16px;\n}\n.ant-page-header-rtl .ant-page-header-heading-title {\n margin-right: 0;\n margin-left: 12px;\n}\n.ant-page-header-rtl .ant-page-header-heading .ant-avatar {\n margin-right: 0;\n margin-left: 12px;\n}\n.ant-page-header-rtl .ant-page-header-heading-sub-title {\n float: right;\n margin-right: 0;\n margin-left: 12px;\n}\n.ant-page-header-rtl .ant-page-header-heading-tags {\n float: right;\n}\n.ant-page-header-rtl .ant-page-header-heading-extra {\n float: left;\n}\n.ant-page-header-rtl .ant-page-header-heading-extra > * {\n margin-right: 12px;\n margin-left: 0;\n}\n.ant-page-header-rtl .ant-page-header-heading-extra > *:first-child {\n margin-right: 0;\n}\n.ant-page-header-rtl .ant-page-header-footer .ant-tabs-bar .ant-tabs-nav {\n float: right;\n}\n.ant-pagination {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n}\n.ant-pagination ul,\n.ant-pagination ol {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.ant-pagination::after {\n display: block;\n clear: both;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n content: ' ';\n}\n.ant-pagination-total-text {\n display: inline-block;\n height: 32px;\n margin-right: 8px;\n line-height: 30px;\n vertical-align: middle;\n}\n.ant-pagination-item {\n display: inline-block;\n min-width: 32px;\n height: 32px;\n margin-right: 8px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n line-height: 30px;\n text-align: center;\n vertical-align: middle;\n list-style: none;\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n outline: 0;\n cursor: pointer;\n user-select: none;\n}\n.ant-pagination-item a {\n display: block;\n padding: 0 6px;\n color: rgba(0, 0, 0, 0.85);\n transition: none;\n}\n.ant-pagination-item a:hover {\n text-decoration: none;\n}\n.ant-pagination-item:hover {\n border-color: #2673e5;\n transition: all 0.3s;\n}\n.ant-pagination-item:hover a {\n color: #2673e5;\n}\n.ant-pagination-item:focus-visible {\n border-color: #2673e5;\n transition: all 0.3s;\n}\n.ant-pagination-item:focus-visible a {\n color: #2673e5;\n}\n.ant-pagination-item-active {\n font-weight: 500;\n background: #fff;\n border-color: #2673e5;\n}\n.ant-pagination-item-active a {\n color: #2673e5;\n}\n.ant-pagination-item-active:hover {\n border-color: #5096f2;\n}\n.ant-pagination-item-active:focus-visible {\n border-color: #5096f2;\n}\n.ant-pagination-item-active:hover a {\n color: #5096f2;\n}\n.ant-pagination-item-active:focus-visible a {\n color: #5096f2;\n}\n.ant-pagination-jump-prev,\n.ant-pagination-jump-next {\n outline: 0;\n}\n.ant-pagination-jump-prev .ant-pagination-item-container,\n.ant-pagination-jump-next .ant-pagination-item-container {\n position: relative;\n}\n.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon,\n.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon {\n color: #2673e5;\n font-size: 12px;\n letter-spacing: -1px;\n opacity: 0;\n transition: all 0.2s;\n}\n.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon-svg,\n.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon-svg {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: auto;\n}\n.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis,\n.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n margin: auto;\n color: rgba(0, 0, 0, 0.25);\n font-family: Arial, Helvetica, sans-serif;\n letter-spacing: 2px;\n text-align: center;\n text-indent: 0.13em;\n opacity: 1;\n transition: all 0.2s;\n}\n.ant-pagination-jump-prev:hover .ant-pagination-item-link-icon,\n.ant-pagination-jump-next:hover .ant-pagination-item-link-icon {\n opacity: 1;\n}\n.ant-pagination-jump-prev:hover .ant-pagination-item-ellipsis,\n.ant-pagination-jump-next:hover .ant-pagination-item-ellipsis {\n opacity: 0;\n}\n.ant-pagination-jump-prev:focus-visible .ant-pagination-item-link-icon,\n.ant-pagination-jump-next:focus-visible .ant-pagination-item-link-icon {\n opacity: 1;\n}\n.ant-pagination-jump-prev:focus-visible .ant-pagination-item-ellipsis,\n.ant-pagination-jump-next:focus-visible .ant-pagination-item-ellipsis {\n opacity: 0;\n}\n.ant-pagination-prev,\n.ant-pagination-jump-prev,\n.ant-pagination-jump-next {\n margin-right: 8px;\n}\n.ant-pagination-prev,\n.ant-pagination-next,\n.ant-pagination-jump-prev,\n.ant-pagination-jump-next {\n display: inline-block;\n min-width: 32px;\n height: 32px;\n color: rgba(0, 0, 0, 0.85);\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n line-height: 32px;\n text-align: center;\n vertical-align: middle;\n list-style: none;\n border-radius: 4px;\n cursor: pointer;\n transition: all 0.3s;\n}\n.ant-pagination-prev,\n.ant-pagination-next {\n font-family: Arial, Helvetica, sans-serif;\n outline: 0;\n}\n.ant-pagination-prev button,\n.ant-pagination-next button {\n color: rgba(0, 0, 0, 0.85);\n cursor: pointer;\n user-select: none;\n}\n.ant-pagination-prev:hover button,\n.ant-pagination-next:hover button {\n border-color: #5096f2;\n}\n.ant-pagination-prev .ant-pagination-item-link,\n.ant-pagination-next .ant-pagination-item-link {\n display: block;\n width: 100%;\n height: 100%;\n padding: 0;\n font-size: 12px;\n text-align: center;\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n outline: none;\n transition: all 0.3s;\n}\n.ant-pagination-prev:focus-visible .ant-pagination-item-link,\n.ant-pagination-next:focus-visible .ant-pagination-item-link {\n color: #2673e5;\n border-color: #2673e5;\n}\n.ant-pagination-prev:hover .ant-pagination-item-link,\n.ant-pagination-next:hover .ant-pagination-item-link {\n color: #2673e5;\n border-color: #2673e5;\n}\n.ant-pagination-disabled,\n.ant-pagination-disabled:hover {\n cursor: not-allowed;\n}\n.ant-pagination-disabled .ant-pagination-item-link,\n.ant-pagination-disabled:hover .ant-pagination-item-link {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n cursor: not-allowed;\n}\n.ant-pagination-disabled:focus-visible {\n cursor: not-allowed;\n}\n.ant-pagination-disabled:focus-visible .ant-pagination-item-link {\n color: rgba(0, 0, 0, 0.25);\n border-color: #d9d9d9;\n cursor: not-allowed;\n}\n.ant-pagination-slash {\n margin: 0 10px 0 5px;\n}\n.ant-pagination-options {\n display: inline-block;\n margin-left: 16px;\n vertical-align: middle;\n}\n@media all and (-ms-high-contrast: none) {\n .ant-pagination-options *::-ms-backdrop,\n .ant-pagination-options {\n vertical-align: top;\n }\n}\n.ant-pagination-options-size-changer.ant-select {\n display: inline-block;\n width: auto;\n}\n.ant-pagination-options-quick-jumper {\n display: inline-block;\n height: 32px;\n margin-left: 8px;\n line-height: 32px;\n vertical-align: top;\n}\n.ant-pagination-options-quick-jumper input {\n position: relative;\n display: inline-block;\n width: 100%;\n min-width: 0;\n padding: 4px 11px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n line-height: 1.5715;\n background-color: #fff;\n background-image: none;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n transition: all 0.3s;\n width: 50px;\n height: 32px;\n margin: 0 8px;\n}\n.ant-pagination-options-quick-jumper input::placeholder {\n color: #bfbfbf;\n user-select: none;\n}\n.ant-pagination-options-quick-jumper input:placeholder-shown {\n text-overflow: ellipsis;\n}\n.ant-pagination-options-quick-jumper input:hover {\n border-color: #5096f2;\n border-right-width: 1px;\n}\n.ant-input-rtl .ant-pagination-options-quick-jumper input:hover {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-pagination-options-quick-jumper input:focus,\n.ant-pagination-options-quick-jumper input-focused {\n border-color: #5096f2;\n box-shadow: 0 0 0 2px rgba(38, 115, 229, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-rtl .ant-pagination-options-quick-jumper input:focus,\n.ant-input-rtl .ant-pagination-options-quick-jumper input-focused {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-pagination-options-quick-jumper input-disabled {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-pagination-options-quick-jumper input-disabled:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-pagination-options-quick-jumper input[disabled] {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n box-shadow: none;\n cursor: not-allowed;\n opacity: 1;\n}\n.ant-pagination-options-quick-jumper input[disabled]:hover {\n border-color: #d9d9d9;\n border-right-width: 1px;\n}\n.ant-pagination-options-quick-jumper input-borderless,\n.ant-pagination-options-quick-jumper input-borderless:hover,\n.ant-pagination-options-quick-jumper input-borderless:focus,\n.ant-pagination-options-quick-jumper input-borderless-focused,\n.ant-pagination-options-quick-jumper input-borderless-disabled,\n.ant-pagination-options-quick-jumper input-borderless[disabled] {\n background-color: transparent;\n border: none;\n box-shadow: none;\n}\ntextarea.ant-pagination-options-quick-jumper input {\n max-width: 100%;\n height: auto;\n min-height: 32px;\n line-height: 1.5715;\n vertical-align: bottom;\n transition: all 0.3s, height 0s;\n}\n.ant-pagination-options-quick-jumper input-lg {\n padding: 6.5px 11px;\n font-size: 16px;\n}\n.ant-pagination-options-quick-jumper input-sm {\n padding: 0px 7px;\n}\n.ant-pagination-options-quick-jumper input-rtl {\n direction: rtl;\n}\n.ant-pagination-simple .ant-pagination-prev,\n.ant-pagination-simple .ant-pagination-next {\n height: 24px;\n line-height: 24px;\n vertical-align: top;\n}\n.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link,\n.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link {\n height: 24px;\n background-color: transparent;\n border: 0;\n}\n.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link::after,\n.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link::after {\n height: 24px;\n line-height: 24px;\n}\n.ant-pagination-simple .ant-pagination-simple-pager {\n display: inline-block;\n height: 24px;\n margin-right: 8px;\n}\n.ant-pagination-simple .ant-pagination-simple-pager input {\n box-sizing: border-box;\n height: 100%;\n margin-right: 8px;\n padding: 0 6px;\n text-align: center;\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n outline: none;\n transition: border-color 0.3s;\n}\n.ant-pagination-simple .ant-pagination-simple-pager input:hover {\n border-color: #2673e5;\n}\n.ant-pagination-simple .ant-pagination-simple-pager input:focus {\n border-color: #5096f2;\n box-shadow: 0 0 0 2px rgba(38, 115, 229, 0.2);\n}\n.ant-pagination-simple .ant-pagination-simple-pager input[disabled] {\n color: rgba(0, 0, 0, 0.25);\n background: #f5f5f5;\n border-color: #d9d9d9;\n cursor: not-allowed;\n}\n.ant-pagination.ant-pagination-mini .ant-pagination-total-text,\n.ant-pagination.ant-pagination-mini .ant-pagination-simple-pager {\n height: 24px;\n line-height: 24px;\n}\n.ant-pagination.ant-pagination-mini .ant-pagination-item {\n min-width: 24px;\n height: 24px;\n margin: 0;\n line-height: 22px;\n}\n.ant-pagination.ant-pagination-mini .ant-pagination-item:not(.ant-pagination-item-active) {\n background: transparent;\n border-color: transparent;\n}\n.ant-pagination.ant-pagination-mini .ant-pagination-prev,\n.ant-pagination.ant-pagination-mini .ant-pagination-next {\n min-width: 24px;\n height: 24px;\n margin: 0;\n line-height: 24px;\n}\n.ant-pagination.ant-pagination-mini .ant-pagination-prev .ant-pagination-item-link,\n.ant-pagination.ant-pagination-mini .ant-pagination-next .ant-pagination-item-link {\n background: transparent;\n border-color: transparent;\n}\n.ant-pagination.ant-pagination-mini .ant-pagination-prev .ant-pagination-item-link::after,\n.ant-pagination.ant-pagination-mini .ant-pagination-next .ant-pagination-item-link::after {\n height: 24px;\n line-height: 24px;\n}\n.ant-pagination.ant-pagination-mini .ant-pagination-jump-prev,\n.ant-pagination.ant-pagination-mini .ant-pagination-jump-next {\n height: 24px;\n margin-right: 0;\n line-height: 24px;\n}\n.ant-pagination.ant-pagination-mini .ant-pagination-options {\n margin-left: 2px;\n}\n.ant-pagination.ant-pagination-mini .ant-pagination-options-size-changer {\n top: 0px;\n}\n.ant-pagination.ant-pagination-mini .ant-pagination-options-quick-jumper {\n height: 24px;\n line-height: 24px;\n}\n.ant-pagination.ant-pagination-mini .ant-pagination-options-quick-jumper input {\n padding: 0px 7px;\n width: 44px;\n height: 24px;\n}\n.ant-pagination.ant-pagination-disabled {\n cursor: not-allowed;\n}\n.ant-pagination.ant-pagination-disabled .ant-pagination-item {\n background: #f5f5f5;\n border-color: #d9d9d9;\n cursor: not-allowed;\n}\n.ant-pagination.ant-pagination-disabled .ant-pagination-item a {\n color: rgba(0, 0, 0, 0.25);\n background: transparent;\n border: none;\n cursor: not-allowed;\n}\n.ant-pagination.ant-pagination-disabled .ant-pagination-item-active {\n background: #e6e6e6;\n}\n.ant-pagination.ant-pagination-disabled .ant-pagination-item-active a {\n color: rgba(0, 0, 0, 0.25);\n}\n.ant-pagination.ant-pagination-disabled .ant-pagination-item-link {\n color: rgba(0, 0, 0, 0.25);\n background: #f5f5f5;\n border-color: #d9d9d9;\n cursor: not-allowed;\n}\n.ant-pagination-simple.ant-pagination.ant-pagination-disabled .ant-pagination-item-link {\n background: transparent;\n}\n.ant-pagination.ant-pagination-disabled .ant-pagination-item-link-icon {\n opacity: 0;\n}\n.ant-pagination.ant-pagination-disabled .ant-pagination-item-ellipsis {\n opacity: 1;\n}\n.ant-pagination.ant-pagination-disabled .ant-pagination-simple-pager {\n color: rgba(0, 0, 0, 0.25);\n}\n@media only screen and (max-width: 992px) {\n .ant-pagination-item-after-jump-prev,\n .ant-pagination-item-before-jump-next {\n display: none;\n }\n}\n@media only screen and (max-width: 576px) {\n .ant-pagination-options {\n display: none;\n }\n}\n.ant-pagination-rtl .ant-pagination-total-text {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-pagination-rtl .ant-pagination-item,\n.ant-pagination-rtl .ant-pagination-prev,\n.ant-pagination-rtl .ant-pagination-jump-prev,\n.ant-pagination-rtl .ant-pagination-jump-next {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-pagination-rtl .ant-pagination-slash {\n margin: 0 5px 0 10px;\n}\n.ant-pagination-rtl .ant-pagination-options {\n margin-right: 16px;\n margin-left: 0;\n}\n.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-size-changer.ant-select {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-quick-jumper {\n margin-left: 0;\n}\n.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager input {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-pagination-rtl.ant-pagination.mini .ant-pagination-options {\n margin-right: 2px;\n margin-left: 0;\n}\n.ant-popconfirm {\n z-index: 1060;\n}\n.ant-popover {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1030;\n max-width: 100vw;\n font-weight: normal;\n white-space: normal;\n text-align: left;\n cursor: auto;\n user-select: text;\n}\n.ant-popover-content {\n position: relative;\n}\n.ant-popover::after {\n position: absolute;\n background: rgba(255, 255, 255, 0.01);\n content: '';\n}\n.ant-popover-hidden {\n display: none;\n}\n.ant-popover-placement-top,\n.ant-popover-placement-topLeft,\n.ant-popover-placement-topRight {\n padding-bottom: 15.3137085px;\n}\n.ant-popover-placement-right,\n.ant-popover-placement-rightTop,\n.ant-popover-placement-rightBottom {\n padding-left: 15.3137085px;\n}\n.ant-popover-placement-bottom,\n.ant-popover-placement-bottomLeft,\n.ant-popover-placement-bottomRight {\n padding-top: 15.3137085px;\n}\n.ant-popover-placement-left,\n.ant-popover-placement-leftTop,\n.ant-popover-placement-leftBottom {\n padding-right: 15.3137085px;\n}\n.ant-popover-inner {\n background-color: #fff;\n background-clip: padding-box;\n border-radius: 4px;\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n}\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .ant-popover {\n /* IE10+ */\n }\n .ant-popover-inner {\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n }\n}\n.ant-popover-title {\n min-width: 177px;\n min-height: 32px;\n margin: 0;\n padding: 5px 16px 4px;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 500;\n border-bottom: 1px solid #f0f0f0;\n}\n.ant-popover-inner-content {\n width: max-content;\n max-width: 100%;\n padding: 12px 16px;\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-popover-message {\n display: flex;\n padding: 4px 0 12px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n}\n.ant-popover-message-icon {\n display: inline-block;\n margin-right: 8px;\n color: #faad14;\n font-size: 14px;\n}\n.ant-popover-buttons {\n margin-bottom: 4px;\n text-align: right;\n}\n.ant-popover-buttons button:not(:first-child) {\n margin-left: 8px;\n}\n.ant-popover-arrow {\n position: absolute;\n display: block;\n width: 22px;\n height: 22px;\n overflow: hidden;\n background: transparent;\n pointer-events: none;\n}\n.ant-popover-arrow-content {\n --antd-arrow-background-color: #fff;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n width: 11.3137085px;\n height: 11.3137085px;\n margin: auto;\n content: '';\n pointer-events: auto;\n border-radius: 0 0 2px;\n pointer-events: none;\n}\n.ant-popover-arrow-content::before {\n position: absolute;\n top: -11.3137085px;\n left: -11.3137085px;\n width: 33.9411255px;\n height: 33.9411255px;\n background: var(--antd-arrow-background-color);\n background-repeat: no-repeat;\n background-position: -10px -10px;\n content: '';\n clip-path: inset(33% 33%);\n clip-path: path('M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z');\n}\n.ant-popover-placement-top .ant-popover-arrow,\n.ant-popover-placement-topLeft .ant-popover-arrow,\n.ant-popover-placement-topRight .ant-popover-arrow {\n bottom: 0;\n transform: translateY(100%);\n}\n.ant-popover-placement-top .ant-popover-arrow-content,\n.ant-popover-placement-topLeft .ant-popover-arrow-content,\n.ant-popover-placement-topRight .ant-popover-arrow-content {\n box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);\n transform: translateY(-11px) rotate(45deg);\n}\n.ant-popover-placement-top .ant-popover-arrow {\n left: 50%;\n transform: translateY(100%) translateX(-50%);\n}\n.ant-popover-placement-topLeft .ant-popover-arrow {\n left: 16px;\n}\n.ant-popover-placement-topRight .ant-popover-arrow {\n right: 16px;\n}\n.ant-popover-placement-right .ant-popover-arrow,\n.ant-popover-placement-rightTop .ant-popover-arrow,\n.ant-popover-placement-rightBottom .ant-popover-arrow {\n left: 0;\n transform: translateX(-100%);\n}\n.ant-popover-placement-right .ant-popover-arrow-content,\n.ant-popover-placement-rightTop .ant-popover-arrow-content,\n.ant-popover-placement-rightBottom .ant-popover-arrow-content {\n box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);\n transform: translateX(11px) rotate(135deg);\n}\n.ant-popover-placement-right .ant-popover-arrow {\n top: 50%;\n transform: translateX(-100%) translateY(-50%);\n}\n.ant-popover-placement-rightTop .ant-popover-arrow {\n top: 12px;\n}\n.ant-popover-placement-rightBottom .ant-popover-arrow {\n bottom: 12px;\n}\n.ant-popover-placement-bottom .ant-popover-arrow,\n.ant-popover-placement-bottomLeft .ant-popover-arrow,\n.ant-popover-placement-bottomRight .ant-popover-arrow {\n top: 0;\n transform: translateY(-100%);\n}\n.ant-popover-placement-bottom .ant-popover-arrow-content,\n.ant-popover-placement-bottomLeft .ant-popover-arrow-content,\n.ant-popover-placement-bottomRight .ant-popover-arrow-content {\n box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.06);\n transform: translateY(11px) rotate(-135deg);\n}\n.ant-popover-placement-bottom .ant-popover-arrow {\n left: 50%;\n transform: translateY(-100%) translateX(-50%);\n}\n.ant-popover-placement-bottomLeft .ant-popover-arrow {\n left: 16px;\n}\n.ant-popover-placement-bottomRight .ant-popover-arrow {\n right: 16px;\n}\n.ant-popover-placement-left .ant-popover-arrow,\n.ant-popover-placement-leftTop .ant-popover-arrow,\n.ant-popover-placement-leftBottom .ant-popover-arrow {\n right: 0;\n transform: translateX(100%);\n}\n.ant-popover-placement-left .ant-popover-arrow-content,\n.ant-popover-placement-leftTop .ant-popover-arrow-content,\n.ant-popover-placement-leftBottom .ant-popover-arrow-content {\n box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);\n transform: translateX(-11px) rotate(-45deg);\n}\n.ant-popover-placement-left .ant-popover-arrow {\n top: 50%;\n transform: translateX(100%) translateY(-50%);\n}\n.ant-popover-placement-leftTop .ant-popover-arrow {\n top: 12px;\n}\n.ant-popover-placement-leftBottom .ant-popover-arrow {\n bottom: 12px;\n}\n.ant-popover-pink .ant-popover-inner {\n background-color: #eb2f96;\n}\n.ant-popover-pink .ant-popover-arrow-content {\n background-color: #eb2f96;\n}\n.ant-popover-magenta .ant-popover-inner {\n background-color: #eb2f96;\n}\n.ant-popover-magenta .ant-popover-arrow-content {\n background-color: #eb2f96;\n}\n.ant-popover-red .ant-popover-inner {\n background-color: #f5222d;\n}\n.ant-popover-red .ant-popover-arrow-content {\n background-color: #f5222d;\n}\n.ant-popover-volcano .ant-popover-inner {\n background-color: #fa541c;\n}\n.ant-popover-volcano .ant-popover-arrow-content {\n background-color: #fa541c;\n}\n.ant-popover-orange .ant-popover-inner {\n background-color: #fa8c16;\n}\n.ant-popover-orange .ant-popover-arrow-content {\n background-color: #fa8c16;\n}\n.ant-popover-yellow .ant-popover-inner {\n background-color: #fadb14;\n}\n.ant-popover-yellow .ant-popover-arrow-content {\n background-color: #fadb14;\n}\n.ant-popover-gold .ant-popover-inner {\n background-color: #faad14;\n}\n.ant-popover-gold .ant-popover-arrow-content {\n background-color: #faad14;\n}\n.ant-popover-cyan .ant-popover-inner {\n background-color: #13c2c2;\n}\n.ant-popover-cyan .ant-popover-arrow-content {\n background-color: #13c2c2;\n}\n.ant-popover-lime .ant-popover-inner {\n background-color: #a0d911;\n}\n.ant-popover-lime .ant-popover-arrow-content {\n background-color: #a0d911;\n}\n.ant-popover-green .ant-popover-inner {\n background-color: #52c41a;\n}\n.ant-popover-green .ant-popover-arrow-content {\n background-color: #52c41a;\n}\n.ant-popover-blue .ant-popover-inner {\n background-color: #1890ff;\n}\n.ant-popover-blue .ant-popover-arrow-content {\n background-color: #1890ff;\n}\n.ant-popover-geekblue .ant-popover-inner {\n background-color: #2f54eb;\n}\n.ant-popover-geekblue .ant-popover-arrow-content {\n background-color: #2f54eb;\n}\n.ant-popover-purple .ant-popover-inner {\n background-color: #722ed1;\n}\n.ant-popover-purple .ant-popover-arrow-content {\n background-color: #722ed1;\n}\n.ant-popover-rtl {\n direction: rtl;\n text-align: right;\n}\n.ant-popover-rtl .ant-popover-message-icon {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-popover-rtl .ant-popover-message-title {\n padding-left: 16px;\n}\n.ant-popover-rtl .ant-popover-buttons {\n text-align: left;\n}\n.ant-popover-rtl .ant-popover-buttons button {\n margin-right: 8px;\n margin-left: 0;\n}\n.ant-progress {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n display: inline-block;\n}\n.ant-progress-line {\n position: relative;\n width: 100%;\n font-size: 14px;\n}\n.ant-progress-steps {\n display: inline-block;\n}\n.ant-progress-steps-outer {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.ant-progress-steps-item {\n flex-shrink: 0;\n min-width: 2px;\n margin-right: 2px;\n background: #f3f3f3;\n transition: all 0.3s;\n}\n.ant-progress-steps-item-active {\n background: #1890ff;\n}\n.ant-progress-small.ant-progress-line,\n.ant-progress-small.ant-progress-line .ant-progress-text .anticon {\n font-size: 12px;\n}\n.ant-progress-outer {\n display: inline-block;\n width: 100%;\n margin-right: 0;\n padding-right: 0;\n}\n.ant-progress-show-info .ant-progress-outer {\n margin-right: calc(-2em - 8px);\n padding-right: calc(2em + 8px);\n}\n.ant-progress-inner {\n position: relative;\n display: inline-block;\n width: 100%;\n overflow: hidden;\n vertical-align: middle;\n background-color: #f5f5f5;\n border-radius: 100px;\n}\n.ant-progress-circle-trail {\n stroke: #f5f5f5;\n}\n.ant-progress-circle-path {\n animation: ant-progress-appear 0.3s;\n}\n.ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path {\n stroke: #1890ff;\n}\n.ant-progress-success-bg,\n.ant-progress-bg {\n position: relative;\n background-color: #1890ff;\n border-radius: 100px;\n transition: all 0.4s cubic-bezier(0.08, 0.82, 0.17, 1) 0s;\n}\n.ant-progress-success-bg {\n position: absolute;\n top: 0;\n left: 0;\n background-color: #52c41a;\n}\n.ant-progress-text {\n display: inline-block;\n width: 2em;\n margin-left: 8px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 1em;\n line-height: 1;\n white-space: nowrap;\n text-align: left;\n vertical-align: middle;\n word-break: normal;\n}\n.ant-progress-text .anticon {\n font-size: 14px;\n}\n.ant-progress-status-active .ant-progress-bg::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: #fff;\n border-radius: 10px;\n opacity: 0;\n animation: ant-progress-active 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite;\n content: '';\n}\n.ant-progress-status-exception .ant-progress-bg {\n background-color: #ff4d4f;\n}\n.ant-progress-status-exception .ant-progress-text {\n color: #ff4d4f;\n}\n.ant-progress-status-exception .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path {\n stroke: #ff4d4f;\n}\n.ant-progress-status-success .ant-progress-bg {\n background-color: #52c41a;\n}\n.ant-progress-status-success .ant-progress-text {\n color: #52c41a;\n}\n.ant-progress-status-success .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path {\n stroke: #52c41a;\n}\n.ant-progress-circle .ant-progress-inner {\n position: relative;\n line-height: 1;\n background-color: transparent;\n}\n.ant-progress-circle .ant-progress-text {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 100%;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 1em;\n line-height: 1;\n white-space: normal;\n text-align: center;\n transform: translate(-50%, -50%);\n}\n.ant-progress-circle .ant-progress-text .anticon {\n font-size: 1.16666667em;\n}\n.ant-progress-circle.ant-progress-status-exception .ant-progress-text {\n color: #ff4d4f;\n}\n.ant-progress-circle.ant-progress-status-success .ant-progress-text {\n color: #52c41a;\n}\n@keyframes ant-progress-active {\n 0% {\n transform: translateX(-100%) scaleX(0);\n opacity: 0.1;\n }\n 20% {\n transform: translateX(-100%) scaleX(0);\n opacity: 0.5;\n }\n 100% {\n transform: translateX(0) scaleX(1);\n opacity: 0;\n }\n}\n.ant-progress-rtl {\n direction: rtl;\n}\n.ant-progress-rtl.ant-progress-show-info .ant-progress-outer {\n margin-right: 0;\n margin-left: calc(-2em - 8px);\n padding-right: 0;\n padding-left: calc(2em + 8px);\n}\n.ant-progress-rtl .ant-progress-success-bg {\n right: 0;\n left: auto;\n}\n.ant-progress-rtl.ant-progress-line .ant-progress-text,\n.ant-progress-rtl.ant-progress-steps .ant-progress-text {\n margin-right: 8px;\n margin-left: 0;\n text-align: right;\n}\n.ant-radio-group {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n display: inline-block;\n font-size: 0;\n}\n.ant-radio-group .ant-badge-count {\n z-index: 1;\n}\n.ant-radio-group > .ant-badge:not(:first-child) > .ant-radio-button-wrapper {\n border-left: none;\n}\n.ant-radio-wrapper {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n display: inline-flex;\n align-items: baseline;\n margin-right: 8px;\n cursor: pointer;\n}\n.ant-radio-wrapper-disabled {\n cursor: not-allowed;\n}\n.ant-radio-wrapper::after {\n display: inline-block;\n width: 0;\n overflow: hidden;\n content: '\\a0';\n}\n.ant-radio-wrapper.ant-radio-wrapper-in-form-item input[type='radio'] {\n width: 14px;\n height: 14px;\n}\n.ant-radio {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n top: 0.2em;\n display: inline-block;\n outline: none;\n cursor: pointer;\n}\n.ant-radio-wrapper:hover .ant-radio,\n.ant-radio:hover .ant-radio-inner,\n.ant-radio-input:focus + .ant-radio-inner {\n border-color: #2673e5;\n}\n.ant-radio-input:focus + .ant-radio-inner {\n box-shadow: 0 0 0 3px rgba(38, 115, 229, 0.12);\n}\n.ant-radio-checked::after {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 1px solid #2673e5;\n border-radius: 50%;\n visibility: hidden;\n animation: antRadioEffect 0.36s ease-in-out;\n animation-fill-mode: both;\n content: '';\n}\n.ant-radio:hover::after,\n.ant-radio-wrapper:hover .ant-radio::after {\n visibility: visible;\n}\n.ant-radio-inner {\n position: relative;\n top: 0;\n left: 0;\n display: block;\n width: 16px;\n height: 16px;\n background-color: #fff;\n border-color: #d9d9d9;\n border-style: solid;\n border-width: 1px;\n border-radius: 50%;\n transition: all 0.3s;\n}\n.ant-radio-inner::after {\n position: absolute;\n top: 50%;\n left: 50%;\n display: block;\n width: 16px;\n height: 16px;\n margin-top: -8px;\n margin-left: -8px;\n background-color: #2673e5;\n border-top: 0;\n border-left: 0;\n border-radius: 16px;\n transform: scale(0);\n opacity: 0;\n transition: all 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);\n content: ' ';\n}\n.ant-radio-input {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n cursor: pointer;\n opacity: 0;\n}\n.ant-radio.ant-radio-disabled .ant-radio-inner {\n border-color: #d9d9d9;\n}\n.ant-radio-checked .ant-radio-inner {\n border-color: #2673e5;\n}\n.ant-radio-checked .ant-radio-inner::after {\n transform: scale(0.5);\n opacity: 1;\n transition: all 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);\n}\n.ant-radio-disabled {\n cursor: not-allowed;\n}\n.ant-radio-disabled .ant-radio-inner {\n background-color: #f5f5f5;\n cursor: not-allowed;\n}\n.ant-radio-disabled .ant-radio-inner::after {\n background-color: rgba(0, 0, 0, 0.2);\n}\n.ant-radio-disabled .ant-radio-input {\n cursor: not-allowed;\n}\n.ant-radio-disabled + span {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\nspan.ant-radio + * {\n padding-right: 8px;\n padding-left: 8px;\n}\n.ant-radio-button-wrapper {\n position: relative;\n display: inline-block;\n height: 32px;\n margin: 0;\n padding: 0 15px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n line-height: 30px;\n background: #fff;\n border: 1px solid #d9d9d9;\n border-top-width: 1.02px;\n border-left-width: 0;\n cursor: pointer;\n transition: color 0.3s, background 0.3s, border-color 0.3s, box-shadow 0.3s;\n}\n.ant-radio-button-wrapper a {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-radio-button-wrapper > .ant-radio-button {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n width: 100%;\n height: 100%;\n}\n.ant-radio-group-large .ant-radio-button-wrapper {\n height: 40px;\n font-size: 16px;\n line-height: 38px;\n}\n.ant-radio-group-small .ant-radio-button-wrapper {\n height: 24px;\n padding: 0 7px;\n line-height: 22px;\n}\n.ant-radio-button-wrapper:not(:first-child)::before {\n position: absolute;\n top: -1px;\n left: -1px;\n display: block;\n box-sizing: content-box;\n width: 1px;\n height: 100%;\n padding: 1px 0;\n background-color: #d9d9d9;\n transition: background-color 0.3s;\n content: '';\n}\n.ant-radio-button-wrapper:first-child {\n border-left: 1px solid #d9d9d9;\n border-radius: 4px 0 0 4px;\n}\n.ant-radio-button-wrapper:last-child {\n border-radius: 0 4px 4px 0;\n}\n.ant-radio-button-wrapper:first-child:last-child {\n border-radius: 4px;\n}\n.ant-radio-button-wrapper:hover {\n position: relative;\n color: #2673e5;\n}\n.ant-radio-button-wrapper:focus-within {\n box-shadow: 0 0 0 3px rgba(38, 115, 229, 0.12);\n}\n.ant-radio-button-wrapper .ant-radio-inner,\n.ant-radio-button-wrapper input[type='checkbox'],\n.ant-radio-button-wrapper input[type='radio'] {\n width: 0;\n height: 0;\n opacity: 0;\n pointer-events: none;\n}\n.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {\n z-index: 1;\n color: #2673e5;\n background: #fff;\n border-color: #2673e5;\n}\n.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before {\n background-color: #2673e5;\n}\n.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child {\n border-color: #2673e5;\n}\n.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover {\n color: #5096f2;\n border-color: #5096f2;\n}\n.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover::before {\n background-color: #5096f2;\n}\n.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active {\n color: #1755bf;\n border-color: #1755bf;\n}\n.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active::before {\n background-color: #1755bf;\n}\n.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {\n box-shadow: 0 0 0 3px rgba(38, 115, 229, 0.12);\n}\n.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {\n color: #fff;\n background: #2673e5;\n border-color: #2673e5;\n}\n.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover {\n color: #fff;\n background: #5096f2;\n border-color: #5096f2;\n}\n.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active {\n color: #fff;\n background: #1755bf;\n border-color: #1755bf;\n}\n.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {\n box-shadow: 0 0 0 3px rgba(38, 115, 229, 0.12);\n}\n.ant-radio-button-wrapper-disabled {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n cursor: not-allowed;\n}\n.ant-radio-button-wrapper-disabled:first-child,\n.ant-radio-button-wrapper-disabled:hover {\n color: rgba(0, 0, 0, 0.25);\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n}\n.ant-radio-button-wrapper-disabled:first-child {\n border-left-color: #d9d9d9;\n}\n.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked {\n color: rgba(0, 0, 0, 0.25);\n background-color: #e6e6e6;\n border-color: #d9d9d9;\n box-shadow: none;\n}\n@keyframes antRadioEffect {\n 0% {\n transform: scale(1);\n opacity: 0.5;\n }\n 100% {\n transform: scale(1.6);\n opacity: 0;\n }\n}\n.ant-radio-group.ant-radio-group-rtl {\n direction: rtl;\n}\n.ant-radio-wrapper.ant-radio-wrapper-rtl {\n margin-right: 0;\n margin-left: 8px;\n direction: rtl;\n}\n.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl {\n border-right-width: 0;\n border-left-width: 1px;\n}\n.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:not(:first-child)::before {\n right: -1px;\n left: 0;\n}\n.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:first-child {\n border-right: 1px solid #d9d9d9;\n border-radius: 0 4px 4px 0;\n}\n.ant-radio-button-wrapper-checked:not([class*=' ant-radio-button-wrapper-disabled']).ant-radio-button-wrapper:first-child {\n border-right-color: #5096f2;\n}\n.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:last-child {\n border-radius: 4px 0 0 4px;\n}\n.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper-disabled:first-child {\n border-right-color: #d9d9d9;\n}\n.ant-rate {\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n font-feature-settings: 'tnum';\n display: inline-block;\n margin: 0;\n padding: 0;\n color: #fadb14;\n font-size: 20px;\n line-height: unset;\n list-style: none;\n outline: none;\n}\n.ant-rate-disabled .ant-rate-star {\n cursor: default;\n}\n.ant-rate-disabled .ant-rate-star > div:hover {\n transform: scale(1);\n}\n.ant-rate-star {\n position: relative;\n display: inline-block;\n color: inherit;\n cursor: pointer;\n}\n.ant-rate-star:not(:last-child) {\n margin-right: 8px;\n}\n.ant-rate-star > div {\n transition: all 0.3s, outline 0s;\n}\n.ant-rate-star > div:hover {\n transform: scale(1.1);\n}\n.ant-rate-star > div:focus {\n outline: 0;\n}\n.ant-rate-star > div:focus-visible {\n outline: 1px dashed #fadb14;\n transform: scale(1.1);\n}\n.ant-rate-star-first,\n.ant-rate-star-second {\n color: #f0f0f0;\n transition: all 0.3s;\n user-select: none;\n}\n.ant-rate-star-first .anticon,\n.ant-rate-star-second .anticon {\n vertical-align: middle;\n}\n.ant-rate-star-first {\n position: absolute;\n top: 0;\n left: 0;\n width: 50%;\n height: 100%;\n overflow: hidden;\n opacity: 0;\n}\n.ant-rate-star-half .ant-rate-star-first,\n.ant-rate-star-half .ant-rate-star-second {\n opacity: 1;\n}\n.ant-rate-star-half .ant-rate-star-first,\n.ant-rate-star-full .ant-rate-star-second {\n color: inherit;\n}\n.ant-rate-text {\n display: inline-block;\n margin: 0 8px;\n font-size: 14px;\n}\n.ant-rate-rtl {\n direction: rtl;\n}\n.ant-rate-rtl .ant-rate-star:not(:last-child) {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-rate-rtl .ant-rate-star-first {\n right: 0;\n left: auto;\n}\n.ant-result {\n padding: 48px 32px;\n}\n.ant-result-success .ant-result-icon > .anticon {\n color: #52c41a;\n}\n.ant-result-error .ant-result-icon > .anticon {\n color: #ff4d4f;\n}\n.ant-result-info .ant-result-icon > .anticon {\n color: #2673e5;\n}\n.ant-result-warning .ant-result-icon > .anticon {\n color: #faad14;\n}\n.ant-result-image {\n width: 250px;\n height: 295px;\n margin: auto;\n}\n.ant-result-icon {\n margin-bottom: 24px;\n text-align: center;\n}\n.ant-result-icon > .anticon {\n font-size: 72px;\n}\n.ant-result-title {\n color: rgba(0, 0, 0, 0.85);\n font-size: 24px;\n line-height: 1.8;\n text-align: center;\n}\n.ant-result-subtitle {\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n line-height: 1.6;\n text-align: center;\n}\n.ant-result-extra {\n margin: 24px 0 0 0;\n text-align: center;\n}\n.ant-result-extra > * {\n margin-right: 8px;\n}\n.ant-result-extra > *:last-child {\n margin-right: 0;\n}\n.ant-result-content {\n margin-top: 24px;\n padding: 24px 40px;\n background-color: #fafafa;\n}\n.ant-result-rtl {\n direction: rtl;\n}\n.ant-result-rtl .ant-result-extra > * {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-result-rtl .ant-result-extra > *:last-child {\n margin-left: 0;\n}\n.segmented-disabled-item,\n.segmented-disabled-item:hover,\n.segmented-disabled-item:focus {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.segmented-item-selected {\n background-color: #fff;\n border-radius: 4px;\n box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.05), 0 1px 4px -1px rgba(0, 0, 0, 0.07), 0 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.segmented-text-ellipsis {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n word-break: keep-all;\n}\n.ant-segmented {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n display: inline-block;\n padding: 2px;\n color: rgba(0, 0, 0, 0.65);\n background-color: rgba(0, 0, 0, 0.04);\n border-radius: 4px;\n transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-segmented-group {\n position: relative;\n display: flex;\n align-items: stretch;\n justify-items: flex-start;\n width: 100%;\n}\n.ant-segmented.ant-segmented-block {\n display: flex;\n}\n.ant-segmented.ant-segmented-block .ant-segmented-item {\n flex: 1;\n min-width: 0;\n}\n.ant-segmented:not(.ant-segmented-disabled):hover,\n.ant-segmented:not(.ant-segmented-disabled):focus {\n background-color: rgba(0, 0, 0, 0.06);\n}\n.ant-segmented-item {\n position: relative;\n text-align: center;\n cursor: pointer;\n transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-segmented-item-selected {\n background-color: #fff;\n border-radius: 4px;\n box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.05), 0 1px 4px -1px rgba(0, 0, 0, 0.07), 0 0 1px 0 rgba(0, 0, 0, 0.08);\n color: #262626;\n}\n.ant-segmented-item:hover,\n.ant-segmented-item:focus {\n color: #262626;\n}\n.ant-segmented-item-label {\n min-height: 28px;\n padding: 0 11px;\n line-height: 28px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n word-break: keep-all;\n}\n.ant-segmented-item-icon + * {\n margin-left: 6px;\n}\n.ant-segmented-item-input {\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n opacity: 0;\n pointer-events: none;\n}\n.ant-segmented.ant-segmented-lg .ant-segmented-item-label {\n min-height: 36px;\n padding: 0 11px;\n font-size: 16px;\n line-height: 36px;\n}\n.ant-segmented.ant-segmented-sm .ant-segmented-item-label {\n min-height: 20px;\n padding: 0 7px;\n line-height: 20px;\n}\n.ant-segmented-item-disabled,\n.ant-segmented-item-disabled:hover,\n.ant-segmented-item-disabled:focus {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-segmented-thumb {\n background-color: #fff;\n border-radius: 4px;\n box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.05), 0 1px 4px -1px rgba(0, 0, 0, 0.07), 0 0 1px 0 rgba(0, 0, 0, 0.08);\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 100%;\n padding: 4px 0;\n}\n.ant-segmented-thumb-motion-appear-active {\n transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n will-change: transform, width;\n}\n.ant-segmented.ant-segmented-rtl {\n direction: rtl;\n}\n.ant-segmented.ant-segmented-rtl .ant-segmented-item-icon {\n margin-right: 0;\n margin-left: 6px;\n}\n.ant-select-single .ant-select-selector {\n display: flex;\n}\n.ant-select-single .ant-select-selector .ant-select-selection-search {\n position: absolute;\n top: 0;\n right: 11px;\n bottom: 0;\n left: 11px;\n}\n.ant-select-single .ant-select-selector .ant-select-selection-search-input {\n width: 100%;\n}\n.ant-select-single .ant-select-selector .ant-select-selection-item,\n.ant-select-single .ant-select-selector .ant-select-selection-placeholder {\n padding: 0;\n line-height: 30px;\n transition: all 0.3s, visibility 0s;\n}\n.ant-select-single .ant-select-selector .ant-select-selection-item {\n position: relative;\n user-select: none;\n}\n.ant-select-single .ant-select-selector .ant-select-selection-placeholder {\n transition: none;\n pointer-events: none;\n}\n.ant-select-single .ant-select-selector::after,\n.ant-select-single .ant-select-selector .ant-select-selection-item::after,\n.ant-select-single .ant-select-selector .ant-select-selection-placeholder::after {\n display: inline-block;\n width: 0;\n visibility: hidden;\n content: '\\a0';\n}\n.ant-select-single.ant-select-show-arrow .ant-select-selection-search {\n right: 25px;\n}\n.ant-select-single.ant-select-show-arrow .ant-select-selection-item,\n.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder {\n padding-right: 18px;\n}\n.ant-select-single.ant-select-open .ant-select-selection-item {\n color: #bfbfbf;\n}\n.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {\n width: 100%;\n height: 32px;\n padding: 0 11px;\n}\n.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input {\n height: 30px;\n}\n.ant-select-single:not(.ant-select-customize-input) .ant-select-selector::after {\n line-height: 30px;\n}\n.ant-select-single.ant-select-customize-input .ant-select-selector::after {\n display: none;\n}\n.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-search {\n position: static;\n width: 100%;\n}\n.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder {\n position: absolute;\n right: 0;\n left: 0;\n padding: 0 11px;\n}\n.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder::after {\n display: none;\n}\n.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector {\n height: 40px;\n}\n.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector::after,\n.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,\n.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder {\n line-height: 38px;\n}\n.ant-select-single.ant-select-lg:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input {\n height: 38px;\n}\n.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector {\n height: 24px;\n}\n.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector::after,\n.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,\n.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder {\n line-height: 22px;\n}\n.ant-select-single.ant-select-sm:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input {\n height: 22px;\n}\n.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selection-search {\n right: 7px;\n left: 7px;\n}\n.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector {\n padding: 0 7px;\n}\n.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search {\n right: 28px;\n}\n.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,\n.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder {\n padding-right: 21px;\n}\n.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector {\n padding: 0 11px;\n}\n/**\n * Do not merge \`height\` & \`line-height\` under style with \`selection\` & \`search\`,\n * since chrome may update to redesign with its align logic.\n */\n.ant-select-selection-overflow {\n position: relative;\n display: flex;\n flex: auto;\n flex-wrap: wrap;\n max-width: 100%;\n}\n.ant-select-selection-overflow-item {\n flex: none;\n align-self: center;\n max-width: 100%;\n}\n.ant-select-multiple .ant-select-selector {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: 1px 4px;\n}\n.ant-select-show-search.ant-select-multiple .ant-select-selector {\n cursor: text;\n}\n.ant-select-disabled.ant-select-multiple .ant-select-selector {\n background: #f5f5f5;\n cursor: not-allowed;\n}\n.ant-select-multiple .ant-select-selector::after {\n display: inline-block;\n width: 0;\n margin: 2px 0;\n line-height: 24px;\n visibility: hidden;\n content: '\\a0';\n}\n.ant-select-multiple.ant-select-show-arrow .ant-select-selector,\n.ant-select-multiple.ant-select-allow-clear .ant-select-selector {\n padding-right: 24px;\n}\n.ant-select-multiple .ant-select-selection-item {\n position: relative;\n display: flex;\n flex: none;\n box-sizing: border-box;\n max-width: 100%;\n height: 24px;\n margin-top: 2px;\n margin-bottom: 2px;\n line-height: 22px;\n background: #f5f5f5;\n border: 1px solid #f0f0f0;\n border-radius: 4px;\n cursor: default;\n transition: font-size 0.3s, line-height 0.3s, height 0.3s;\n user-select: none;\n margin-inline-end: 4px;\n padding-inline-start: 8px;\n padding-inline-end: 4px;\n}\n.ant-select-disabled.ant-select-multiple .ant-select-selection-item {\n color: #bfbfbf;\n border-color: #d9d9d9;\n cursor: not-allowed;\n}\n.ant-select-multiple .ant-select-selection-item-content {\n display: inline-block;\n margin-right: 4px;\n overflow: hidden;\n white-space: pre;\n text-overflow: ellipsis;\n}\n.ant-select-multiple .ant-select-selection-item-remove {\n color: inherit;\n font-style: normal;\n line-height: 0;\n text-align: center;\n text-transform: none;\n vertical-align: -0.125em;\n text-rendering: optimizelegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n display: inline-flex;\n align-items: center;\n color: rgba(0, 0, 0, 0.45);\n font-weight: bold;\n font-size: 10px;\n line-height: inherit;\n cursor: pointer;\n}\n.ant-select-multiple .ant-select-selection-item-remove > * {\n line-height: 1;\n}\n.ant-select-multiple .ant-select-selection-item-remove svg {\n display: inline-block;\n}\n.ant-select-multiple .ant-select-selection-item-remove::before {\n display: none;\n}\n.ant-select-multiple .ant-select-selection-item-remove .ant-select-multiple .ant-select-selection-item-remove-icon {\n display: block;\n}\n.ant-select-multiple .ant-select-selection-item-remove > .anticon {\n vertical-align: middle;\n}\n.ant-select-multiple .ant-select-selection-item-remove:hover {\n color: rgba(0, 0, 0, 0.75);\n}\n.ant-select-multiple .ant-select-selection-overflow-item + .ant-select-selection-overflow-item .ant-select-selection-search {\n margin-inline-start: 0;\n}\n.ant-select-multiple .ant-select-selection-search {\n position: relative;\n max-width: 100%;\n margin-inline-start: 7px;\n}\n.ant-select-multiple .ant-select-selection-search-input,\n.ant-select-multiple .ant-select-selection-search-mirror {\n height: 24px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n line-height: 24px;\n transition: all 0.3s;\n}\n.ant-select-multiple .ant-select-selection-search-input {\n width: 100%;\n min-width: 4.1px;\n}\n.ant-select-multiple .ant-select-selection-search-mirror {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 999;\n white-space: pre;\n visibility: hidden;\n}\n.ant-select-multiple .ant-select-selection-placeholder {\n position: absolute;\n top: 50%;\n right: 11px;\n left: 11px;\n transform: translateY(-50%);\n transition: all 0.3s;\n}\n.ant-select-multiple.ant-select-lg .ant-select-selector::after {\n line-height: 32px;\n}\n.ant-select-multiple.ant-select-lg .ant-select-selection-item {\n height: 32px;\n line-height: 30px;\n}\n.ant-select-multiple.ant-select-lg .ant-select-selection-search {\n height: 32px;\n line-height: 32px;\n}\n.ant-select-multiple.ant-select-lg .ant-select-selection-search-input,\n.ant-select-multiple.ant-select-lg .ant-select-selection-search-mirror {\n height: 32px;\n line-height: 30px;\n}\n.ant-select-multiple.ant-select-sm .ant-select-selector::after {\n line-height: 16px;\n}\n.ant-select-multiple.ant-select-sm .ant-select-selection-item {\n height: 16px;\n line-height: 14px;\n}\n.ant-select-multiple.ant-select-sm .ant-select-selection-search {\n height: 16px;\n line-height: 16px;\n}\n.ant-select-multiple.ant-select-sm .ant-select-selection-search-input,\n.ant-select-multiple.ant-select-sm .ant-select-selection-search-mirror {\n height: 16px;\n line-height: 14px;\n}\n.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder {\n left: 7px;\n}\n.ant-select-multiple.ant-select-sm .ant-select-selection-search {\n margin-inline-start: 3px;\n}\n.ant-select-disabled .ant-select-selection-item-remove {\n display: none;\n}\n.ant-select-status-error.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector {\n background-color: #fff;\n border-color: #ff4d4f !important;\n}\n.ant-select-status-error.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-open .ant-select-selector,\n.ant-select-status-error.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-focused .ant-select-selector {\n border-color: #ff7875;\n box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-select-status-warning.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector {\n background-color: #fff;\n border-color: #faad14 !important;\n}\n.ant-select-status-warning.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-open .ant-select-selector,\n.ant-select-status-warning.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-focused .ant-select-selector {\n border-color: #ffc53d;\n box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-select-status-error.ant-select-has-feedback .ant-select-clear,\n.ant-select-status-warning.ant-select-has-feedback .ant-select-clear,\n.ant-select-status-success.ant-select-has-feedback .ant-select-clear,\n.ant-select-status-validating.ant-select-has-feedback .ant-select-clear {\n right: 32px;\n}\n.ant-select-status-error.ant-select-has-feedback .ant-select-selection-selected-value,\n.ant-select-status-warning.ant-select-has-feedback .ant-select-selection-selected-value,\n.ant-select-status-success.ant-select-has-feedback .ant-select-selection-selected-value,\n.ant-select-status-validating.ant-select-has-feedback .ant-select-selection-selected-value {\n padding-right: 42px;\n}\n/* Reset search input style */\n.ant-select {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n display: inline-block;\n cursor: pointer;\n}\n.ant-select:not(.ant-select-customize-input) .ant-select-selector {\n position: relative;\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-select:not(.ant-select-customize-input) .ant-select-selector input {\n cursor: pointer;\n}\n.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector {\n cursor: text;\n}\n.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector input {\n cursor: auto;\n}\n.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {\n border-color: #5096f2;\n box-shadow: 0 0 0 2px rgba(38, 115, 229, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-rtl .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector {\n color: rgba(0, 0, 0, 0.25);\n background: #f5f5f5;\n cursor: not-allowed;\n}\n.ant-select-multiple.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector {\n background: #f5f5f5;\n}\n.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector input {\n cursor: not-allowed;\n}\n.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input {\n margin: 0;\n padding: 0;\n background: transparent;\n border: none;\n outline: none;\n appearance: none;\n}\n.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input::-webkit-search-cancel-button {\n display: none;\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-appearance: none;\n}\n.ant-select:not(.ant-select-disabled):hover .ant-select-selector {\n border-color: #5096f2;\n border-right-width: 1px;\n}\n.ant-input-rtl .ant-select:not(.ant-select-disabled):hover .ant-select-selector {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-select-selection-item {\n flex: 1;\n overflow: hidden;\n font-weight: normal;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n@media all and (-ms-high-contrast: none) {\n .ant-select-selection-item *::-ms-backdrop,\n .ant-select-selection-item {\n flex: auto;\n }\n}\n.ant-select-selection-placeholder {\n flex: 1;\n overflow: hidden;\n color: #bfbfbf;\n white-space: nowrap;\n text-overflow: ellipsis;\n pointer-events: none;\n}\n@media all and (-ms-high-contrast: none) {\n .ant-select-selection-placeholder *::-ms-backdrop,\n .ant-select-selection-placeholder {\n flex: auto;\n }\n}\n.ant-select-arrow {\n display: inline-flex;\n color: inherit;\n font-style: normal;\n line-height: 0;\n text-transform: none;\n vertical-align: -0.125em;\n text-rendering: optimizelegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n position: absolute;\n top: 50%;\n right: 11px;\n display: flex;\n align-items: center;\n height: 12px;\n margin-top: -6px;\n color: rgba(0, 0, 0, 0.25);\n font-size: 12px;\n line-height: 1;\n text-align: center;\n pointer-events: none;\n}\n.ant-select-arrow > * {\n line-height: 1;\n}\n.ant-select-arrow svg {\n display: inline-block;\n}\n.ant-select-arrow::before {\n display: none;\n}\n.ant-select-arrow .ant-select-arrow-icon {\n display: block;\n}\n.ant-select-arrow .anticon {\n vertical-align: top;\n transition: transform 0.3s;\n}\n.ant-select-arrow .anticon > svg {\n vertical-align: top;\n}\n.ant-select-arrow .anticon:not(.ant-select-suffix) {\n pointer-events: auto;\n}\n.ant-select-disabled .ant-select-arrow {\n cursor: not-allowed;\n}\n.ant-select-arrow > *:not(:last-child) {\n margin-inline-end: 8px;\n}\n.ant-select-clear {\n position: absolute;\n top: 50%;\n right: 11px;\n z-index: 1;\n display: inline-block;\n width: 12px;\n height: 12px;\n margin-top: -6px;\n color: rgba(0, 0, 0, 0.25);\n font-size: 12px;\n font-style: normal;\n line-height: 1;\n text-align: center;\n text-transform: none;\n background: #fff;\n cursor: pointer;\n opacity: 0;\n transition: color 0.3s ease, opacity 0.15s ease;\n text-rendering: auto;\n}\n.ant-select-clear::before {\n display: block;\n}\n.ant-select-clear:hover {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-select:hover .ant-select-clear {\n opacity: 1;\n}\n.ant-select-dropdown {\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: absolute;\n top: -9999px;\n left: -9999px;\n z-index: 1050;\n box-sizing: border-box;\n padding: 4px 0;\n overflow: hidden;\n font-size: 14px;\n font-variant: initial;\n background-color: #fff;\n border-radius: 4px;\n outline: none;\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n}\n.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-bottomLeft,\n.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-bottomLeft {\n animation-name: antSlideUpIn;\n}\n.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-topLeft,\n.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-topLeft {\n animation-name: antSlideDownIn;\n}\n.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-bottomLeft {\n animation-name: antSlideUpOut;\n}\n.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-topLeft {\n animation-name: antSlideDownOut;\n}\n.ant-select-dropdown-hidden {\n display: none;\n}\n.ant-select-dropdown-empty {\n color: rgba(0, 0, 0, 0.25);\n}\n.ant-select-item-empty {\n position: relative;\n display: block;\n min-height: 32px;\n padding: 5px 12px;\n color: rgba(0, 0, 0, 0.85);\n font-weight: normal;\n font-size: 14px;\n line-height: 22px;\n color: rgba(0, 0, 0, 0.25);\n}\n.ant-select-item {\n position: relative;\n display: block;\n min-height: 32px;\n padding: 5px 12px;\n color: rgba(0, 0, 0, 0.85);\n font-weight: normal;\n font-size: 14px;\n line-height: 22px;\n cursor: pointer;\n transition: background 0.3s ease;\n}\n.ant-select-item-group {\n color: rgba(0, 0, 0, 0.45);\n font-size: 12px;\n cursor: default;\n}\n.ant-select-item-option {\n display: flex;\n}\n.ant-select-item-option-content {\n flex: auto;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.ant-select-item-option-state {\n flex: none;\n}\n.ant-select-item-option-active:not(.ant-select-item-option-disabled) {\n background-color: #f5f5f5;\n}\n.ant-select-item-option-selected:not(.ant-select-item-option-disabled) {\n color: rgba(0, 0, 0, 0.85);\n font-weight: 600;\n background-color: #f0f8ff;\n}\n.ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state {\n color: #2673e5;\n}\n.ant-select-item-option-disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-select-item-option-disabled.ant-select-item-option-selected {\n background-color: #f5f5f5;\n}\n.ant-select-item-option-grouped {\n padding-left: 24px;\n}\n.ant-select-lg {\n font-size: 16px;\n}\n.ant-select-borderless .ant-select-selector {\n background-color: transparent !important;\n border-color: transparent !important;\n box-shadow: none !important;\n}\n.ant-select.ant-select-in-form-item {\n width: 100%;\n}\n.ant-select-compact-item:not(.ant-select-compact-last-item) {\n margin-right: -1px;\n}\n.ant-select-compact-item:not(.ant-select-compact-last-item).ant-select-compact-item-rtl {\n margin-right: 0;\n margin-left: -1px;\n}\n.ant-select-compact-item:hover > *,\n.ant-select-compact-item:focus > *,\n.ant-select-compact-item:active > * {\n z-index: 2;\n}\n.ant-select-compact-item.ant-select-focused > * {\n z-index: 2;\n}\n.ant-select-compact-item[disabled] > * {\n z-index: 0;\n}\n.ant-select-compact-item:not(.ant-select-compact-first-item):not(.ant-select-compact-last-item).ant-select > .ant-select-selector {\n border-radius: 0;\n}\n.ant-select-compact-item.ant-select-compact-first-item.ant-select:not(.ant-select-compact-last-item):not(.ant-select-compact-item-rtl) > .ant-select-selector {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-select-compact-item.ant-select-compact-last-item.ant-select:not(.ant-select-compact-first-item):not(.ant-select-compact-item-rtl) > .ant-select-selector {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-select-compact-item.ant-select.ant-select-compact-first-item.ant-select-compact-item-rtl:not(.ant-select-compact-last-item) > .ant-select-selector {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ant-select-compact-item.ant-select.ant-select-compact-last-item.ant-select-compact-item-rtl:not(.ant-select-compact-first-item) > .ant-select-selector {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.ant-select-rtl {\n direction: rtl;\n}\n.ant-select-rtl .ant-select-arrow {\n right: initial;\n left: 11px;\n}\n.ant-select-rtl .ant-select-clear {\n right: initial;\n left: 11px;\n}\n.ant-select-dropdown-rtl {\n direction: rtl;\n}\n.ant-select-dropdown-rtl .ant-select-item-option-grouped {\n padding-right: 24px;\n padding-left: 12px;\n}\n.ant-select-rtl.ant-select-multiple.ant-select-show-arrow .ant-select-selector,\n.ant-select-rtl.ant-select-multiple.ant-select-allow-clear .ant-select-selector {\n padding-right: 4px;\n padding-left: 24px;\n}\n.ant-select-rtl.ant-select-multiple .ant-select-selection-item {\n text-align: right;\n}\n.ant-select-rtl.ant-select-multiple .ant-select-selection-item-content {\n margin-right: 0;\n margin-left: 4px;\n text-align: right;\n}\n.ant-select-rtl.ant-select-multiple .ant-select-selection-search-mirror {\n right: 0;\n left: auto;\n}\n.ant-select-rtl.ant-select-multiple .ant-select-selection-placeholder {\n right: 11px;\n left: auto;\n}\n.ant-select-rtl.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder {\n right: 7px;\n}\n.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-item,\n.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-placeholder {\n right: 0;\n left: 9px;\n text-align: right;\n}\n.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-search {\n right: 11px;\n left: 25px;\n}\n.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-item,\n.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder {\n padding-right: 0;\n padding-left: 18px;\n}\n.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search {\n right: 6px;\n}\n.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,\n.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder {\n padding-right: 0;\n padding-left: 21px;\n}\n.ant-skeleton {\n display: table;\n width: 100%;\n}\n.ant-skeleton-header {\n display: table-cell;\n padding-right: 16px;\n vertical-align: top;\n}\n.ant-skeleton-header .ant-skeleton-avatar {\n display: inline-block;\n vertical-align: top;\n background: rgba(190, 190, 190, 0.2);\n width: 32px;\n height: 32px;\n line-height: 32px;\n}\n.ant-skeleton-header .ant-skeleton-avatar.ant-skeleton-avatar-circle {\n border-radius: 50%;\n}\n.ant-skeleton-header .ant-skeleton-avatar-lg {\n width: 40px;\n height: 40px;\n line-height: 40px;\n}\n.ant-skeleton-header .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle {\n border-radius: 50%;\n}\n.ant-skeleton-header .ant-skeleton-avatar-sm {\n width: 24px;\n height: 24px;\n line-height: 24px;\n}\n.ant-skeleton-header .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle {\n border-radius: 50%;\n}\n.ant-skeleton-content {\n display: table-cell;\n width: 100%;\n vertical-align: top;\n}\n.ant-skeleton-content .ant-skeleton-title {\n width: 100%;\n height: 16px;\n background: rgba(190, 190, 190, 0.2);\n border-radius: 4px;\n}\n.ant-skeleton-content .ant-skeleton-title + .ant-skeleton-paragraph {\n margin-top: 24px;\n}\n.ant-skeleton-content .ant-skeleton-paragraph {\n padding: 0;\n}\n.ant-skeleton-content .ant-skeleton-paragraph > li {\n width: 100%;\n height: 16px;\n list-style: none;\n background: rgba(190, 190, 190, 0.2);\n border-radius: 4px;\n}\n.ant-skeleton-content .ant-skeleton-paragraph > li:last-child:not(:first-child):not(:nth-child(2)) {\n width: 61%;\n}\n.ant-skeleton-content .ant-skeleton-paragraph > li + li {\n margin-top: 16px;\n}\n.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title {\n margin-top: 12px;\n}\n.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title + .ant-skeleton-paragraph {\n margin-top: 28px;\n}\n.ant-skeleton-round .ant-skeleton-content .ant-skeleton-title,\n.ant-skeleton-round .ant-skeleton-content .ant-skeleton-paragraph > li {\n border-radius: 100px;\n}\n.ant-skeleton-active .ant-skeleton-title,\n.ant-skeleton-active .ant-skeleton-paragraph > li,\n.ant-skeleton-active .ant-skeleton-avatar,\n.ant-skeleton-active .ant-skeleton-button,\n.ant-skeleton-active .ant-skeleton-input,\n.ant-skeleton-active .ant-skeleton-image {\n position: relative;\n /* stylelint-disable-next-line property-no-vendor-prefix,value-no-vendor-prefix */\n z-index: 0;\n overflow: hidden;\n background: transparent;\n}\n.ant-skeleton-active .ant-skeleton-title::after,\n.ant-skeleton-active .ant-skeleton-paragraph > li::after,\n.ant-skeleton-active .ant-skeleton-avatar::after,\n.ant-skeleton-active .ant-skeleton-button::after,\n.ant-skeleton-active .ant-skeleton-input::after,\n.ant-skeleton-active .ant-skeleton-image::after {\n position: absolute;\n top: 0;\n right: -150%;\n bottom: 0;\n left: -150%;\n background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%);\n animation: ant-skeleton-loading 1.4s ease infinite;\n content: '';\n}\n.ant-skeleton.ant-skeleton-block {\n width: 100%;\n}\n.ant-skeleton.ant-skeleton-block .ant-skeleton-button {\n width: 100%;\n}\n.ant-skeleton.ant-skeleton-block .ant-skeleton-input {\n width: 100%;\n}\n.ant-skeleton-element {\n display: inline-block;\n width: auto;\n}\n.ant-skeleton-element .ant-skeleton-button {\n display: inline-block;\n vertical-align: top;\n background: rgba(190, 190, 190, 0.2);\n border-radius: 4px;\n width: 64px;\n min-width: 64px;\n height: 32px;\n line-height: 32px;\n}\n.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-square {\n width: 32px;\n min-width: 32px;\n}\n.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-circle {\n width: 32px;\n min-width: 32px;\n border-radius: 50%;\n}\n.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-round {\n border-radius: 32px;\n}\n.ant-skeleton-element .ant-skeleton-button-lg {\n width: 80px;\n min-width: 80px;\n height: 40px;\n line-height: 40px;\n}\n.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-square {\n width: 40px;\n min-width: 40px;\n}\n.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-circle {\n width: 40px;\n min-width: 40px;\n border-radius: 50%;\n}\n.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-round {\n border-radius: 40px;\n}\n.ant-skeleton-element .ant-skeleton-button-sm {\n width: 48px;\n min-width: 48px;\n height: 24px;\n line-height: 24px;\n}\n.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-square {\n width: 24px;\n min-width: 24px;\n}\n.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-circle {\n width: 24px;\n min-width: 24px;\n border-radius: 50%;\n}\n.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-round {\n border-radius: 24px;\n}\n.ant-skeleton-element .ant-skeleton-avatar {\n display: inline-block;\n vertical-align: top;\n background: rgba(190, 190, 190, 0.2);\n width: 32px;\n height: 32px;\n line-height: 32px;\n}\n.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-circle {\n border-radius: 50%;\n}\n.ant-skeleton-element .ant-skeleton-avatar-lg {\n width: 40px;\n height: 40px;\n line-height: 40px;\n}\n.ant-skeleton-element .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle {\n border-radius: 50%;\n}\n.ant-skeleton-element .ant-skeleton-avatar-sm {\n width: 24px;\n height: 24px;\n line-height: 24px;\n}\n.ant-skeleton-element .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle {\n border-radius: 50%;\n}\n.ant-skeleton-element .ant-skeleton-input {\n display: inline-block;\n vertical-align: top;\n background: rgba(190, 190, 190, 0.2);\n width: 160px;\n min-width: 160px;\n height: 32px;\n line-height: 32px;\n}\n.ant-skeleton-element .ant-skeleton-input-lg {\n width: 200px;\n min-width: 200px;\n height: 40px;\n line-height: 40px;\n}\n.ant-skeleton-element .ant-skeleton-input-sm {\n width: 120px;\n min-width: 120px;\n height: 24px;\n line-height: 24px;\n}\n.ant-skeleton-element .ant-skeleton-image {\n display: flex;\n align-items: center;\n justify-content: center;\n vertical-align: top;\n background: rgba(190, 190, 190, 0.2);\n width: 96px;\n height: 96px;\n line-height: 96px;\n}\n.ant-skeleton-element .ant-skeleton-image.ant-skeleton-image-circle {\n border-radius: 50%;\n}\n.ant-skeleton-element .ant-skeleton-image-path {\n fill: #bfbfbf;\n}\n.ant-skeleton-element .ant-skeleton-image-svg {\n width: 48px;\n height: 48px;\n line-height: 48px;\n max-width: 192px;\n max-height: 192px;\n}\n.ant-skeleton-element .ant-skeleton-image-svg.ant-skeleton-image-circle {\n border-radius: 50%;\n}\n@keyframes ant-skeleton-loading {\n 0% {\n transform: translateX(-37.5%);\n }\n 100% {\n transform: translateX(37.5%);\n }\n}\n.ant-skeleton-rtl {\n direction: rtl;\n}\n.ant-skeleton-rtl .ant-skeleton-header {\n padding-right: 0;\n padding-left: 16px;\n}\n.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title,\n.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph > li {\n animation-name: ant-skeleton-loading-rtl;\n}\n.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar {\n animation-name: ant-skeleton-loading-rtl;\n}\n@keyframes ant-skeleton-loading-rtl {\n 0% {\n background-position: 0% 50%;\n }\n 100% {\n background-position: 100% 50%;\n }\n}\n.ant-slider {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n height: 12px;\n margin: 10px 6px 10px;\n padding: 4px 0;\n cursor: pointer;\n touch-action: none;\n}\n.ant-slider-vertical {\n width: 12px;\n height: 100%;\n margin: 6px 10px;\n padding: 0 4px;\n}\n.ant-slider-vertical .ant-slider-rail {\n width: 4px;\n height: 100%;\n}\n.ant-slider-vertical .ant-slider-track {\n width: 4px;\n}\n.ant-slider-vertical .ant-slider-handle {\n margin-top: -6px;\n margin-left: -5px;\n}\n.ant-slider-vertical .ant-slider-mark {\n top: 0;\n left: 12px;\n width: 18px;\n height: 100%;\n}\n.ant-slider-vertical .ant-slider-mark-text {\n left: 4px;\n white-space: nowrap;\n}\n.ant-slider-vertical .ant-slider-step {\n width: 4px;\n height: 100%;\n}\n.ant-slider-vertical .ant-slider-dot {\n top: auto;\n margin-left: -2px;\n}\n.ant-slider-tooltip .ant-tooltip-inner {\n min-width: unset;\n}\n.ant-slider-rtl.ant-slider-vertical .ant-slider-handle {\n margin-right: -5px;\n margin-left: 0;\n}\n.ant-slider-rtl.ant-slider-vertical .ant-slider-mark {\n right: 12px;\n left: auto;\n}\n.ant-slider-rtl.ant-slider-vertical .ant-slider-mark-text {\n right: 4px;\n left: auto;\n}\n.ant-slider-rtl.ant-slider-vertical .ant-slider-dot {\n right: 2px;\n left: auto;\n}\n.ant-slider-with-marks {\n margin-bottom: 28px;\n}\n.ant-slider-rail {\n position: absolute;\n width: 100%;\n height: 4px;\n background-color: #f5f5f5;\n border-radius: 4px;\n transition: background-color 0.3s;\n}\n.ant-slider-track {\n position: absolute;\n height: 4px;\n background-color: #a6d2ff;\n border-radius: 4px;\n transition: background-color 0.3s;\n}\n.ant-slider-handle {\n position: absolute;\n width: 14px;\n height: 14px;\n margin-top: -5px;\n background-color: #fff;\n border: solid 2px #a6d2ff;\n border-radius: 50%;\n box-shadow: 0;\n cursor: pointer;\n transition: border-color 0.3s, box-shadow 0.6s, transform 0.3s cubic-bezier(0.18, 0.89, 0.32, 1.28);\n}\n.ant-slider-handle-dragging {\n z-index: 1;\n}\n.ant-slider-handle:focus {\n border-color: #518fea;\n outline: none;\n box-shadow: 0 0 0 5px rgba(38, 115, 229, 0.12);\n}\n.ant-slider-handle.ant-tooltip-open {\n border-color: #2673e5;\n}\n.ant-slider-handle::after {\n position: absolute;\n top: -6px;\n right: -6px;\n bottom: -6px;\n left: -6px;\n content: '';\n}\n.ant-slider:hover .ant-slider-rail {\n background-color: #e1e1e1;\n}\n.ant-slider:hover .ant-slider-track {\n background-color: #7dbaff;\n}\n.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open) {\n border-color: #7dbaff;\n}\n.ant-slider-mark {\n position: absolute;\n top: 14px;\n left: 0;\n width: 100%;\n font-size: 14px;\n}\n.ant-slider-mark-text {\n position: absolute;\n display: inline-block;\n color: rgba(0, 0, 0, 0.45);\n text-align: center;\n word-break: keep-all;\n cursor: pointer;\n user-select: none;\n}\n.ant-slider-mark-text-active {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-slider-step {\n position: absolute;\n width: 100%;\n height: 4px;\n background: transparent;\n pointer-events: none;\n}\n.ant-slider-dot {\n position: absolute;\n top: -2px;\n width: 8px;\n height: 8px;\n background-color: #fff;\n border: 2px solid #f0f0f0;\n border-radius: 50%;\n cursor: pointer;\n}\n.ant-slider-dot-active {\n border-color: #93b9f2;\n}\n.ant-slider-disabled {\n cursor: not-allowed;\n}\n.ant-slider-disabled .ant-slider-rail {\n background-color: #f5f5f5 !important;\n}\n.ant-slider-disabled .ant-slider-track {\n background-color: rgba(0, 0, 0, 0.25) !important;\n}\n.ant-slider-disabled .ant-slider-handle,\n.ant-slider-disabled .ant-slider-dot {\n background-color: #fff;\n border-color: rgba(0, 0, 0, 0.25) !important;\n box-shadow: none;\n cursor: not-allowed;\n}\n.ant-slider-disabled .ant-slider-mark-text,\n.ant-slider-disabled .ant-slider-dot {\n cursor: not-allowed !important;\n}\n.ant-slider-rtl {\n direction: rtl;\n}\n.ant-slider-rtl .ant-slider-mark {\n right: 0;\n left: auto;\n}\n.ant-space {\n display: inline-flex;\n}\n.ant-space-vertical {\n flex-direction: column;\n}\n.ant-space-align-center {\n align-items: center;\n}\n.ant-space-align-start {\n align-items: flex-start;\n}\n.ant-space-align-end {\n align-items: flex-end;\n}\n.ant-space-align-baseline {\n align-items: baseline;\n}\n.ant-space-item:empty {\n display: none;\n}\n.ant-space-compact {\n display: inline-flex;\n}\n.ant-space-compact-block {\n display: flex;\n width: 100%;\n}\n.ant-space-compact-vertical {\n flex-direction: column;\n}\n.ant-space-rtl {\n direction: rtl;\n}\n.ant-space-compact-rtl {\n direction: rtl;\n}\n.ant-spin {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: absolute;\n display: none;\n color: #2673e5;\n font-size: 0;\n text-align: center;\n vertical-align: middle;\n opacity: 0;\n transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);\n}\n.ant-spin-spinning {\n position: static;\n display: inline-block;\n opacity: 1;\n}\n.ant-spin-nested-loading {\n position: relative;\n}\n.ant-spin-nested-loading > div > .ant-spin {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 4;\n display: block;\n width: 100%;\n height: 100%;\n max-height: 400px;\n}\n.ant-spin-nested-loading > div > .ant-spin .ant-spin-dot {\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -10px;\n}\n.ant-spin-nested-loading > div > .ant-spin .ant-spin-text {\n position: absolute;\n top: 50%;\n width: 100%;\n padding-top: 5px;\n font-size: 14px;\n text-shadow: 0 1px 2px #fff;\n}\n.ant-spin-nested-loading > div > .ant-spin.ant-spin-show-text .ant-spin-dot {\n margin-top: -20px;\n}\n.ant-spin-nested-loading > div > .ant-spin-sm .ant-spin-dot {\n margin: -7px;\n}\n.ant-spin-nested-loading > div > .ant-spin-sm .ant-spin-text {\n padding-top: 2px;\n}\n.ant-spin-nested-loading > div > .ant-spin-sm.ant-spin-show-text .ant-spin-dot {\n margin-top: -17px;\n}\n.ant-spin-nested-loading > div > .ant-spin-lg .ant-spin-dot {\n margin: -16px;\n}\n.ant-spin-nested-loading > div > .ant-spin-lg .ant-spin-text {\n padding-top: 11px;\n}\n.ant-spin-nested-loading > div > .ant-spin-lg.ant-spin-show-text .ant-spin-dot {\n margin-top: -26px;\n}\n.ant-spin-container {\n position: relative;\n transition: opacity 0.3s;\n}\n.ant-spin-container::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 10;\n display: none \\9;\n width: 100%;\n height: 100%;\n background: #fff;\n opacity: 0;\n transition: all 0.3s;\n content: '';\n pointer-events: none;\n}\n.ant-spin-blur {\n clear: both;\n opacity: 0.5;\n user-select: none;\n pointer-events: none;\n}\n.ant-spin-blur::after {\n opacity: 0.4;\n pointer-events: auto;\n}\n.ant-spin-tip {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-spin-dot {\n position: relative;\n display: inline-block;\n font-size: 20px;\n width: 1em;\n height: 1em;\n}\n.ant-spin-dot-item {\n position: absolute;\n display: block;\n width: 9px;\n height: 9px;\n background-color: #2673e5;\n border-radius: 100%;\n transform: scale(0.75);\n transform-origin: 50% 50%;\n opacity: 0.3;\n animation: antSpinMove 1s infinite linear alternate;\n}\n.ant-spin-dot-item:nth-child(1) {\n top: 0;\n left: 0;\n}\n.ant-spin-dot-item:nth-child(2) {\n top: 0;\n right: 0;\n animation-delay: 0.4s;\n}\n.ant-spin-dot-item:nth-child(3) {\n right: 0;\n bottom: 0;\n animation-delay: 0.8s;\n}\n.ant-spin-dot-item:nth-child(4) {\n bottom: 0;\n left: 0;\n animation-delay: 1.2s;\n}\n.ant-spin-dot-spin {\n transform: rotate(0deg);\n animation: antRotate 1.2s infinite linear;\n}\n.ant-spin-sm .ant-spin-dot {\n font-size: 14px;\n}\n.ant-spin-sm .ant-spin-dot i {\n width: 6px;\n height: 6px;\n}\n.ant-spin-lg .ant-spin-dot {\n font-size: 32px;\n}\n.ant-spin-lg .ant-spin-dot i {\n width: 14px;\n height: 14px;\n}\n.ant-spin.ant-spin-show-text .ant-spin-text {\n display: block;\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n /* IE10+ */\n .ant-spin-blur {\n background: #fff;\n opacity: 0.5;\n }\n}\n@keyframes antSpinMove {\n to {\n opacity: 1;\n }\n}\n@keyframes antRotate {\n to {\n transform: rotate(360deg);\n }\n}\n.ant-spin-rtl {\n direction: rtl;\n}\n.ant-spin-rtl .ant-spin-dot-spin {\n transform: rotate(-45deg);\n animation-name: antRotateRtl;\n}\n@keyframes antRotateRtl {\n to {\n transform: rotate(-405deg);\n }\n}\n.ant-statistic {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n}\n.ant-statistic-title {\n margin-bottom: 4px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n}\n.ant-statistic-skeleton {\n padding-top: 16px;\n}\n.ant-statistic-content {\n color: rgba(0, 0, 0, 0.85);\n font-size: 24px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n}\n.ant-statistic-content-value {\n display: inline-block;\n direction: ltr;\n}\n.ant-statistic-content-prefix,\n.ant-statistic-content-suffix {\n display: inline-block;\n}\n.ant-statistic-content-prefix {\n margin-right: 4px;\n}\n.ant-statistic-content-suffix {\n margin-left: 4px;\n}\n.ant-statistic-rtl {\n direction: rtl;\n}\n.ant-statistic-rtl .ant-statistic-content-prefix {\n margin-right: 0;\n margin-left: 4px;\n}\n.ant-statistic-rtl .ant-statistic-content-suffix {\n margin-right: 4px;\n margin-left: 0;\n}\n.ant-steps {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n display: flex;\n width: 100%;\n font-size: 0;\n text-align: initial;\n}\n.ant-steps-item {\n position: relative;\n display: inline-block;\n flex: 1;\n overflow: hidden;\n vertical-align: top;\n}\n.ant-steps-item-container {\n outline: none;\n}\n.ant-steps-item:last-child {\n flex: none;\n}\n.ant-steps-item:last-child > .ant-steps-item-container > .ant-steps-item-tail,\n.ant-steps-item:last-child > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {\n display: none;\n}\n.ant-steps-item-icon,\n.ant-steps-item-content {\n display: inline-block;\n vertical-align: top;\n}\n.ant-steps-item-icon {\n width: 32px;\n height: 32px;\n margin: 0 8px 0 0;\n font-size: 16px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n line-height: 32px;\n text-align: center;\n border: 1px solid rgba(0, 0, 0, 0.25);\n border-radius: 32px;\n transition: background-color 0.3s, border-color 0.3s;\n}\n.ant-steps-item-icon .ant-steps-icon {\n position: relative;\n top: -0.5px;\n color: #2673e5;\n line-height: 1;\n}\n.ant-steps-item-tail {\n position: absolute;\n top: 12px;\n left: 0;\n width: 100%;\n padding: 0 10px;\n}\n.ant-steps-item-tail::after {\n display: inline-block;\n width: 100%;\n height: 1px;\n background: #f0f0f0;\n border-radius: 1px;\n transition: background 0.3s;\n content: '';\n}\n.ant-steps-item-title {\n position: relative;\n display: inline-block;\n padding-right: 16px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 16px;\n line-height: 32px;\n}\n.ant-steps-item-title::after {\n position: absolute;\n top: 16px;\n left: 100%;\n display: block;\n width: 9999px;\n height: 1px;\n background: #f0f0f0;\n content: '';\n}\n.ant-steps-item-subtitle {\n display: inline;\n margin-left: 8px;\n color: rgba(0, 0, 0, 0.45);\n font-weight: normal;\n font-size: 14px;\n}\n.ant-steps-item-description {\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n}\n.ant-steps-item-wait .ant-steps-item-icon {\n background-color: #fff;\n border-color: rgba(0, 0, 0, 0.25);\n}\n.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon {\n color: rgba(0, 0, 0, 0.25);\n}\n.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot {\n background: rgba(0, 0, 0, 0.25);\n}\n.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {\n background-color: #f0f0f0;\n}\n.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-tail::after {\n background-color: #f0f0f0;\n}\n.ant-steps-item-process .ant-steps-item-icon {\n background-color: #fff;\n border-color: #2673e5;\n}\n.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon {\n color: #2673e5;\n}\n.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot {\n background: #2673e5;\n}\n.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {\n background-color: #f0f0f0;\n}\n.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-tail::after {\n background-color: #f0f0f0;\n}\n.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-icon {\n background: #2673e5;\n}\n.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-icon .ant-steps-icon {\n color: #fff;\n}\n.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-title {\n font-weight: 500;\n}\n.ant-steps-item-finish .ant-steps-item-icon {\n background-color: #fff;\n border-color: #2673e5;\n}\n.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon {\n color: #2673e5;\n}\n.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot {\n background: #2673e5;\n}\n.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {\n background-color: #2673e5;\n}\n.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-tail::after {\n background-color: #2673e5;\n}\n.ant-steps-item-error .ant-steps-item-icon {\n background-color: #fff;\n border-color: #ff4d4f;\n}\n.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon {\n color: #ff4d4f;\n}\n.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot {\n background: #ff4d4f;\n}\n.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title {\n color: #ff4d4f;\n}\n.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {\n background-color: #f0f0f0;\n}\n.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description {\n color: #ff4d4f;\n}\n.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-tail::after {\n background-color: #f0f0f0;\n}\n.ant-steps-item.ant-steps-next-error .ant-steps-item-title::after {\n background: #ff4d4f;\n}\n.ant-steps-item-disabled {\n cursor: not-allowed;\n}\n.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] {\n cursor: pointer;\n}\n.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] .ant-steps-item-title,\n.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] .ant-steps-item-subtitle,\n.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] .ant-steps-item-description,\n.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] .ant-steps-item-icon .ant-steps-icon {\n transition: color 0.3s;\n}\n.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-title,\n.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-subtitle,\n.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-description {\n color: #2673e5;\n}\n.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process) > .ant-steps-item-container[role='button']:hover .ant-steps-item-icon {\n border-color: #2673e5;\n}\n.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process) > .ant-steps-item-container[role='button']:hover .ant-steps-item-icon .ant-steps-icon {\n color: #2673e5;\n}\n.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item {\n padding-left: 16px;\n white-space: nowrap;\n}\n.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child {\n padding-left: 0;\n}\n.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title {\n padding-right: 0;\n}\n.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-tail {\n display: none;\n}\n.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-description {\n max-width: 140px;\n white-space: normal;\n}\n.ant-steps-item-custom > .ant-steps-item-container > .ant-steps-item-icon {\n height: auto;\n background: none;\n border: 0;\n}\n.ant-steps-item-custom > .ant-steps-item-container > .ant-steps-item-icon > .ant-steps-icon {\n top: 0px;\n left: 0.5px;\n width: 32px;\n height: 32px;\n font-size: 24px;\n line-height: 32px;\n}\n.ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon {\n color: #2673e5;\n}\n.ant-steps:not(.ant-steps-vertical) .ant-steps-item-custom .ant-steps-item-icon {\n width: auto;\n background: none;\n}\n.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item {\n padding-left: 12px;\n}\n.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child {\n padding-left: 0;\n}\n.ant-steps-small .ant-steps-item-icon {\n width: 24px;\n height: 24px;\n margin: 0 8px 0 0;\n font-size: 12px;\n line-height: 24px;\n text-align: center;\n border-radius: 24px;\n}\n.ant-steps-small .ant-steps-item-title {\n padding-right: 12px;\n font-size: 14px;\n line-height: 24px;\n}\n.ant-steps-small .ant-steps-item-title::after {\n top: 12px;\n}\n.ant-steps-small .ant-steps-item-description {\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n}\n.ant-steps-small .ant-steps-item-tail {\n top: 8px;\n}\n.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon {\n width: inherit;\n height: inherit;\n line-height: inherit;\n background: none;\n border: 0;\n border-radius: 0;\n}\n.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon > .ant-steps-icon {\n font-size: 24px;\n line-height: 24px;\n transform: none;\n}\n.ant-steps-vertical {\n display: flex;\n flex-direction: column;\n}\n.ant-steps-vertical > .ant-steps-item {\n display: block;\n flex: 1 0 auto;\n padding-left: 0;\n overflow: visible;\n}\n.ant-steps-vertical > .ant-steps-item .ant-steps-item-icon {\n float: left;\n margin-right: 16px;\n}\n.ant-steps-vertical > .ant-steps-item .ant-steps-item-content {\n display: block;\n min-height: 48px;\n overflow: hidden;\n}\n.ant-steps-vertical > .ant-steps-item .ant-steps-item-title {\n line-height: 32px;\n}\n.ant-steps-vertical > .ant-steps-item .ant-steps-item-description {\n padding-bottom: 12px;\n}\n.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail {\n position: absolute;\n top: 0;\n left: 15px;\n width: 1px;\n height: 100%;\n padding: 38px 0 6px;\n}\n.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail::after {\n width: 1px;\n height: 100%;\n}\n.ant-steps-vertical > .ant-steps-item:not(:last-child) > .ant-steps-item-container > .ant-steps-item-tail {\n display: block;\n}\n.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {\n display: none;\n}\n.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail {\n position: absolute;\n top: 0;\n left: 11px;\n padding: 30px 0 6px;\n}\n.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-title {\n line-height: 24px;\n}\n.ant-steps-label-vertical .ant-steps-item {\n overflow: visible;\n}\n.ant-steps-label-vertical .ant-steps-item-tail {\n margin-left: 58px;\n padding: 3.5px 24px;\n}\n.ant-steps-label-vertical .ant-steps-item-content {\n display: block;\n width: 116px;\n margin-top: 8px;\n text-align: center;\n}\n.ant-steps-label-vertical .ant-steps-item-icon {\n display: inline-block;\n margin-left: 42px;\n}\n.ant-steps-label-vertical .ant-steps-item-title {\n padding-right: 0;\n padding-left: 0;\n}\n.ant-steps-label-vertical .ant-steps-item-title::after {\n display: none;\n}\n.ant-steps-label-vertical .ant-steps-item-subtitle {\n display: block;\n margin-bottom: 4px;\n margin-left: 0;\n line-height: 1.5715;\n}\n.ant-steps-label-vertical.ant-steps-small:not(.ant-steps-dot) .ant-steps-item-icon {\n margin-left: 46px;\n}\n.ant-steps-dot .ant-steps-item-title,\n.ant-steps-dot.ant-steps-small .ant-steps-item-title {\n line-height: 1.5715;\n}\n.ant-steps-dot .ant-steps-item-tail,\n.ant-steps-dot.ant-steps-small .ant-steps-item-tail {\n top: 2px;\n width: 100%;\n margin: 0 0 0 70px;\n padding: 0;\n}\n.ant-steps-dot .ant-steps-item-tail::after,\n.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after {\n width: calc(100% - 20px);\n height: 3px;\n margin-left: 12px;\n}\n.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot,\n.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot {\n left: 2px;\n}\n.ant-steps-dot .ant-steps-item-icon,\n.ant-steps-dot.ant-steps-small .ant-steps-item-icon {\n width: 8px;\n height: 8px;\n margin-left: 67px;\n padding-right: 0;\n line-height: 8px;\n background: transparent;\n border: 0;\n}\n.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,\n.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot {\n position: relative;\n float: left;\n width: 100%;\n height: 100%;\n border-radius: 100px;\n transition: all 0.3s;\n /* expand hover area */\n}\n.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after,\n.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after {\n position: absolute;\n top: -12px;\n left: -26px;\n width: 60px;\n height: 32px;\n background: rgba(0, 0, 0, 0.001);\n content: '';\n}\n.ant-steps-dot .ant-steps-item-content,\n.ant-steps-dot.ant-steps-small .ant-steps-item-content {\n width: 140px;\n}\n.ant-steps-dot .ant-steps-item-process .ant-steps-item-icon,\n.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-item-icon {\n position: relative;\n top: -1px;\n width: 10px;\n height: 10px;\n line-height: 10px;\n background: none;\n}\n.ant-steps-dot .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot,\n.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot {\n left: 0;\n}\n.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon {\n margin-top: 13px;\n margin-left: 0;\n background: none;\n}\n.ant-steps-vertical.ant-steps-dot .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail {\n top: 6.5px;\n left: -9px;\n margin: 0;\n padding: 22px 0 4px;\n}\n.ant-steps-vertical.ant-steps-dot.ant-steps-small .ant-steps-item-icon {\n margin-top: 10px;\n}\n.ant-steps-vertical.ant-steps-dot.ant-steps-small .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail {\n top: 3.5px;\n}\n.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot {\n left: 0;\n}\n.ant-steps-vertical.ant-steps-dot .ant-steps-item-content {\n width: inherit;\n}\n.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-item-container .ant-steps-item-icon .ant-steps-icon-dot {\n top: -1px;\n left: -1px;\n}\n.ant-steps-navigation {\n padding-top: 12px;\n}\n.ant-steps-navigation.ant-steps-small .ant-steps-item-container {\n margin-left: -12px;\n}\n.ant-steps-navigation .ant-steps-item {\n overflow: visible;\n text-align: center;\n}\n.ant-steps-navigation .ant-steps-item-container {\n display: inline-block;\n height: 100%;\n margin-left: -16px;\n padding-bottom: 12px;\n text-align: left;\n transition: opacity 0.3s;\n}\n.ant-steps-navigation .ant-steps-item-container .ant-steps-item-content {\n max-width: auto;\n}\n.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title {\n max-width: 100%;\n padding-right: 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title::after {\n display: none;\n}\n.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role='button'] {\n cursor: pointer;\n}\n.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role='button']:hover {\n opacity: 0.85;\n}\n.ant-steps-navigation .ant-steps-item:last-child {\n flex: 1;\n}\n.ant-steps-navigation .ant-steps-item:last-child::after {\n display: none;\n}\n.ant-steps-navigation .ant-steps-item::after {\n position: absolute;\n top: 50%;\n left: 100%;\n display: inline-block;\n width: 12px;\n height: 12px;\n margin-top: -14px;\n margin-left: -2px;\n border: 1px solid rgba(0, 0, 0, 0.25);\n border-bottom: none;\n border-left: none;\n transform: rotate(45deg);\n content: '';\n}\n.ant-steps-navigation .ant-steps-item::before {\n position: absolute;\n bottom: 0;\n left: 50%;\n display: inline-block;\n width: 0;\n height: 2px;\n background-color: #2673e5;\n transition: width 0.3s, left 0.3s;\n transition-timing-function: ease-out;\n content: '';\n}\n.ant-steps-navigation .ant-steps-item.ant-steps-item-active::before {\n left: 0;\n width: 100%;\n}\n.ant-steps-navigation.ant-steps-vertical > .ant-steps-item {\n margin-right: 0 !important;\n}\n.ant-steps-navigation.ant-steps-vertical > .ant-steps-item::before {\n display: none;\n}\n.ant-steps-navigation.ant-steps-vertical > .ant-steps-item.ant-steps-item-active::before {\n top: 0;\n right: 0;\n left: unset;\n display: block;\n width: 3px;\n height: calc(100% - 24px);\n}\n.ant-steps-navigation.ant-steps-vertical > .ant-steps-item::after {\n position: relative;\n top: -2px;\n left: 50%;\n display: block;\n width: 8px;\n height: 8px;\n margin-bottom: 8px;\n text-align: center;\n transform: rotate(135deg);\n}\n.ant-steps-navigation.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail {\n visibility: hidden;\n}\n.ant-steps-navigation.ant-steps-horizontal > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail {\n visibility: hidden;\n}\n.ant-steps-rtl {\n direction: rtl;\n}\n.ant-steps.ant-steps-rtl .ant-steps-item-icon {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-steps-rtl .ant-steps-item-tail {\n right: 0;\n left: auto;\n}\n.ant-steps-rtl .ant-steps-item-title {\n padding-right: 0;\n padding-left: 16px;\n}\n.ant-steps-rtl .ant-steps-item-title .ant-steps-item-subtitle {\n float: left;\n margin-right: 8px;\n margin-left: 0;\n}\n.ant-steps-rtl .ant-steps-item-title::after {\n right: 100%;\n left: auto;\n}\n.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item {\n padding-right: 16px;\n padding-left: 0;\n}\n.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child {\n padding-right: 0;\n}\n.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title {\n padding-left: 0;\n}\n.ant-steps-rtl .ant-steps-item-custom .ant-steps-item-icon > .ant-steps-icon {\n right: 0.5px;\n left: auto;\n}\n.ant-steps-rtl.ant-steps-navigation.ant-steps-small .ant-steps-item-container {\n margin-right: -12px;\n margin-left: 0;\n}\n.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container {\n margin-right: -16px;\n margin-left: 0;\n text-align: right;\n}\n.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title {\n padding-left: 0;\n}\n.ant-steps-rtl.ant-steps-navigation .ant-steps-item::after {\n right: 100%;\n left: auto;\n margin-right: -2px;\n margin-left: 0;\n transform: rotate(225deg);\n}\n.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item {\n padding-right: 12px;\n padding-left: 0;\n}\n.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child {\n padding-right: 0;\n}\n.ant-steps-rtl.ant-steps-small .ant-steps-item-title {\n padding-right: 0;\n padding-left: 12px;\n}\n.ant-steps-rtl.ant-steps-vertical > .ant-steps-item .ant-steps-item-icon {\n float: right;\n margin-right: 0;\n margin-left: 16px;\n}\n.ant-steps-rtl.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail {\n right: 16px;\n left: auto;\n}\n.ant-steps-rtl.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail {\n right: 12px;\n left: auto;\n}\n.ant-steps-rtl.ant-steps-label-vertical .ant-steps-item-title {\n padding-left: 0;\n}\n.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail,\n.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail {\n margin: 0 70px 0 0;\n}\n.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail::after,\n.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after {\n margin-right: 12px;\n margin-left: 0;\n}\n.ant-steps-rtl.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot,\n.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot {\n right: 2px;\n left: auto;\n}\n.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon,\n.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon {\n margin-right: 67px;\n margin-left: 0;\n}\n.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,\n.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot {\n /* expand hover area */\n}\n.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,\n.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot {\n float: right;\n}\n.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after,\n.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after {\n right: -26px;\n left: auto;\n}\n.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon {\n margin-right: 0;\n margin-left: 16px;\n}\n.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail {\n right: -9px;\n left: auto;\n}\n.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot {\n right: 0;\n left: auto;\n}\n.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-icon-dot {\n right: -2px;\n left: auto;\n}\n.ant-steps-rtl.ant-steps-with-progress.ant-steps-vertical > .ant-steps-item {\n padding-right: 4px;\n}\n.ant-steps-rtl.ant-steps-with-progress.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail {\n right: 19px;\n}\n.ant-steps-rtl.ant-steps-with-progress.ant-steps-small.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail {\n right: 15px;\n}\n.ant-steps-rtl.ant-steps-with-progress.ant-steps-horizontal.ant-steps-label-horizontal .ant-steps-item:first-child {\n padding-right: 4px;\n padding-left: 0;\n}\n.ant-steps-rtl.ant-steps-with-progress.ant-steps-horizontal.ant-steps-label-horizontal .ant-steps-item:first-child.ant-steps-item-active {\n padding-right: 4px;\n}\n.ant-steps-with-progress .ant-steps-item {\n padding-top: 4px;\n}\n.ant-steps-with-progress .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail {\n top: 4px;\n left: 19px;\n}\n.ant-steps-with-progress.ant-steps-horizontal .ant-steps-item:first-child,\n.ant-steps-with-progress.ant-steps-small.ant-steps-horizontal .ant-steps-item:first-child {\n padding-bottom: 4px;\n padding-left: 4px;\n}\n.ant-steps-with-progress.ant-steps-small > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail {\n left: 15px;\n}\n.ant-steps-with-progress.ant-steps-vertical .ant-steps-item {\n padding-left: 4px;\n}\n.ant-steps-with-progress.ant-steps-label-vertical .ant-steps-item .ant-steps-item-tail {\n top: 14px !important;\n}\n.ant-steps-with-progress .ant-steps-item-icon {\n position: relative;\n}\n.ant-steps-with-progress .ant-steps-item-icon .ant-progress {\n position: absolute;\n top: -5px;\n right: -5px;\n bottom: -5px;\n left: -5px;\n}\n.ant-switch {\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n min-width: 44px;\n height: 22px;\n line-height: 22px;\n vertical-align: middle;\n background-color: rgba(0, 0, 0, 0.25);\n border: 0;\n border-radius: 100px;\n cursor: pointer;\n transition: all 0.2s;\n user-select: none;\n}\n.ant-switch:focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);\n}\n.ant-switch-checked:focus {\n box-shadow: 0 0 0 2px #f0f8ff;\n}\n.ant-switch:focus:hover {\n box-shadow: none;\n}\n.ant-switch-checked {\n background-color: #2673e5;\n}\n.ant-switch-loading,\n.ant-switch-disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n.ant-switch-loading *,\n.ant-switch-disabled * {\n box-shadow: none;\n cursor: not-allowed;\n}\n.ant-switch-inner {\n display: block;\n margin: 0 7px 0 25px;\n color: #fff;\n font-size: 12px;\n transition: margin 0.2s;\n}\n.ant-switch-checked .ant-switch-inner {\n margin: 0 25px 0 7px;\n}\n.ant-switch-handle {\n position: absolute;\n top: 2px;\n left: 2px;\n width: 18px;\n height: 18px;\n transition: all 0.2s ease-in-out;\n}\n.ant-switch-handle::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: #fff;\n border-radius: 9px;\n box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2);\n transition: all 0.2s ease-in-out;\n content: '';\n}\n.ant-switch-checked .ant-switch-handle {\n left: calc(100% - 18px - 2px);\n}\n.ant-switch:not(.ant-switch-disabled):active .ant-switch-handle::before {\n right: -30%;\n left: 0;\n}\n.ant-switch:not(.ant-switch-disabled):active.ant-switch-checked .ant-switch-handle::before {\n right: 0;\n left: -30%;\n}\n.ant-switch-loading-icon.anticon {\n position: relative;\n top: 2px;\n color: rgba(0, 0, 0, 0.65);\n vertical-align: top;\n}\n.ant-switch-checked .ant-switch-loading-icon {\n color: #2673e5;\n}\n.ant-switch-small {\n min-width: 28px;\n height: 16px;\n line-height: 16px;\n}\n.ant-switch-small .ant-switch-inner {\n margin: 0 5px 0 18px;\n font-size: 12px;\n}\n.ant-switch-small .ant-switch-handle {\n width: 12px;\n height: 12px;\n}\n.ant-switch-small .ant-switch-loading-icon {\n top: 1.5px;\n font-size: 9px;\n}\n.ant-switch-small.ant-switch-checked .ant-switch-inner {\n margin: 0 18px 0 5px;\n}\n.ant-switch-small.ant-switch-checked .ant-switch-handle {\n left: calc(100% - 12px - 2px);\n}\n.ant-switch-rtl {\n direction: rtl;\n}\n.ant-switch-rtl .ant-switch-inner {\n margin: 0 25px 0 7px;\n}\n.ant-switch-rtl .ant-switch-handle {\n right: 2px;\n left: auto;\n}\n.ant-switch-rtl:not(.ant-switch-rtl-disabled):active .ant-switch-handle::before {\n right: 0;\n left: -30%;\n}\n.ant-switch-rtl:not(.ant-switch-rtl-disabled):active.ant-switch-checked .ant-switch-handle::before {\n right: -30%;\n left: 0;\n}\n.ant-switch-rtl.ant-switch-checked .ant-switch-inner {\n margin: 0 7px 0 25px;\n}\n.ant-switch-rtl.ant-switch-checked .ant-switch-handle {\n right: calc(100% - 18px - 2px);\n}\n.ant-switch-rtl.ant-switch-small.ant-switch-checked .ant-switch-handle {\n right: calc(100% - 12px - 2px);\n}\n.ant-table.ant-table-middle {\n font-size: 14px;\n}\n.ant-table.ant-table-middle .ant-table-title,\n.ant-table.ant-table-middle .ant-table-footer,\n.ant-table.ant-table-middle .ant-table-thead > tr > th,\n.ant-table.ant-table-middle .ant-table-tbody > tr > td,\n.ant-table.ant-table-middle tfoot > tr > th,\n.ant-table.ant-table-middle tfoot > tr > td {\n padding: 12px 8px;\n}\n.ant-table.ant-table-middle .ant-table-filter-trigger {\n margin-right: -4px;\n}\n.ant-table.ant-table-middle .ant-table-expanded-row-fixed {\n margin: -12px -8px;\n}\n.ant-table.ant-table-middle .ant-table-tbody .ant-table-wrapper:only-child .ant-table {\n margin: -12px -8px -12px 40px;\n}\n.ant-table.ant-table-middle .ant-table-selection-column {\n padding-inline-start: 2px;\n}\n.ant-table.ant-table-small {\n font-size: 14px;\n}\n.ant-table.ant-table-small .ant-table-title,\n.ant-table.ant-table-small .ant-table-footer,\n.ant-table.ant-table-small .ant-table-thead > tr > th,\n.ant-table.ant-table-small .ant-table-tbody > tr > td,\n.ant-table.ant-table-small tfoot > tr > th,\n.ant-table.ant-table-small tfoot > tr > td {\n padding: 8px 8px;\n}\n.ant-table.ant-table-small .ant-table-filter-trigger {\n margin-right: -4px;\n}\n.ant-table.ant-table-small .ant-table-expanded-row-fixed {\n margin: -8px -8px;\n}\n.ant-table.ant-table-small .ant-table-tbody .ant-table-wrapper:only-child .ant-table {\n margin: -8px -8px -8px 40px;\n}\n.ant-table.ant-table-small .ant-table-selection-column {\n padding-inline-start: 2px;\n}\n.ant-table.ant-table-bordered > .ant-table-title {\n border: 1px solid #f0f0f0;\n border-bottom: 0;\n}\n.ant-table.ant-table-bordered > .ant-table-container {\n border-left: 1px solid #f0f0f0;\n}\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > th,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > th,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > th,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > th,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > td,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > td,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > td,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > td,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > th,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > th,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > th,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > th,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > td,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > td,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > td,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > td {\n border-right: 1px solid #f0f0f0;\n}\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr:not(:last-child) > th,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr:not(:last-child) > th,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr:not(:last-child) > th,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr:not(:last-child) > th {\n border-bottom: 1px solid #f0f0f0;\n}\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > th::before,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > th::before,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > th::before,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > th::before {\n background-color: transparent !important;\n}\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > .ant-table-cell-fix-right-first::after,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > .ant-table-cell-fix-right-first::after,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > .ant-table-cell-fix-right-first::after,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > .ant-table-cell-fix-right-first::after,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > .ant-table-cell-fix-right-first::after,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > .ant-table-cell-fix-right-first::after,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > .ant-table-cell-fix-right-first::after,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > .ant-table-cell-fix-right-first::after,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > .ant-table-cell-fix-right-first::after,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > .ant-table-cell-fix-right-first::after,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > .ant-table-cell-fix-right-first::after,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > .ant-table-cell-fix-right-first::after {\n border-right: 1px solid #f0f0f0;\n}\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > td > .ant-table-expanded-row-fixed,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > td > .ant-table-expanded-row-fixed,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > td > .ant-table-expanded-row-fixed,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > td > .ant-table-expanded-row-fixed {\n margin: -16px -17px;\n}\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > td > .ant-table-expanded-row-fixed::after,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > td > .ant-table-expanded-row-fixed::after,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > td > .ant-table-expanded-row-fixed::after,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > td > .ant-table-expanded-row-fixed::after {\n position: absolute;\n top: 0;\n right: 1px;\n bottom: 0;\n border-right: 1px solid #f0f0f0;\n content: '';\n}\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table,\n.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table {\n border-top: 1px solid #f0f0f0;\n}\n.ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .ant-table-body > table > tbody > tr.ant-table-expanded-row > td,\n.ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .ant-table-body > table > tbody > tr.ant-table-placeholder > td {\n border-right: 0;\n}\n.ant-table.ant-table-bordered.ant-table-middle > .ant-table-container > .ant-table-content > table > tbody > tr > td > .ant-table-expanded-row-fixed,\n.ant-table.ant-table-bordered.ant-table-middle > .ant-table-container > .ant-table-body > table > tbody > tr > td > .ant-table-expanded-row-fixed {\n margin: -12px -9px;\n}\n.ant-table.ant-table-bordered.ant-table-small > .ant-table-container > .ant-table-content > table > tbody > tr > td > .ant-table-expanded-row-fixed,\n.ant-table.ant-table-bordered.ant-table-small > .ant-table-container > .ant-table-body > table > tbody > tr > td > .ant-table-expanded-row-fixed {\n margin: -8px -9px;\n}\n.ant-table.ant-table-bordered > .ant-table-footer {\n border: 1px solid #f0f0f0;\n border-top: 0;\n}\n.ant-table-cell .ant-table-container:first-child {\n border-top: 0;\n}\n.ant-table-cell-scrollbar:not([rowspan]) {\n box-shadow: 0 1px 0 1px #fafafa;\n}\n.ant-table-wrapper {\n clear: both;\n max-width: 100%;\n}\n.ant-table-wrapper::before {\n display: table;\n content: '';\n}\n.ant-table-wrapper::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-table-wrapper::before {\n display: table;\n content: '';\n}\n.ant-table-wrapper::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-table {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n font-size: 14px;\n background: #fff;\n border-radius: 4px;\n}\n.ant-table table {\n width: 100%;\n text-align: left;\n border-radius: 4px 4px 0 0;\n border-collapse: separate;\n border-spacing: 0;\n}\n.ant-table-thead > tr > th,\n.ant-table-tbody > tr > td,\n.ant-table tfoot > tr > th,\n.ant-table tfoot > tr > td {\n position: relative;\n padding: 16px 16px;\n overflow-wrap: break-word;\n}\n.ant-table-cell-ellipsis {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n word-break: keep-all;\n}\n.ant-table-cell-ellipsis.ant-table-cell-fix-left-last,\n.ant-table-cell-ellipsis.ant-table-cell-fix-right-first {\n overflow: visible;\n}\n.ant-table-cell-ellipsis.ant-table-cell-fix-left-last .ant-table-cell-content,\n.ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ant-table-cell-ellipsis .ant-table-column-title {\n overflow: hidden;\n text-overflow: ellipsis;\n word-break: keep-all;\n}\n.ant-table-title {\n padding: 16px 16px;\n}\n.ant-table-footer {\n padding: 16px 16px;\n color: rgba(0, 0, 0, 0.85);\n background: #fafafa;\n}\n.ant-table-thead > tr > th {\n position: relative;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 500;\n text-align: left;\n background: #fafafa;\n border-bottom: 1px solid #f0f0f0;\n transition: background 0.3s ease;\n}\n.ant-table-thead > tr > th[colspan]:not([colspan='1']) {\n text-align: center;\n}\n.ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before {\n position: absolute;\n top: 50%;\n right: 0;\n width: 1px;\n height: 1.6em;\n background-color: rgba(0, 0, 0, 0.06);\n transform: translateY(-50%);\n transition: background-color 0.3s;\n content: '';\n}\n.ant-table-thead > tr:not(:last-child) > th[colspan] {\n border-bottom: 0;\n}\n.ant-table-tbody > tr > td {\n border-bottom: 1px solid #f0f0f0;\n transition: background 0.3s;\n}\n.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table,\n.ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table {\n margin: -16px -16px -16px 32px;\n}\n.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td,\n.ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td {\n border-bottom: 0;\n}\n.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:first-child,\n.ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:first-child,\n.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:last-child,\n.ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:last-child {\n border-radius: 0;\n}\n.ant-table-tbody > tr.ant-table-row:hover > td,\n.ant-table-tbody > tr > td.ant-table-cell-row-hover {\n background: #fafafa;\n}\n.ant-table-tbody > tr.ant-table-row-selected > td {\n background: #f0f8ff;\n border-color: rgba(0, 0, 0, 0.03);\n}\n.ant-table-tbody > tr.ant-table-row-selected:hover > td {\n background: #e6f3ff;\n}\n.ant-table-summary {\n position: relative;\n z-index: 2;\n background: #fff;\n}\ndiv.ant-table-summary {\n box-shadow: 0 -1px 0 #f0f0f0;\n}\n.ant-table-summary > tr > th,\n.ant-table-summary > tr > td {\n border-bottom: 1px solid #f0f0f0;\n}\n.ant-table-pagination.ant-pagination {\n margin: 16px 0;\n}\n.ant-table-pagination {\n display: flex;\n flex-wrap: wrap;\n row-gap: 8px;\n}\n.ant-table-pagination > * {\n flex: none;\n}\n.ant-table-pagination-left {\n justify-content: flex-start;\n}\n.ant-table-pagination-center {\n justify-content: center;\n}\n.ant-table-pagination-right {\n justify-content: flex-end;\n}\n.ant-table-thead th.ant-table-column-has-sorters {\n outline: none;\n cursor: pointer;\n transition: all 0.3s;\n}\n.ant-table-thead th.ant-table-column-has-sorters:hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.ant-table-thead th.ant-table-column-has-sorters:hover::before {\n background-color: transparent !important;\n}\n.ant-table-thead th.ant-table-column-has-sorters:focus-visible {\n color: #2673e5;\n}\n.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-left:hover,\n.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-right:hover {\n background: #f5f5f5;\n}\n.ant-table-thead th.ant-table-column-sort {\n background: #f5f5f5;\n}\n.ant-table-thead th.ant-table-column-sort::before {\n background-color: transparent !important;\n}\ntd.ant-table-column-sort {\n background: #fafafa;\n}\n.ant-table-column-title {\n position: relative;\n z-index: 1;\n flex: 1;\n}\n.ant-table-column-sorters {\n display: flex;\n flex: auto;\n align-items: center;\n justify-content: space-between;\n}\n.ant-table-column-sorters::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n content: '';\n}\n.ant-table-column-sorter {\n margin-left: 4px;\n color: #bfbfbf;\n font-size: 0;\n transition: color 0.3s;\n}\n.ant-table-column-sorter-inner {\n display: inline-flex;\n flex-direction: column;\n align-items: center;\n}\n.ant-table-column-sorter-up,\n.ant-table-column-sorter-down {\n font-size: 11px;\n}\n.ant-table-column-sorter-up.active,\n.ant-table-column-sorter-down.active {\n color: #2673e5;\n}\n.ant-table-column-sorter-up + .ant-table-column-sorter-down {\n margin-top: -0.3em;\n}\n.ant-table-column-sorters:hover .ant-table-column-sorter {\n color: #a6a6a6;\n}\n.ant-table-filter-column {\n display: flex;\n justify-content: space-between;\n}\n.ant-table-filter-trigger {\n position: relative;\n display: flex;\n align-items: center;\n margin: -4px -8px -4px 4px;\n padding: 0 4px;\n color: #bfbfbf;\n font-size: 12px;\n border-radius: 4px;\n cursor: pointer;\n transition: all 0.3s;\n}\n.ant-table-filter-trigger:hover {\n color: rgba(0, 0, 0, 0.45);\n background: rgba(0, 0, 0, 0.04);\n}\n.ant-table-filter-trigger.active {\n color: #2673e5;\n}\n.ant-table-filter-dropdown {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n min-width: 120px;\n background-color: #fff;\n border-radius: 4px;\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n}\n.ant-table-filter-dropdown .ant-dropdown-menu {\n max-height: 264px;\n overflow-x: hidden;\n border: 0;\n box-shadow: none;\n}\n.ant-table-filter-dropdown .ant-dropdown-menu:empty::after {\n display: block;\n padding: 8px 0;\n color: rgba(0, 0, 0, 0.25);\n font-size: 12px;\n text-align: center;\n content: 'Not Found';\n}\n.ant-table-filter-dropdown-tree {\n padding: 8px 8px 0;\n}\n.ant-table-filter-dropdown-tree .ant-tree-treenode .ant-tree-node-content-wrapper:hover {\n background-color: #f5f5f5;\n}\n.ant-table-filter-dropdown-tree .ant-tree-treenode-checkbox-checked .ant-tree-node-content-wrapper,\n.ant-table-filter-dropdown-tree .ant-tree-treenode-checkbox-checked .ant-tree-node-content-wrapper:hover {\n background-color: #cfe8ff;\n}\n.ant-table-filter-dropdown-search {\n padding: 8px;\n border-bottom: 1px #f0f0f0 solid;\n}\n.ant-table-filter-dropdown-search-input input {\n min-width: 140px;\n}\n.ant-table-filter-dropdown-search-input .anticon {\n color: rgba(0, 0, 0, 0.25);\n}\n.ant-table-filter-dropdown-checkall {\n width: 100%;\n margin-bottom: 4px;\n margin-left: 4px;\n}\n.ant-table-filter-dropdown-submenu > ul {\n max-height: calc(100vh - 130px);\n overflow-x: hidden;\n overflow-y: auto;\n}\n.ant-table-filter-dropdown .ant-checkbox-wrapper + span,\n.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper + span {\n padding-left: 8px;\n}\n.ant-table-filter-dropdown-btns {\n display: flex;\n justify-content: space-between;\n padding: 7px 8px;\n overflow: hidden;\n background-color: inherit;\n border-top: 1px solid #f0f0f0;\n}\n.ant-table-selection-col {\n width: 32px;\n}\n.ant-table-bordered .ant-table-selection-col {\n width: 50px;\n}\ntable tr th.ant-table-selection-column,\ntable tr td.ant-table-selection-column {\n padding-right: 8px;\n padding-left: 8px;\n text-align: center;\n}\ntable tr th.ant-table-selection-column .ant-radio-wrapper,\ntable tr td.ant-table-selection-column .ant-radio-wrapper {\n margin-right: 0;\n}\ntable tr th.ant-table-selection-column.ant-table-cell-fix-left {\n z-index: 3;\n}\ntable tr th.ant-table-selection-column::after {\n background-color: transparent !important;\n}\n.ant-table-selection {\n position: relative;\n display: inline-flex;\n flex-direction: column;\n}\n.ant-table-selection-extra {\n position: absolute;\n top: 0;\n z-index: 1;\n cursor: pointer;\n transition: all 0.3s;\n margin-inline-start: 100%;\n padding-inline-start: 4px;\n}\n.ant-table-selection-extra .anticon {\n color: #bfbfbf;\n font-size: 10px;\n}\n.ant-table-selection-extra .anticon:hover {\n color: #a6a6a6;\n}\n.ant-table-expand-icon-col {\n width: 48px;\n}\n.ant-table-row-expand-icon-cell {\n text-align: center;\n}\n.ant-table-row-expand-icon-cell .ant-table-row-expand-icon {\n display: inline-flex;\n float: none;\n vertical-align: sub;\n}\n.ant-table-row-indent {\n float: left;\n height: 1px;\n}\n.ant-table-row-expand-icon {\n color: #2673e5;\n outline: none;\n cursor: pointer;\n transition: color 0.3s;\n position: relative;\n float: left;\n box-sizing: border-box;\n width: 17px;\n height: 17px;\n padding: 0;\n color: inherit;\n line-height: 17px;\n background: #fff;\n border: 1px solid #f0f0f0;\n border-radius: 4px;\n transform: scale(0.94117647);\n transition: all 0.3s;\n user-select: none;\n}\n.ant-table-row-expand-icon:focus-visible,\n.ant-table-row-expand-icon:hover {\n color: #5096f2;\n}\n.ant-table-row-expand-icon:active {\n color: #1755bf;\n}\n.ant-table-row-expand-icon:focus,\n.ant-table-row-expand-icon:hover,\n.ant-table-row-expand-icon:active {\n border-color: currentcolor;\n}\n.ant-table-row-expand-icon::before,\n.ant-table-row-expand-icon::after {\n position: absolute;\n background: currentcolor;\n transition: transform 0.3s ease-out;\n content: '';\n}\n.ant-table-row-expand-icon::before {\n top: 7px;\n right: 3px;\n left: 3px;\n height: 1px;\n}\n.ant-table-row-expand-icon::after {\n top: 3px;\n bottom: 3px;\n left: 7px;\n width: 1px;\n transform: rotate(90deg);\n}\n.ant-table-row-expand-icon-collapsed::before {\n transform: rotate(-180deg);\n}\n.ant-table-row-expand-icon-collapsed::after {\n transform: rotate(0deg);\n}\n.ant-table-row-expand-icon-spaced {\n background: transparent;\n border: 0;\n visibility: hidden;\n}\n.ant-table-row-expand-icon-spaced::before,\n.ant-table-row-expand-icon-spaced::after {\n display: none;\n content: none;\n}\n.ant-table-row-indent + .ant-table-row-expand-icon {\n margin-top: 2.5005px;\n margin-right: 8px;\n}\ntr.ant-table-expanded-row > td,\ntr.ant-table-expanded-row:hover > td {\n background: #fbfbfb;\n}\ntr.ant-table-expanded-row .ant-descriptions-view {\n display: flex;\n}\ntr.ant-table-expanded-row .ant-descriptions-view table {\n flex: auto;\n width: auto;\n}\n.ant-table .ant-table-expanded-row-fixed {\n position: relative;\n margin: -16px -16px;\n padding: 16px 16px;\n}\n.ant-table-tbody > tr.ant-table-placeholder {\n text-align: center;\n}\n.ant-table-empty .ant-table-tbody > tr.ant-table-placeholder {\n color: rgba(0, 0, 0, 0.25);\n}\n.ant-table-tbody > tr.ant-table-placeholder:hover > td {\n background: #fff;\n}\n.ant-table-cell-fix-left,\n.ant-table-cell-fix-right {\n position: sticky !important;\n z-index: 2;\n background: #fff;\n}\n.ant-table-cell-fix-left-first::after,\n.ant-table-cell-fix-left-last::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: -1px;\n width: 30px;\n transform: translateX(100%);\n transition: box-shadow 0.3s;\n content: '';\n pointer-events: none;\n}\n.ant-table-cell-fix-left-all::after {\n display: none;\n}\n.ant-table-cell-fix-right-first::after,\n.ant-table-cell-fix-right-last::after {\n position: absolute;\n top: 0;\n bottom: -1px;\n left: 0;\n width: 30px;\n transform: translateX(-100%);\n transition: box-shadow 0.3s;\n content: '';\n pointer-events: none;\n}\n.ant-table .ant-table-container::before,\n.ant-table .ant-table-container::after {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: calc(calc(2 + 1) + 1);\n width: 30px;\n transition: box-shadow 0.3s;\n content: '';\n pointer-events: none;\n}\n.ant-table .ant-table-container::before {\n left: 0;\n}\n.ant-table .ant-table-container::after {\n right: 0;\n}\n.ant-table-ping-left:not(.ant-table-has-fix-left) > .ant-table-container {\n position: relative;\n}\n.ant-table-ping-left:not(.ant-table-has-fix-left) > .ant-table-container::before {\n box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15);\n}\n.ant-table-ping-left .ant-table-cell-fix-left-first::after,\n.ant-table-ping-left .ant-table-cell-fix-left-last::after {\n box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15);\n}\n.ant-table-ping-left .ant-table-cell-fix-left-last::before {\n background-color: transparent !important;\n}\n.ant-table-ping-right:not(.ant-table-has-fix-right) > .ant-table-container {\n position: relative;\n}\n.ant-table-ping-right:not(.ant-table-has-fix-right) > .ant-table-container::after {\n box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15);\n}\n.ant-table-ping-right .ant-table-cell-fix-right-first::after,\n.ant-table-ping-right .ant-table-cell-fix-right-last::after {\n box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15);\n}\n.ant-table-sticky-holder {\n position: sticky;\n z-index: calc(2 + 1);\n background: #fff;\n}\n.ant-table-sticky-scroll {\n position: sticky;\n bottom: 0;\n z-index: calc(2 + 1);\n display: flex;\n align-items: center;\n background: #ffffff;\n border-top: 1px solid #f0f0f0;\n opacity: 0.6;\n}\n.ant-table-sticky-scroll:hover {\n transform-origin: center bottom;\n}\n.ant-table-sticky-scroll-bar {\n height: 8px;\n background-color: rgba(0, 0, 0, 0.35);\n border-radius: 4px;\n}\n.ant-table-sticky-scroll-bar:hover {\n background-color: rgba(0, 0, 0, 0.8);\n}\n.ant-table-sticky-scroll-bar-active {\n background-color: rgba(0, 0, 0, 0.8);\n}\n@media all and (-ms-high-contrast: none) {\n .ant-table-ping-left .ant-table-cell-fix-left-last::after {\n box-shadow: none !important;\n }\n .ant-table-ping-right .ant-table-cell-fix-right-first::after {\n box-shadow: none !important;\n }\n}\n.ant-table {\n /* title + table */\n /* table */\n /* table + footer */\n}\n.ant-table-title {\n border-radius: 4px 4px 0 0;\n}\n.ant-table-title + .ant-table-container {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.ant-table-title + .ant-table-container table {\n border-radius: 0;\n}\n.ant-table-title + .ant-table-container table > thead > tr:first-child th:first-child {\n border-radius: 0;\n}\n.ant-table-title + .ant-table-container table > thead > tr:first-child th:last-child {\n border-radius: 0;\n}\n.ant-table-container {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.ant-table-container table > thead > tr:first-child th:first-child {\n border-top-left-radius: 4px;\n}\n.ant-table-container table > thead > tr:first-child th:last-child {\n border-top-right-radius: 4px;\n}\n.ant-table-footer {\n border-radius: 0 0 4px 4px;\n}\n.ant-table-wrapper-rtl {\n direction: rtl;\n}\n.ant-table-rtl {\n direction: rtl;\n}\n.ant-table-wrapper-rtl .ant-table table {\n text-align: right;\n}\n.ant-table-wrapper-rtl .ant-table-thead > tr > th[colspan]:not([colspan='1']) {\n text-align: center;\n}\n.ant-table-wrapper-rtl .ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before {\n right: auto;\n left: 0;\n}\n.ant-table-wrapper-rtl .ant-table-thead > tr > th {\n text-align: right;\n}\n.ant-table-tbody > tr .ant-table-wrapper:only-child .ant-table.ant-table-rtl {\n margin: -16px 33px -16px -16px;\n}\n.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-left {\n justify-content: flex-end;\n}\n.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-right {\n justify-content: flex-start;\n}\n.ant-table-wrapper-rtl .ant-table-column-sorter {\n margin-right: 4px;\n margin-left: 0;\n}\n.ant-table-wrapper-rtl .ant-table-filter-column-title {\n padding: 16px 16px 16px 2.3em;\n}\n.ant-table-rtl .ant-table-thead tr th.ant-table-column-has-sorters .ant-table-filter-column-title {\n padding: 0 0 0 2.3em;\n}\n.ant-table-wrapper-rtl .ant-table-filter-trigger {\n margin: -4px 4px -4px -8px;\n}\n.ant-dropdown-rtl .ant-table-filter-dropdown .ant-checkbox-wrapper + span,\n.ant-dropdown-rtl .ant-table-filter-dropdown-submenu .ant-checkbox-wrapper + span,\n.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown .ant-checkbox-wrapper + span,\n.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper + span {\n padding-right: 8px;\n padding-left: 0;\n}\n.ant-table-wrapper-rtl .ant-table-selection {\n text-align: center;\n}\n.ant-table-wrapper-rtl .ant-table-row-indent {\n float: right;\n}\n.ant-table-wrapper-rtl .ant-table-row-expand-icon {\n float: right;\n}\n.ant-table-wrapper-rtl .ant-table-row-indent + .ant-table-row-expand-icon {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-table-wrapper-rtl .ant-table-row-expand-icon::after {\n transform: rotate(-90deg);\n}\n.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::before {\n transform: rotate(180deg);\n}\n.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::after {\n transform: rotate(0deg);\n}\n.ant-tabs-small > .ant-tabs-nav .ant-tabs-tab {\n padding: 8px 0;\n font-size: 14px;\n}\n.ant-tabs-large > .ant-tabs-nav .ant-tabs-tab {\n padding: 16px 0;\n font-size: 16px;\n}\n.ant-tabs-card.ant-tabs-small > .ant-tabs-nav .ant-tabs-tab {\n padding: 6px 16px;\n}\n.ant-tabs-card.ant-tabs-large > .ant-tabs-nav .ant-tabs-tab {\n padding: 7px 16px 6px;\n}\n.ant-tabs-rtl {\n direction: rtl;\n}\n.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab {\n margin: 0 0 0 32px;\n}\n.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab:last-of-type {\n margin-left: 0;\n}\n.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .anticon {\n margin-right: 0;\n margin-left: 12px;\n}\n.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove {\n margin-right: 8px;\n margin-left: -4px;\n}\n.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove .anticon {\n margin: 0;\n}\n.ant-tabs-rtl.ant-tabs-left > .ant-tabs-nav {\n order: 1;\n}\n.ant-tabs-rtl.ant-tabs-left > .ant-tabs-content-holder {\n order: 0;\n}\n.ant-tabs-rtl.ant-tabs-right > .ant-tabs-nav {\n order: 0;\n}\n.ant-tabs-rtl.ant-tabs-right > .ant-tabs-content-holder {\n order: 1;\n}\n.ant-tabs-rtl.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab,\n.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab,\n.ant-tabs-rtl.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab,\n.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab {\n margin-right: 2px;\n margin-left: 0;\n}\n.ant-tabs-rtl.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-add,\n.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-add,\n.ant-tabs-rtl.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-add,\n.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-add {\n margin-right: 2px;\n margin-left: 0;\n}\n.ant-tabs-dropdown-rtl {\n direction: rtl;\n}\n.ant-tabs-dropdown-rtl .ant-tabs-dropdown-menu-item {\n text-align: right;\n}\n.ant-tabs-top,\n.ant-tabs-bottom {\n flex-direction: column;\n}\n.ant-tabs-top > .ant-tabs-nav,\n.ant-tabs-bottom > .ant-tabs-nav,\n.ant-tabs-top > div > .ant-tabs-nav,\n.ant-tabs-bottom > div > .ant-tabs-nav {\n margin: 0 0 16px 0;\n}\n.ant-tabs-top > .ant-tabs-nav::before,\n.ant-tabs-bottom > .ant-tabs-nav::before,\n.ant-tabs-top > div > .ant-tabs-nav::before,\n.ant-tabs-bottom > div > .ant-tabs-nav::before {\n position: absolute;\n right: 0;\n left: 0;\n border-bottom: 1px solid #f0f0f0;\n content: '';\n}\n.ant-tabs-top > .ant-tabs-nav .ant-tabs-ink-bar,\n.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-ink-bar,\n.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-ink-bar,\n.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-ink-bar {\n height: 2px;\n}\n.ant-tabs-top > .ant-tabs-nav .ant-tabs-ink-bar-animated,\n.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-ink-bar-animated,\n.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-ink-bar-animated,\n.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-ink-bar-animated {\n transition: width 0.3s, left 0.3s, right 0.3s;\n}\n.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::after,\n.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::after,\n.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::after,\n.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::after {\n top: 0;\n bottom: 0;\n width: 30px;\n}\n.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::before {\n left: 0;\n box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.08);\n}\n.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::after,\n.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::after,\n.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::after,\n.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::after {\n right: 0;\n box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.08);\n}\n.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,\n.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,\n.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,\n.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before {\n opacity: 1;\n}\n.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,\n.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,\n.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,\n.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after {\n opacity: 1;\n}\n.ant-tabs-top > .ant-tabs-nav::before,\n.ant-tabs-top > div > .ant-tabs-nav::before {\n bottom: 0;\n}\n.ant-tabs-top > .ant-tabs-nav .ant-tabs-ink-bar,\n.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-ink-bar {\n bottom: 0;\n}\n.ant-tabs-bottom > .ant-tabs-nav,\n.ant-tabs-bottom > div > .ant-tabs-nav {\n order: 1;\n margin-top: 16px;\n margin-bottom: 0;\n}\n.ant-tabs-bottom > .ant-tabs-nav::before,\n.ant-tabs-bottom > div > .ant-tabs-nav::before {\n top: 0;\n}\n.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-ink-bar,\n.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-ink-bar {\n top: 0;\n}\n.ant-tabs-bottom > .ant-tabs-content-holder,\n.ant-tabs-bottom > div > .ant-tabs-content-holder {\n order: 0;\n}\n.ant-tabs-left > .ant-tabs-nav,\n.ant-tabs-right > .ant-tabs-nav,\n.ant-tabs-left > div > .ant-tabs-nav,\n.ant-tabs-right > div > .ant-tabs-nav {\n flex-direction: column;\n min-width: 50px;\n}\n.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab,\n.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab,\n.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab,\n.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab {\n padding: 8px 24px;\n text-align: center;\n}\n.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab,\n.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab,\n.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab,\n.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab {\n margin: 16px 0 0 0;\n}\n.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap,\n.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap,\n.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap,\n.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap {\n flex-direction: column;\n}\n.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::after,\n.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::after,\n.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::after,\n.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::after {\n right: 0;\n left: 0;\n height: 30px;\n}\n.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::before {\n top: 0;\n box-shadow: inset 0 10px 8px -8px rgba(0, 0, 0, 0.08);\n}\n.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::after,\n.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::after,\n.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::after,\n.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::after {\n bottom: 0;\n box-shadow: inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08);\n}\n.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,\n.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,\n.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,\n.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before {\n opacity: 1;\n}\n.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,\n.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,\n.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,\n.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after {\n opacity: 1;\n}\n.ant-tabs-left > .ant-tabs-nav .ant-tabs-ink-bar,\n.ant-tabs-right > .ant-tabs-nav .ant-tabs-ink-bar,\n.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-ink-bar,\n.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-ink-bar {\n width: 2px;\n}\n.ant-tabs-left > .ant-tabs-nav .ant-tabs-ink-bar-animated,\n.ant-tabs-right > .ant-tabs-nav .ant-tabs-ink-bar-animated,\n.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-ink-bar-animated,\n.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-ink-bar-animated {\n transition: height 0.3s, top 0.3s;\n}\n.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-list,\n.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-list,\n.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-list,\n.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-list,\n.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-operations,\n.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-operations,\n.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-operations,\n.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-operations {\n flex: 1 0 auto;\n flex-direction: column;\n}\n.ant-tabs-left > .ant-tabs-nav .ant-tabs-ink-bar,\n.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-ink-bar {\n right: 0;\n}\n.ant-tabs-left > .ant-tabs-content-holder,\n.ant-tabs-left > div > .ant-tabs-content-holder {\n margin-left: -1px;\n border-left: 1px solid #f0f0f0;\n}\n.ant-tabs-left > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane,\n.ant-tabs-left > div > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane {\n padding-left: 24px;\n}\n.ant-tabs-right > .ant-tabs-nav,\n.ant-tabs-right > div > .ant-tabs-nav {\n order: 1;\n}\n.ant-tabs-right > .ant-tabs-nav .ant-tabs-ink-bar,\n.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-ink-bar {\n left: 0;\n}\n.ant-tabs-right > .ant-tabs-content-holder,\n.ant-tabs-right > div > .ant-tabs-content-holder {\n order: 0;\n margin-right: -1px;\n border-right: 1px solid #f0f0f0;\n}\n.ant-tabs-right > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane,\n.ant-tabs-right > div > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane {\n padding-right: 24px;\n}\n.ant-tabs-dropdown {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: absolute;\n top: -9999px;\n left: -9999px;\n z-index: 1050;\n display: block;\n}\n.ant-tabs-dropdown-hidden {\n display: none;\n}\n.ant-tabs-dropdown-menu {\n max-height: 200px;\n margin: 0;\n padding: 4px 0;\n overflow-x: hidden;\n overflow-y: auto;\n text-align: left;\n list-style-type: none;\n background-color: #fff;\n background-clip: padding-box;\n border-radius: 4px;\n outline: none;\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n}\n.ant-tabs-dropdown-menu-item {\n display: flex;\n align-items: center;\n min-width: 120px;\n margin: 0;\n padding: 5px 12px;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.85);\n font-weight: normal;\n font-size: 14px;\n line-height: 22px;\n white-space: nowrap;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: all 0.3s;\n}\n.ant-tabs-dropdown-menu-item > span {\n flex: 1;\n white-space: nowrap;\n}\n.ant-tabs-dropdown-menu-item-remove {\n flex: none;\n margin-left: 12px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 12px;\n background: transparent;\n border: 0;\n cursor: pointer;\n}\n.ant-tabs-dropdown-menu-item-remove:hover {\n color: #5096f2;\n}\n.ant-tabs-dropdown-menu-item:hover {\n background: #f5f5f5;\n}\n.ant-tabs-dropdown-menu-item-disabled,\n.ant-tabs-dropdown-menu-item-disabled:hover {\n color: rgba(0, 0, 0, 0.25);\n background: transparent;\n cursor: not-allowed;\n}\n.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab,\n.ant-tabs-card > div > .ant-tabs-nav .ant-tabs-tab {\n margin: 0;\n padding: 8px 16px;\n background: #fafafa;\n border: 1px solid #f0f0f0;\n transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab-active,\n.ant-tabs-card > div > .ant-tabs-nav .ant-tabs-tab-active {\n color: #2673e5;\n background: #fff;\n}\n.ant-tabs-card > .ant-tabs-nav .ant-tabs-ink-bar,\n.ant-tabs-card > div > .ant-tabs-nav .ant-tabs-ink-bar {\n visibility: hidden;\n}\n.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab,\n.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab,\n.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab,\n.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab {\n margin-left: 2px;\n}\n.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab,\n.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab {\n border-radius: 4px 4px 0 0;\n}\n.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab-active,\n.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab-active {\n border-bottom-color: #fff;\n}\n.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab,\n.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab {\n border-radius: 0 0 4px 4px;\n}\n.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab-active,\n.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab-active {\n border-top-color: #fff;\n}\n.ant-tabs-card.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab,\n.ant-tabs-card.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab,\n.ant-tabs-card.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab,\n.ant-tabs-card.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab {\n margin-top: 2px;\n}\n.ant-tabs-card.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab,\n.ant-tabs-card.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab {\n border-radius: 4px 0 0 4px;\n}\n.ant-tabs-card.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab-active,\n.ant-tabs-card.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab-active {\n border-right-color: #fff;\n}\n.ant-tabs-card.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab,\n.ant-tabs-card.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab {\n border-radius: 0 4px 4px 0;\n}\n.ant-tabs-card.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab-active,\n.ant-tabs-card.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab-active {\n border-left-color: #fff;\n}\n.ant-tabs {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n display: flex;\n}\n.ant-tabs > .ant-tabs-nav,\n.ant-tabs > div > .ant-tabs-nav {\n position: relative;\n display: flex;\n flex: none;\n align-items: center;\n}\n.ant-tabs > .ant-tabs-nav .ant-tabs-nav-wrap,\n.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-wrap {\n position: relative;\n display: inline-block;\n display: flex;\n flex: auto;\n align-self: stretch;\n overflow: hidden;\n white-space: nowrap;\n transform: translate(0);\n}\n.ant-tabs > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-wrap::before,\n.ant-tabs > .ant-tabs-nav .ant-tabs-nav-wrap::after,\n.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-wrap::after {\n position: absolute;\n z-index: 1;\n opacity: 0;\n transition: opacity 0.3s;\n content: '';\n pointer-events: none;\n}\n.ant-tabs > .ant-tabs-nav .ant-tabs-nav-list,\n.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-list {\n position: relative;\n display: flex;\n transition: transform 0.3s;\n}\n.ant-tabs > .ant-tabs-nav .ant-tabs-nav-operations,\n.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-operations {\n display: flex;\n align-self: stretch;\n}\n.ant-tabs > .ant-tabs-nav .ant-tabs-nav-operations-hidden,\n.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-operations-hidden {\n position: absolute;\n visibility: hidden;\n pointer-events: none;\n}\n.ant-tabs > .ant-tabs-nav .ant-tabs-nav-more,\n.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-more {\n position: relative;\n padding: 8px 16px;\n background: transparent;\n border: 0;\n}\n.ant-tabs > .ant-tabs-nav .ant-tabs-nav-more::after,\n.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-more::after {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n height: 5px;\n transform: translateY(100%);\n content: '';\n}\n.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add,\n.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add {\n min-width: 40px;\n margin-left: 2px;\n padding: 0 8px;\n background: #fafafa;\n border: 1px solid #f0f0f0;\n border-radius: 4px 4px 0 0;\n outline: none;\n cursor: pointer;\n transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:hover,\n.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:hover {\n color: #5096f2;\n}\n.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:active,\n.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:active,\n.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:focus,\n.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:focus {\n color: #1755bf;\n}\n.ant-tabs-extra-content {\n flex: none;\n}\n.ant-tabs-centered > .ant-tabs-nav .ant-tabs-nav-wrap:not([class*='ant-tabs-nav-wrap-ping']),\n.ant-tabs-centered > div > .ant-tabs-nav .ant-tabs-nav-wrap:not([class*='ant-tabs-nav-wrap-ping']) {\n justify-content: center;\n}\n.ant-tabs-ink-bar {\n position: absolute;\n background: #2673e5;\n pointer-events: none;\n}\n.ant-tabs-tab {\n position: relative;\n display: inline-flex;\n align-items: center;\n padding: 12px 0;\n font-size: 14px;\n background: transparent;\n border: 0;\n outline: none;\n cursor: pointer;\n}\n.ant-tabs-tab-btn:focus,\n.ant-tabs-tab-remove:focus,\n.ant-tabs-tab-btn:active,\n.ant-tabs-tab-remove:active {\n color: #1755bf;\n}\n.ant-tabs-tab-btn {\n outline: none;\n transition: all 0.3s;\n}\n.ant-tabs-tab-remove {\n flex: none;\n margin-right: -4px;\n margin-left: 8px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 12px;\n background: transparent;\n border: none;\n outline: none;\n cursor: pointer;\n transition: all 0.3s;\n}\n.ant-tabs-tab-remove:hover {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-tabs-tab:hover {\n color: #5096f2;\n}\n.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {\n color: #2673e5;\n text-shadow: 0 0 0.25px currentcolor;\n}\n.ant-tabs-tab.ant-tabs-tab-disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:focus,\n.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:focus,\n.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:active,\n.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:active {\n color: rgba(0, 0, 0, 0.25);\n}\n.ant-tabs-tab .ant-tabs-tab-remove .anticon {\n margin: 0;\n}\n.ant-tabs-tab .anticon {\n margin-right: 12px;\n}\n.ant-tabs-tab + .ant-tabs-tab {\n margin: 0 0 0 32px;\n}\n.ant-tabs-content {\n position: relative;\n width: 100%;\n}\n.ant-tabs-content-holder {\n flex: auto;\n min-width: 0;\n min-height: 0;\n}\n.ant-tabs-tabpane {\n outline: none;\n}\n.ant-tabs-tabpane-hidden {\n display: none;\n}\n.ant-tabs-switch-appear,\n.ant-tabs-switch-enter {\n transition: none;\n}\n.ant-tabs-switch-appear-start,\n.ant-tabs-switch-enter-start {\n opacity: 0;\n}\n.ant-tabs-switch-appear-active,\n.ant-tabs-switch-enter-active {\n opacity: 1;\n transition: opacity 0.3s;\n}\n.ant-tabs-switch-leave {\n position: absolute;\n transition: none;\n inset: 0;\n}\n.ant-tabs-switch-leave-start {\n opacity: 1;\n}\n.ant-tabs-switch-leave-active {\n opacity: 0;\n transition: opacity 0.3s;\n}\n.ant-tag {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n display: inline-block;\n height: auto;\n margin-right: 8px;\n padding: 0 7px;\n font-size: 12px;\n line-height: 20px;\n white-space: nowrap;\n background: #fafafa;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n opacity: 1;\n transition: all 0.3s;\n}\n.ant-tag,\n.ant-tag a,\n.ant-tag a:hover {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-tag > a:first-child:last-child {\n display: inline-block;\n margin: 0 -8px;\n padding: 0 8px;\n}\n.ant-tag-close-icon {\n margin-left: 3px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 10px;\n cursor: pointer;\n transition: all 0.3s;\n}\n.ant-tag-close-icon:hover {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-tag-has-color {\n border-color: transparent;\n}\n.ant-tag-has-color,\n.ant-tag-has-color a,\n.ant-tag-has-color a:hover,\n.ant-tag-has-color .anticon-close,\n.ant-tag-has-color .anticon-close:hover {\n color: #fff;\n}\n.ant-tag-checkable {\n background-color: transparent;\n border-color: transparent;\n cursor: pointer;\n}\n.ant-tag-checkable:not(.ant-tag-checkable-checked):hover {\n color: #2673e5;\n}\n.ant-tag-checkable:active,\n.ant-tag-checkable-checked {\n color: #fff;\n}\n.ant-tag-checkable-checked {\n background-color: #2673e5;\n}\n.ant-tag-checkable:active {\n background-color: #1755bf;\n}\n.ant-tag-hidden {\n display: none;\n}\n.ant-tag-pink {\n color: #c41d7f;\n background: #fff0f6;\n border-color: #ffadd2;\n}\n.ant-tag-pink-inverse {\n color: #fff;\n background: #eb2f96;\n border-color: #eb2f96;\n}\n.ant-tag-magenta {\n color: #c41d7f;\n background: #fff0f6;\n border-color: #ffadd2;\n}\n.ant-tag-magenta-inverse {\n color: #fff;\n background: #eb2f96;\n border-color: #eb2f96;\n}\n.ant-tag-red {\n color: #cf1322;\n background: #fff1f0;\n border-color: #ffa39e;\n}\n.ant-tag-red-inverse {\n color: #fff;\n background: #f5222d;\n border-color: #f5222d;\n}\n.ant-tag-volcano {\n color: #d4380d;\n background: #fff2e8;\n border-color: #ffbb96;\n}\n.ant-tag-volcano-inverse {\n color: #fff;\n background: #fa541c;\n border-color: #fa541c;\n}\n.ant-tag-orange {\n color: #d46b08;\n background: #fff7e6;\n border-color: #ffd591;\n}\n.ant-tag-orange-inverse {\n color: #fff;\n background: #fa8c16;\n border-color: #fa8c16;\n}\n.ant-tag-yellow {\n color: #d4b106;\n background: #feffe6;\n border-color: #fffb8f;\n}\n.ant-tag-yellow-inverse {\n color: #fff;\n background: #fadb14;\n border-color: #fadb14;\n}\n.ant-tag-gold {\n color: #d48806;\n background: #fffbe6;\n border-color: #ffe58f;\n}\n.ant-tag-gold-inverse {\n color: #fff;\n background: #faad14;\n border-color: #faad14;\n}\n.ant-tag-cyan {\n color: #08979c;\n background: #e6fffb;\n border-color: #87e8de;\n}\n.ant-tag-cyan-inverse {\n color: #fff;\n background: #13c2c2;\n border-color: #13c2c2;\n}\n.ant-tag-lime {\n color: #7cb305;\n background: #fcffe6;\n border-color: #eaff8f;\n}\n.ant-tag-lime-inverse {\n color: #fff;\n background: #a0d911;\n border-color: #a0d911;\n}\n.ant-tag-green {\n color: #389e0d;\n background: #f6ffed;\n border-color: #b7eb8f;\n}\n.ant-tag-green-inverse {\n color: #fff;\n background: #52c41a;\n border-color: #52c41a;\n}\n.ant-tag-blue {\n color: #096dd9;\n background: #e6f7ff;\n border-color: #91d5ff;\n}\n.ant-tag-blue-inverse {\n color: #fff;\n background: #1890ff;\n border-color: #1890ff;\n}\n.ant-tag-geekblue {\n color: #1d39c4;\n background: #f0f5ff;\n border-color: #adc6ff;\n}\n.ant-tag-geekblue-inverse {\n color: #fff;\n background: #2f54eb;\n border-color: #2f54eb;\n}\n.ant-tag-purple {\n color: #531dab;\n background: #f9f0ff;\n border-color: #d3adf7;\n}\n.ant-tag-purple-inverse {\n color: #fff;\n background: #722ed1;\n border-color: #722ed1;\n}\n.ant-tag-success {\n color: #52c41a;\n background: #f6ffed;\n border-color: #b7eb8f;\n}\n.ant-tag-processing {\n color: #2673e5;\n background: #f0f8ff;\n border-color: #a6d2ff;\n}\n.ant-tag-error {\n color: #ff4d4f;\n background: #fff2f0;\n border-color: #ffccc7;\n}\n.ant-tag-warning {\n color: #faad14;\n background: #fffbe6;\n border-color: #ffe58f;\n}\n.ant-tag > .anticon + span,\n.ant-tag > span + .anticon {\n margin-left: 7px;\n}\n.ant-tag.ant-tag-rtl {\n margin-right: 0;\n margin-left: 8px;\n direction: rtl;\n text-align: right;\n}\n.ant-tag-rtl .ant-tag-close-icon {\n margin-right: 3px;\n margin-left: 0;\n}\n.ant-tag-rtl.ant-tag > .anticon + span,\n.ant-tag-rtl.ant-tag > span + .anticon {\n margin-right: 7px;\n margin-left: 0;\n}\n.ant-timeline {\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n font-feature-settings: 'tnum';\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.ant-timeline-item {\n position: relative;\n margin: 0;\n padding-bottom: 20px;\n font-size: 14px;\n list-style: none;\n}\n.ant-timeline-item-tail {\n position: absolute;\n top: 10px;\n left: 4px;\n height: calc(100% - 10px);\n border-left: 2px solid #f0f0f0;\n}\n.ant-timeline-item-pending .ant-timeline-item-head {\n font-size: 12px;\n background-color: transparent;\n}\n.ant-timeline-item-pending .ant-timeline-item-tail {\n display: none;\n}\n.ant-timeline-item-head {\n position: absolute;\n width: 10px;\n height: 10px;\n background-color: #fff;\n border: 2px solid transparent;\n border-radius: 100px;\n}\n.ant-timeline-item-head-blue {\n color: #2673e5;\n border-color: #2673e5;\n}\n.ant-timeline-item-head-red {\n color: #ff4d4f;\n border-color: #ff4d4f;\n}\n.ant-timeline-item-head-green {\n color: #52c41a;\n border-color: #52c41a;\n}\n.ant-timeline-item-head-gray {\n color: rgba(0, 0, 0, 0.25);\n border-color: rgba(0, 0, 0, 0.25);\n}\n.ant-timeline-item-head-custom {\n position: absolute;\n top: 5.5px;\n left: 5px;\n width: auto;\n height: auto;\n margin-top: 0;\n padding: 3px 1px;\n line-height: 1;\n text-align: center;\n border: 0;\n border-radius: 0;\n transform: translate(-50%, -50%);\n}\n.ant-timeline-item-content {\n position: relative;\n top: -7.001px;\n margin: 0 0 0 26px;\n word-break: break-word;\n}\n.ant-timeline-item-last > .ant-timeline-item-tail {\n display: none;\n}\n.ant-timeline-item-last > .ant-timeline-item-content {\n min-height: 48px;\n}\n.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail,\n.ant-timeline.ant-timeline-right .ant-timeline-item-tail,\n.ant-timeline.ant-timeline-label .ant-timeline-item-tail,\n.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,\n.ant-timeline.ant-timeline-right .ant-timeline-item-head,\n.ant-timeline.ant-timeline-label .ant-timeline-item-head,\n.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,\n.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom,\n.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom {\n left: 50%;\n}\n.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,\n.ant-timeline.ant-timeline-right .ant-timeline-item-head,\n.ant-timeline.ant-timeline-label .ant-timeline-item-head {\n margin-left: -4px;\n}\n.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,\n.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom,\n.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom {\n margin-left: 1px;\n}\n.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content,\n.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content,\n.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content {\n left: calc(50% - 4px);\n width: calc(50% - 14px);\n text-align: left;\n}\n.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content,\n.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content,\n.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content {\n width: calc(50% - 12px);\n margin: 0;\n text-align: right;\n}\n.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail,\n.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head,\n.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom {\n left: calc(100% - 4px - 2px);\n}\n.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content {\n width: calc(100% - 18px);\n}\n.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail {\n display: block;\n height: calc(100% - 14px);\n border-left: 2px dotted #f0f0f0;\n}\n.ant-timeline.ant-timeline-reverse .ant-timeline-item-last .ant-timeline-item-tail {\n display: none;\n}\n.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail {\n top: 15px;\n display: block;\n height: calc(100% - 15px);\n border-left: 2px dotted #f0f0f0;\n}\n.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-content {\n min-height: 48px;\n}\n.ant-timeline.ant-timeline-label .ant-timeline-item-label {\n position: absolute;\n top: -7.001px;\n width: calc(50% - 12px);\n text-align: right;\n}\n.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label {\n left: calc(50% + 14px);\n width: calc(50% - 14px);\n text-align: left;\n}\n.ant-timeline-rtl {\n direction: rtl;\n}\n.ant-timeline-rtl .ant-timeline-item-tail {\n right: 4px;\n left: auto;\n border-right: 2px solid #f0f0f0;\n border-left: none;\n}\n.ant-timeline-rtl .ant-timeline-item-head-custom {\n right: 5px;\n left: auto;\n transform: translate(50%, -50%);\n}\n.ant-timeline-rtl .ant-timeline-item-content {\n margin: 0 18px 0 0;\n}\n.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail,\n.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-tail,\n.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-tail,\n.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,\n.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head,\n.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head,\n.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,\n.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom,\n.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom {\n right: 50%;\n left: auto;\n}\n.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,\n.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head,\n.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head {\n margin-right: -4px;\n margin-left: 0;\n}\n.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,\n.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom,\n.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom {\n margin-right: 1px;\n margin-left: 0;\n}\n.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content,\n.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content,\n.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content {\n right: calc(50% - 4px);\n left: auto;\n text-align: right;\n}\n.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content,\n.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content,\n.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content {\n text-align: left;\n}\n.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail,\n.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head,\n.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom {\n right: 0;\n left: auto;\n}\n.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content {\n width: 100%;\n margin-right: 18px;\n text-align: right;\n}\n.ant-timeline-rtl.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail {\n border-right: 2px dotted #f0f0f0;\n border-left: none;\n}\n.ant-timeline-rtl.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail {\n border-right: 2px dotted #f0f0f0;\n border-left: none;\n}\n.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-label {\n text-align: left;\n}\n.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label {\n right: calc(50% + 14px);\n text-align: right;\n}\n.ant-tooltip {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: absolute;\n z-index: 1070;\n display: block;\n width: max-content;\n width: intrinsic;\n max-width: 250px;\n visibility: visible;\n}\n.ant-tooltip-content {\n position: relative;\n}\n.ant-tooltip-hidden {\n display: none;\n}\n.ant-tooltip-placement-top,\n.ant-tooltip-placement-topLeft,\n.ant-tooltip-placement-topRight {\n padding-bottom: 14.3137085px;\n}\n.ant-tooltip-placement-right,\n.ant-tooltip-placement-rightTop,\n.ant-tooltip-placement-rightBottom {\n padding-left: 14.3137085px;\n}\n.ant-tooltip-placement-bottom,\n.ant-tooltip-placement-bottomLeft,\n.ant-tooltip-placement-bottomRight {\n padding-top: 14.3137085px;\n}\n.ant-tooltip-placement-left,\n.ant-tooltip-placement-leftTop,\n.ant-tooltip-placement-leftBottom {\n padding-right: 14.3137085px;\n}\n.ant-tooltip-inner {\n min-width: 30px;\n min-height: 32px;\n padding: 6px 8px;\n color: #fff;\n text-align: left;\n text-decoration: none;\n word-wrap: break-word;\n background-color: rgba(0, 0, 0, 0.75);\n border-radius: 4px;\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n}\n.ant-tooltip-arrow {\n position: absolute;\n z-index: 2;\n display: block;\n width: 22px;\n height: 22px;\n overflow: hidden;\n background: transparent;\n pointer-events: none;\n}\n.ant-tooltip-arrow-content {\n --antd-arrow-background-color: linear-gradient(to right bottom, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.75));\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n width: 11.3137085px;\n height: 11.3137085px;\n margin: auto;\n content: '';\n pointer-events: auto;\n border-radius: 0 0 2px;\n pointer-events: none;\n}\n.ant-tooltip-arrow-content::before {\n position: absolute;\n top: -11.3137085px;\n left: -11.3137085px;\n width: 33.9411255px;\n height: 33.9411255px;\n background: var(--antd-arrow-background-color);\n background-repeat: no-repeat;\n background-position: -10px -10px;\n content: '';\n clip-path: inset(33% 33%);\n clip-path: path('M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z');\n}\n.ant-tooltip-placement-top .ant-tooltip-arrow,\n.ant-tooltip-placement-topLeft .ant-tooltip-arrow,\n.ant-tooltip-placement-topRight .ant-tooltip-arrow {\n bottom: 0;\n transform: translateY(100%);\n}\n.ant-tooltip-placement-top .ant-tooltip-arrow-content,\n.ant-tooltip-placement-topLeft .ant-tooltip-arrow-content,\n.ant-tooltip-placement-topRight .ant-tooltip-arrow-content {\n box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);\n transform: translateY(-11px) rotate(45deg);\n}\n.ant-tooltip-placement-top .ant-tooltip-arrow {\n left: 50%;\n transform: translateY(100%) translateX(-50%);\n}\n.ant-tooltip-placement-topLeft .ant-tooltip-arrow {\n left: 13px;\n}\n.ant-tooltip-placement-topRight .ant-tooltip-arrow {\n right: 13px;\n}\n.ant-tooltip-placement-right .ant-tooltip-arrow,\n.ant-tooltip-placement-rightTop .ant-tooltip-arrow,\n.ant-tooltip-placement-rightBottom .ant-tooltip-arrow {\n left: 0;\n transform: translateX(-100%);\n}\n.ant-tooltip-placement-right .ant-tooltip-arrow-content,\n.ant-tooltip-placement-rightTop .ant-tooltip-arrow-content,\n.ant-tooltip-placement-rightBottom .ant-tooltip-arrow-content {\n box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07);\n transform: translateX(11px) rotate(135deg);\n}\n.ant-tooltip-placement-right .ant-tooltip-arrow {\n top: 50%;\n transform: translateX(-100%) translateY(-50%);\n}\n.ant-tooltip-placement-rightTop .ant-tooltip-arrow {\n top: 5px;\n}\n.ant-tooltip-placement-rightBottom .ant-tooltip-arrow {\n bottom: 5px;\n}\n.ant-tooltip-placement-left .ant-tooltip-arrow,\n.ant-tooltip-placement-leftTop .ant-tooltip-arrow,\n.ant-tooltip-placement-leftBottom .ant-tooltip-arrow {\n right: 0;\n transform: translateX(100%);\n}\n.ant-tooltip-placement-left .ant-tooltip-arrow-content,\n.ant-tooltip-placement-leftTop .ant-tooltip-arrow-content,\n.ant-tooltip-placement-leftBottom .ant-tooltip-arrow-content {\n box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07);\n transform: translateX(-11px) rotate(315deg);\n}\n.ant-tooltip-placement-left .ant-tooltip-arrow {\n top: 50%;\n transform: translateX(100%) translateY(-50%);\n}\n.ant-tooltip-placement-leftTop .ant-tooltip-arrow {\n top: 5px;\n}\n.ant-tooltip-placement-leftBottom .ant-tooltip-arrow {\n bottom: 5px;\n}\n.ant-tooltip-placement-bottom .ant-tooltip-arrow,\n.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow,\n.ant-tooltip-placement-bottomRight .ant-tooltip-arrow {\n top: 0;\n transform: translateY(-100%);\n}\n.ant-tooltip-placement-bottom .ant-tooltip-arrow-content,\n.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow-content,\n.ant-tooltip-placement-bottomRight .ant-tooltip-arrow-content {\n box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.07);\n transform: translateY(11px) rotate(225deg);\n}\n.ant-tooltip-placement-bottom .ant-tooltip-arrow {\n left: 50%;\n transform: translateY(-100%) translateX(-50%);\n}\n.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow {\n left: 13px;\n}\n.ant-tooltip-placement-bottomRight .ant-tooltip-arrow {\n right: 13px;\n}\n.ant-tooltip-pink .ant-tooltip-inner {\n background-color: #eb2f96;\n}\n.ant-tooltip-pink .ant-tooltip-arrow-content::before {\n background: #eb2f96;\n}\n.ant-tooltip-magenta .ant-tooltip-inner {\n background-color: #eb2f96;\n}\n.ant-tooltip-magenta .ant-tooltip-arrow-content::before {\n background: #eb2f96;\n}\n.ant-tooltip-red .ant-tooltip-inner {\n background-color: #f5222d;\n}\n.ant-tooltip-red .ant-tooltip-arrow-content::before {\n background: #f5222d;\n}\n.ant-tooltip-volcano .ant-tooltip-inner {\n background-color: #fa541c;\n}\n.ant-tooltip-volcano .ant-tooltip-arrow-content::before {\n background: #fa541c;\n}\n.ant-tooltip-orange .ant-tooltip-inner {\n background-color: #fa8c16;\n}\n.ant-tooltip-orange .ant-tooltip-arrow-content::before {\n background: #fa8c16;\n}\n.ant-tooltip-yellow .ant-tooltip-inner {\n background-color: #fadb14;\n}\n.ant-tooltip-yellow .ant-tooltip-arrow-content::before {\n background: #fadb14;\n}\n.ant-tooltip-gold .ant-tooltip-inner {\n background-color: #faad14;\n}\n.ant-tooltip-gold .ant-tooltip-arrow-content::before {\n background: #faad14;\n}\n.ant-tooltip-cyan .ant-tooltip-inner {\n background-color: #13c2c2;\n}\n.ant-tooltip-cyan .ant-tooltip-arrow-content::before {\n background: #13c2c2;\n}\n.ant-tooltip-lime .ant-tooltip-inner {\n background-color: #a0d911;\n}\n.ant-tooltip-lime .ant-tooltip-arrow-content::before {\n background: #a0d911;\n}\n.ant-tooltip-green .ant-tooltip-inner {\n background-color: #52c41a;\n}\n.ant-tooltip-green .ant-tooltip-arrow-content::before {\n background: #52c41a;\n}\n.ant-tooltip-blue .ant-tooltip-inner {\n background-color: #1890ff;\n}\n.ant-tooltip-blue .ant-tooltip-arrow-content::before {\n background: #1890ff;\n}\n.ant-tooltip-geekblue .ant-tooltip-inner {\n background-color: #2f54eb;\n}\n.ant-tooltip-geekblue .ant-tooltip-arrow-content::before {\n background: #2f54eb;\n}\n.ant-tooltip-purple .ant-tooltip-inner {\n background-color: #722ed1;\n}\n.ant-tooltip-purple .ant-tooltip-arrow-content::before {\n background: #722ed1;\n}\n.ant-tooltip-rtl {\n direction: rtl;\n}\n.ant-tooltip-rtl .ant-tooltip-inner {\n text-align: right;\n}\n.ant-transfer-customize-list .ant-transfer-list {\n flex: 1 1 50%;\n width: auto;\n height: auto;\n min-height: 200px;\n}\n.ant-transfer-customize-list .ant-table-wrapper .ant-table-small {\n border: 0;\n border-radius: 0;\n}\n.ant-transfer-customize-list .ant-table-wrapper .ant-table-small .ant-table-selection-column {\n width: 40px;\n min-width: 40px;\n}\n.ant-transfer-customize-list .ant-table-wrapper .ant-table-small > .ant-table-content > .ant-table-body > table > .ant-table-thead > tr > th {\n background: #fafafa;\n}\n.ant-transfer-customize-list .ant-table-wrapper .ant-table-small > .ant-table-content .ant-table-row:last-child td {\n border-bottom: 1px solid #f0f0f0;\n}\n.ant-transfer-customize-list .ant-table-wrapper .ant-table-small .ant-table-body {\n margin: 0;\n}\n.ant-transfer-customize-list .ant-table-wrapper .ant-table-pagination.ant-pagination {\n margin: 16px 0 4px;\n}\n.ant-transfer-customize-list .ant-input[disabled] {\n background-color: transparent;\n}\n.ant-transfer-status-error .ant-transfer-list {\n border-color: #ff4d4f;\n}\n.ant-transfer-status-error .ant-transfer-list-search:not([disabled]) {\n border-color: #d9d9d9;\n}\n.ant-transfer-status-error .ant-transfer-list-search:not([disabled]):hover {\n border-color: #5096f2;\n border-right-width: 1px;\n}\n.ant-input-rtl .ant-transfer-status-error .ant-transfer-list-search:not([disabled]):hover {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-transfer-status-error .ant-transfer-list-search:not([disabled]):focus {\n border-color: #5096f2;\n box-shadow: 0 0 0 2px rgba(38, 115, 229, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-rtl .ant-transfer-status-error .ant-transfer-list-search:not([disabled]):focus {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-transfer-status-warning .ant-transfer-list {\n border-color: #faad14;\n}\n.ant-transfer-status-warning .ant-transfer-list-search:not([disabled]) {\n border-color: #d9d9d9;\n}\n.ant-transfer-status-warning .ant-transfer-list-search:not([disabled]):hover {\n border-color: #5096f2;\n border-right-width: 1px;\n}\n.ant-input-rtl .ant-transfer-status-warning .ant-transfer-list-search:not([disabled]):hover {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-transfer-status-warning .ant-transfer-list-search:not([disabled]):focus {\n border-color: #5096f2;\n box-shadow: 0 0 0 2px rgba(38, 115, 229, 0.2);\n border-right-width: 1px;\n outline: 0;\n}\n.ant-input-rtl .ant-transfer-status-warning .ant-transfer-list-search:not([disabled]):focus {\n border-right-width: 0;\n border-left-width: 1px !important;\n}\n.ant-transfer {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n display: flex;\n align-items: stretch;\n}\n.ant-transfer-disabled .ant-transfer-list {\n background: #f5f5f5;\n}\n.ant-transfer-list {\n display: flex;\n flex-direction: column;\n width: 180px;\n height: 200px;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n}\n.ant-transfer-list-with-pagination {\n width: 250px;\n height: auto;\n}\n.ant-transfer-list-search .anticon-search {\n color: rgba(0, 0, 0, 0.25);\n}\n.ant-transfer-list-header {\n display: flex;\n flex: none;\n align-items: center;\n height: 40px;\n padding: 8px 12px 9px;\n color: rgba(0, 0, 0, 0.85);\n background: #fff;\n border-bottom: 1px solid #f0f0f0;\n border-radius: 4px 4px 0 0;\n}\n.ant-transfer-list-header > *:not(:last-child) {\n margin-right: 4px;\n}\n.ant-transfer-list-header > * {\n flex: none;\n}\n.ant-transfer-list-header-title {\n flex: auto;\n overflow: hidden;\n white-space: nowrap;\n text-align: right;\n text-overflow: ellipsis;\n}\n.ant-transfer-list-header-dropdown {\n font-size: 10px;\n transform: translateY(10%);\n cursor: pointer;\n}\n.ant-transfer-list-header-dropdown[disabled] {\n cursor: not-allowed;\n}\n.ant-transfer-list-body {\n display: flex;\n flex: auto;\n flex-direction: column;\n overflow: hidden;\n font-size: 14px;\n}\n.ant-transfer-list-body-search-wrapper {\n position: relative;\n flex: none;\n padding: 12px;\n}\n.ant-transfer-list-content {\n flex: auto;\n margin: 0;\n padding: 0;\n overflow: auto;\n list-style: none;\n}\n.ant-transfer-list-content-item {\n display: flex;\n align-items: center;\n min-height: 32px;\n padding: 6px 12px;\n line-height: 20px;\n transition: all 0.3s;\n}\n.ant-transfer-list-content-item > *:not(:last-child) {\n margin-right: 8px;\n}\n.ant-transfer-list-content-item > * {\n flex: none;\n}\n.ant-transfer-list-content-item-text {\n flex: auto;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.ant-transfer-list-content-item-remove {\n position: relative;\n color: #d9d9d9;\n cursor: pointer;\n transition: all 0.3s;\n}\n.ant-transfer-list-content-item-remove:hover {\n color: #5096f2;\n}\n.ant-transfer-list-content-item-remove::after {\n position: absolute;\n top: -6px;\n right: -50%;\n bottom: -6px;\n left: -50%;\n content: '';\n}\n.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover {\n background-color: #f5f5f5;\n cursor: pointer;\n}\n.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled).ant-transfer-list-content-item-checked:hover {\n background-color: #e6f3ff;\n}\n.ant-transfer-list-content-show-remove .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover {\n background: transparent;\n cursor: default;\n}\n.ant-transfer-list-content-item-checked {\n background-color: #f0f8ff;\n}\n.ant-transfer-list-content-item-disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-transfer-list-pagination {\n padding: 8px 0;\n text-align: right;\n border-top: 1px solid #f0f0f0;\n}\n.ant-transfer-list-body-not-found {\n flex: none;\n width: 100%;\n margin: auto 0;\n color: rgba(0, 0, 0, 0.25);\n text-align: center;\n}\n.ant-transfer-list-footer {\n border-top: 1px solid #f0f0f0;\n}\n.ant-transfer-operation {\n display: flex;\n flex: none;\n flex-direction: column;\n align-self: center;\n margin: 0 8px;\n vertical-align: middle;\n}\n.ant-transfer-operation .ant-btn {\n display: block;\n}\n.ant-transfer-operation .ant-btn:first-child {\n margin-bottom: 4px;\n}\n.ant-transfer-operation .ant-btn .anticon {\n font-size: 12px;\n}\n.ant-transfer .ant-empty-image {\n max-height: -2px;\n}\n.ant-transfer-rtl {\n direction: rtl;\n}\n.ant-transfer-rtl .ant-transfer-list-search {\n padding-right: 8px;\n padding-left: 24px;\n}\n.ant-transfer-rtl .ant-transfer-list-search-action {\n right: auto;\n left: 12px;\n}\n.ant-transfer-rtl .ant-transfer-list-header > *:not(:last-child) {\n margin-right: 0;\n margin-left: 4px;\n}\n.ant-transfer-rtl .ant-transfer-list-header {\n right: 0;\n left: auto;\n}\n.ant-transfer-rtl .ant-transfer-list-header-title {\n text-align: left;\n}\n.ant-transfer-rtl .ant-transfer-list-content-item > *:not(:last-child) {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-transfer-rtl .ant-transfer-list-pagination {\n text-align: left;\n}\n.ant-transfer-rtl .ant-transfer-list-footer {\n right: 0;\n left: auto;\n}\n@keyframes ant-tree-node-fx-do-not-use {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n.ant-tree.ant-tree-directory .ant-tree-treenode {\n position: relative;\n}\n.ant-tree.ant-tree-directory .ant-tree-treenode::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 4px;\n left: 0;\n transition: background-color 0.3s;\n content: '';\n pointer-events: none;\n}\n.ant-tree.ant-tree-directory .ant-tree-treenode:hover::before {\n background: #f5f5f5;\n}\n.ant-tree.ant-tree-directory .ant-tree-treenode > * {\n z-index: 1;\n}\n.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-switcher {\n transition: color 0.3s;\n}\n.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper {\n border-radius: 0;\n user-select: none;\n}\n.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper:hover {\n background: transparent;\n}\n.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper.ant-tree-node-selected {\n color: #fff;\n background: transparent;\n}\n.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before,\n.ant-tree.ant-tree-directory .ant-tree-treenode-selected::before {\n background: #2673e5;\n}\n.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher {\n color: #fff;\n}\n.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-node-content-wrapper {\n color: #fff;\n background: transparent;\n}\n.ant-tree-checkbox {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n top: 0.2em;\n line-height: 1;\n white-space: nowrap;\n outline: none;\n cursor: pointer;\n}\n.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner,\n.ant-tree-checkbox:hover .ant-tree-checkbox-inner,\n.ant-tree-checkbox-input:focus + .ant-tree-checkbox-inner {\n border-color: #2673e5;\n}\n.ant-tree-checkbox-checked::after {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 1px solid #2673e5;\n border-radius: 2px;\n visibility: hidden;\n animation: antCheckboxEffect 0.36s ease-in-out;\n animation-fill-mode: backwards;\n content: '';\n}\n.ant-tree-checkbox:hover::after,\n.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox::after {\n visibility: visible;\n}\n.ant-tree-checkbox-inner {\n position: relative;\n top: 0;\n left: 0;\n display: block;\n width: 16px;\n height: 16px;\n direction: ltr;\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-radius: 2px;\n border-collapse: separate;\n transition: all 0.3s;\n}\n.ant-tree-checkbox-inner::after {\n position: absolute;\n top: 50%;\n left: 21.5%;\n display: table;\n width: 5.71428571px;\n height: 9.14285714px;\n border: 2px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(0) translate(-50%, -50%);\n opacity: 0;\n transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s;\n content: ' ';\n}\n.ant-tree-checkbox-input {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n cursor: pointer;\n opacity: 0;\n}\n.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after {\n position: absolute;\n display: table;\n border: 2px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(1) translate(-50%, -50%);\n opacity: 1;\n transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;\n content: ' ';\n}\n.ant-tree-checkbox-checked .ant-tree-checkbox-inner {\n background-color: #2673e5;\n border-color: #2673e5;\n}\n.ant-tree-checkbox-disabled {\n cursor: not-allowed;\n}\n.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after {\n border-color: rgba(0, 0, 0, 0.25);\n animation-name: none;\n}\n.ant-tree-checkbox-disabled .ant-tree-checkbox-input {\n cursor: not-allowed;\n pointer-events: none;\n}\n.ant-tree-checkbox-disabled .ant-tree-checkbox-inner {\n background-color: #f5f5f5;\n border-color: #d9d9d9 !important;\n}\n.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after {\n border-color: #f5f5f5;\n border-collapse: separate;\n animation-name: none;\n}\n.ant-tree-checkbox-disabled + span {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-tree-checkbox-disabled:hover::after,\n.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-disabled::after {\n visibility: hidden;\n}\n.ant-tree-checkbox-wrapper {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n display: inline-flex;\n align-items: baseline;\n line-height: unset;\n cursor: pointer;\n}\n.ant-tree-checkbox-wrapper::after {\n display: inline-block;\n width: 0;\n overflow: hidden;\n content: '\\a0';\n}\n.ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-disabled {\n cursor: not-allowed;\n}\n.ant-tree-checkbox-wrapper + .ant-tree-checkbox-wrapper {\n margin-left: 8px;\n}\n.ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-in-form-item input[type='checkbox'] {\n width: 14px;\n height: 14px;\n}\n.ant-tree-checkbox + span {\n padding-right: 8px;\n padding-left: 8px;\n}\n.ant-tree-checkbox-group {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n display: inline-block;\n}\n.ant-tree-checkbox-group-item {\n margin-right: 8px;\n}\n.ant-tree-checkbox-group-item:last-child {\n margin-right: 0;\n}\n.ant-tree-checkbox-group-item + .ant-tree-checkbox-group-item {\n margin-left: 0;\n}\n.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner {\n background-color: #fff;\n border-color: #d9d9d9;\n}\n.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after {\n top: 50%;\n left: 50%;\n width: 8px;\n height: 8px;\n background-color: #2673e5;\n border: 0;\n transform: translate(-50%, -50%) scale(1);\n opacity: 1;\n content: ' ';\n}\n.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after {\n background-color: rgba(0, 0, 0, 0.25);\n border-color: rgba(0, 0, 0, 0.25);\n}\n.ant-tree-checkbox-rtl {\n direction: rtl;\n}\n.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item:last-child {\n margin-left: 0 !important;\n}\n.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item + .ant-tree-checkbox-group-item {\n margin-left: 8px;\n}\n.ant-tree {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n background: #fff;\n border-radius: 4px;\n transition: background-color 0.3s;\n}\n.ant-tree-focused:not(:hover):not(.ant-tree-active-focused) {\n background: #f0f8ff;\n}\n.ant-tree-list-holder-inner {\n align-items: flex-start;\n}\n.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner {\n align-items: stretch;\n}\n.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper {\n flex: auto;\n}\n.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-treenode.dragging {\n position: relative;\n}\n.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-treenode.dragging::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 4px;\n left: 0;\n border: 1px solid #2673e5;\n opacity: 0;\n animation: ant-tree-node-fx-do-not-use 0.3s;\n animation-play-state: running;\n animation-fill-mode: forwards;\n content: '';\n pointer-events: none;\n}\n.ant-tree .ant-tree-treenode {\n display: flex;\n align-items: flex-start;\n padding: 0 0 4px 0;\n outline: none;\n}\n.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover {\n background: transparent;\n}\n.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper {\n background: #f5f5f5;\n}\n.ant-tree .ant-tree-treenode:not(.ant-tree .ant-tree-treenode-disabled).filter-node .ant-tree-title {\n color: inherit;\n font-weight: 500;\n}\n.ant-tree .ant-tree-treenode-draggable .ant-tree-draggable-icon {\n width: 24px;\n line-height: 24px;\n text-align: center;\n visibility: visible;\n opacity: 0.2;\n transition: opacity 0.3s;\n}\n.ant-tree-treenode:hover .ant-tree .ant-tree-treenode-draggable .ant-tree-draggable-icon {\n opacity: 0.45;\n}\n.ant-tree .ant-tree-treenode-draggable.ant-tree-treenode-disabled .ant-tree-draggable-icon {\n visibility: hidden;\n}\n.ant-tree-indent {\n align-self: stretch;\n white-space: nowrap;\n user-select: none;\n}\n.ant-tree-indent-unit {\n display: inline-block;\n width: 24px;\n}\n.ant-tree-draggable-icon {\n visibility: hidden;\n}\n.ant-tree-switcher {\n position: relative;\n flex: none;\n align-self: stretch;\n width: 24px;\n margin: 0;\n line-height: 24px;\n text-align: center;\n cursor: pointer;\n user-select: none;\n}\n.ant-tree-switcher .ant-tree-switcher-icon,\n.ant-tree-switcher .ant-select-tree-switcher-icon {\n display: inline-block;\n font-size: 10px;\n vertical-align: baseline;\n}\n.ant-tree-switcher .ant-tree-switcher-icon svg,\n.ant-tree-switcher .ant-select-tree-switcher-icon svg {\n transition: transform 0.3s;\n}\n.ant-tree-switcher-noop {\n cursor: default;\n}\n.ant-tree-switcher_close .ant-tree-switcher-icon svg {\n transform: rotate(-90deg);\n}\n.ant-tree-switcher-loading-icon {\n color: #2673e5;\n}\n.ant-tree-switcher-leaf-line {\n position: relative;\n z-index: 1;\n display: inline-block;\n width: 100%;\n height: 100%;\n}\n.ant-tree-switcher-leaf-line::before {\n position: absolute;\n top: 0;\n right: 12px;\n bottom: -4px;\n margin-left: -1px;\n border-right: 1px solid #d9d9d9;\n content: ' ';\n}\n.ant-tree-switcher-leaf-line::after {\n position: absolute;\n width: 10px;\n height: 14px;\n border-bottom: 1px solid #d9d9d9;\n content: ' ';\n}\n.ant-tree-checkbox {\n top: initial;\n margin: 4px 8px 0 0;\n}\n.ant-tree .ant-tree-node-content-wrapper {\n position: relative;\n z-index: auto;\n min-height: 24px;\n margin: 0;\n padding: 0 4px;\n color: inherit;\n line-height: 24px;\n background: transparent;\n border-radius: 4px;\n cursor: pointer;\n transition: all 0.3s, border 0s, line-height 0s, box-shadow 0s;\n}\n.ant-tree .ant-tree-node-content-wrapper:hover {\n background-color: #f5f5f5;\n}\n.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected {\n background-color: #cfe8ff;\n}\n.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle {\n display: inline-block;\n width: 24px;\n height: 24px;\n line-height: 24px;\n text-align: center;\n vertical-align: top;\n}\n.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle:empty {\n display: none;\n}\n.ant-tree-unselectable .ant-tree-node-content-wrapper:hover {\n background-color: transparent;\n}\n.ant-tree-node-content-wrapper {\n line-height: 24px;\n user-select: none;\n}\n.ant-tree-node-content-wrapper .ant-tree-drop-indicator {\n position: absolute;\n z-index: 1;\n height: 2px;\n background-color: #2673e5;\n border-radius: 1px;\n pointer-events: none;\n}\n.ant-tree-node-content-wrapper .ant-tree-drop-indicator::after {\n position: absolute;\n top: -3px;\n left: -6px;\n width: 8px;\n height: 8px;\n background-color: transparent;\n border: 2px solid #2673e5;\n border-radius: 50%;\n content: '';\n}\n.ant-tree .ant-tree-treenode.drop-container > [draggable] {\n box-shadow: 0 0 0 2px #2673e5;\n}\n.ant-tree-show-line .ant-tree-indent-unit {\n position: relative;\n height: 100%;\n}\n.ant-tree-show-line .ant-tree-indent-unit::before {\n position: absolute;\n top: 0;\n right: 12px;\n bottom: -4px;\n border-right: 1px solid #d9d9d9;\n content: '';\n}\n.ant-tree-show-line .ant-tree-indent-unit-end::before {\n display: none;\n}\n.ant-tree-show-line .ant-tree-switcher {\n background: #fff;\n}\n.ant-tree-show-line .ant-tree-switcher-line-icon {\n vertical-align: -0.15em;\n}\n.ant-tree .ant-tree-treenode-leaf-last .ant-tree-switcher-leaf-line::before {\n top: auto !important;\n bottom: auto !important;\n height: 14px !important;\n}\n.ant-tree-rtl {\n direction: rtl;\n}\n.ant-tree-rtl .ant-tree-node-content-wrapper[draggable='true'] .ant-tree-drop-indicator::after {\n right: -6px;\n left: unset;\n}\n.ant-tree .ant-tree-treenode-rtl {\n direction: rtl;\n}\n.ant-tree-rtl .ant-tree-switcher_close .ant-tree-switcher-icon svg {\n transform: rotate(90deg);\n}\n.ant-tree-rtl.ant-tree-show-line .ant-tree-indent-unit::before {\n right: auto;\n left: -13px;\n border-right: none;\n border-left: 1px solid #d9d9d9;\n}\n.ant-tree-rtl .ant-tree-checkbox {\n margin: 4px 0 0 8px;\n}\n.ant-tree-select-dropdown-rtl .ant-select-tree-checkbox {\n margin: 4px 0 0 8px;\n}\n.ant-select-tree-checkbox {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n position: relative;\n top: 0.2em;\n line-height: 1;\n white-space: nowrap;\n outline: none;\n cursor: pointer;\n}\n.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner,\n.ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner,\n.ant-select-tree-checkbox-input:focus + .ant-select-tree-checkbox-inner {\n border-color: #2673e5;\n}\n.ant-select-tree-checkbox-checked::after {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 1px solid #2673e5;\n border-radius: 2px;\n visibility: hidden;\n animation: antCheckboxEffect 0.36s ease-in-out;\n animation-fill-mode: backwards;\n content: '';\n}\n.ant-select-tree-checkbox:hover::after,\n.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox::after {\n visibility: visible;\n}\n.ant-select-tree-checkbox-inner {\n position: relative;\n top: 0;\n left: 0;\n display: block;\n width: 16px;\n height: 16px;\n direction: ltr;\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-radius: 2px;\n border-collapse: separate;\n transition: all 0.3s;\n}\n.ant-select-tree-checkbox-inner::after {\n position: absolute;\n top: 50%;\n left: 21.5%;\n display: table;\n width: 5.71428571px;\n height: 9.14285714px;\n border: 2px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(0) translate(-50%, -50%);\n opacity: 0;\n transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s;\n content: ' ';\n}\n.ant-select-tree-checkbox-input {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n cursor: pointer;\n opacity: 0;\n}\n.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after {\n position: absolute;\n display: table;\n border: 2px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(1) translate(-50%, -50%);\n opacity: 1;\n transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;\n content: ' ';\n}\n.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner {\n background-color: #2673e5;\n border-color: #2673e5;\n}\n.ant-select-tree-checkbox-disabled {\n cursor: not-allowed;\n}\n.ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after {\n border-color: rgba(0, 0, 0, 0.25);\n animation-name: none;\n}\n.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-input {\n cursor: not-allowed;\n pointer-events: none;\n}\n.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner {\n background-color: #f5f5f5;\n border-color: #d9d9d9 !important;\n}\n.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after {\n border-color: #f5f5f5;\n border-collapse: separate;\n animation-name: none;\n}\n.ant-select-tree-checkbox-disabled + span {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-select-tree-checkbox-disabled:hover::after,\n.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-disabled::after {\n visibility: hidden;\n}\n.ant-select-tree-checkbox-wrapper {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n display: inline-flex;\n align-items: baseline;\n line-height: unset;\n cursor: pointer;\n}\n.ant-select-tree-checkbox-wrapper::after {\n display: inline-block;\n width: 0;\n overflow: hidden;\n content: '\\a0';\n}\n.ant-select-tree-checkbox-wrapper.ant-select-tree-checkbox-wrapper-disabled {\n cursor: not-allowed;\n}\n.ant-select-tree-checkbox-wrapper + .ant-select-tree-checkbox-wrapper {\n margin-left: 8px;\n}\n.ant-select-tree-checkbox-wrapper.ant-select-tree-checkbox-wrapper-in-form-item input[type='checkbox'] {\n width: 14px;\n height: 14px;\n}\n.ant-select-tree-checkbox + span {\n padding-right: 8px;\n padding-left: 8px;\n}\n.ant-select-tree-checkbox-group {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n display: inline-block;\n}\n.ant-select-tree-checkbox-group-item {\n margin-right: 8px;\n}\n.ant-select-tree-checkbox-group-item:last-child {\n margin-right: 0;\n}\n.ant-select-tree-checkbox-group-item + .ant-select-tree-checkbox-group-item {\n margin-left: 0;\n}\n.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner {\n background-color: #fff;\n border-color: #d9d9d9;\n}\n.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner::after {\n top: 50%;\n left: 50%;\n width: 8px;\n height: 8px;\n background-color: #2673e5;\n border: 0;\n transform: translate(-50%, -50%) scale(1);\n opacity: 1;\n content: ' ';\n}\n.ant-select-tree-checkbox-indeterminate.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after {\n background-color: rgba(0, 0, 0, 0.25);\n border-color: rgba(0, 0, 0, 0.25);\n}\n.ant-select-tree-checkbox-rtl {\n direction: rtl;\n}\n.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item {\n margin-right: 0;\n margin-left: 8px;\n}\n.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item:last-child {\n margin-left: 0 !important;\n}\n.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item + .ant-select-tree-checkbox-group-item {\n margin-left: 8px;\n}\n.ant-tree-select-dropdown {\n padding: 8px 4px;\n}\n.ant-tree-select-dropdown-rtl {\n direction: rtl;\n}\n.ant-tree-select-dropdown .ant-select-tree {\n border-radius: 0;\n}\n.ant-tree-select-dropdown .ant-select-tree-list-holder-inner {\n align-items: stretch;\n}\n.ant-tree-select-dropdown .ant-select-tree-list-holder-inner .ant-select-tree-treenode .ant-select-tree-node-content-wrapper {\n flex: auto;\n}\n.ant-select-tree {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n background: #fff;\n border-radius: 4px;\n transition: background-color 0.3s;\n}\n.ant-select-tree-focused:not(:hover):not(.ant-select-tree-active-focused) {\n background: #f0f8ff;\n}\n.ant-select-tree-list-holder-inner {\n align-items: flex-start;\n}\n.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner {\n align-items: stretch;\n}\n.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-node-content-wrapper {\n flex: auto;\n}\n.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-treenode.dragging {\n position: relative;\n}\n.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-treenode.dragging::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 4px;\n left: 0;\n border: 1px solid #2673e5;\n opacity: 0;\n animation: ant-tree-node-fx-do-not-use 0.3s;\n animation-play-state: running;\n animation-fill-mode: forwards;\n content: '';\n pointer-events: none;\n}\n.ant-select-tree .ant-select-tree-treenode {\n display: flex;\n align-items: flex-start;\n padding: 0 0 4px 0;\n outline: none;\n}\n.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper:hover {\n background: transparent;\n}\n.ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper {\n background: #f5f5f5;\n}\n.ant-select-tree .ant-select-tree-treenode:not(.ant-select-tree .ant-select-tree-treenode-disabled).filter-node .ant-select-tree-title {\n color: inherit;\n font-weight: 500;\n}\n.ant-select-tree .ant-select-tree-treenode-draggable .ant-select-tree-draggable-icon {\n width: 24px;\n line-height: 24px;\n text-align: center;\n visibility: visible;\n opacity: 0.2;\n transition: opacity 0.3s;\n}\n.ant-select-tree-treenode:hover .ant-select-tree .ant-select-tree-treenode-draggable .ant-select-tree-draggable-icon {\n opacity: 0.45;\n}\n.ant-select-tree .ant-select-tree-treenode-draggable.ant-select-tree-treenode-disabled .ant-select-tree-draggable-icon {\n visibility: hidden;\n}\n.ant-select-tree-indent {\n align-self: stretch;\n white-space: nowrap;\n user-select: none;\n}\n.ant-select-tree-indent-unit {\n display: inline-block;\n width: 24px;\n}\n.ant-select-tree-draggable-icon {\n visibility: hidden;\n}\n.ant-select-tree-switcher {\n position: relative;\n flex: none;\n align-self: stretch;\n width: 24px;\n margin: 0;\n line-height: 24px;\n text-align: center;\n cursor: pointer;\n user-select: none;\n}\n.ant-select-tree-switcher .ant-tree-switcher-icon,\n.ant-select-tree-switcher .ant-select-tree-switcher-icon {\n display: inline-block;\n font-size: 10px;\n vertical-align: baseline;\n}\n.ant-select-tree-switcher .ant-tree-switcher-icon svg,\n.ant-select-tree-switcher .ant-select-tree-switcher-icon svg {\n transition: transform 0.3s;\n}\n.ant-select-tree-switcher-noop {\n cursor: default;\n}\n.ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg {\n transform: rotate(-90deg);\n}\n.ant-select-tree-switcher-loading-icon {\n color: #2673e5;\n}\n.ant-select-tree-switcher-leaf-line {\n position: relative;\n z-index: 1;\n display: inline-block;\n width: 100%;\n height: 100%;\n}\n.ant-select-tree-switcher-leaf-line::before {\n position: absolute;\n top: 0;\n right: 12px;\n bottom: -4px;\n margin-left: -1px;\n border-right: 1px solid #d9d9d9;\n content: ' ';\n}\n.ant-select-tree-switcher-leaf-line::after {\n position: absolute;\n width: 10px;\n height: 14px;\n border-bottom: 1px solid #d9d9d9;\n content: ' ';\n}\n.ant-select-tree-checkbox {\n top: initial;\n margin: 4px 8px 0 0;\n}\n.ant-select-tree .ant-select-tree-node-content-wrapper {\n position: relative;\n z-index: auto;\n min-height: 24px;\n margin: 0;\n padding: 0 4px;\n color: inherit;\n line-height: 24px;\n background: transparent;\n border-radius: 4px;\n cursor: pointer;\n transition: all 0.3s, border 0s, line-height 0s, box-shadow 0s;\n}\n.ant-select-tree .ant-select-tree-node-content-wrapper:hover {\n background-color: #f5f5f5;\n}\n.ant-select-tree .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected {\n background-color: #cfe8ff;\n}\n.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle {\n display: inline-block;\n width: 24px;\n height: 24px;\n line-height: 24px;\n text-align: center;\n vertical-align: top;\n}\n.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle:empty {\n display: none;\n}\n.ant-select-tree-unselectable .ant-select-tree-node-content-wrapper:hover {\n background-color: transparent;\n}\n.ant-select-tree-node-content-wrapper {\n line-height: 24px;\n user-select: none;\n}\n.ant-select-tree-node-content-wrapper .ant-tree-drop-indicator {\n position: absolute;\n z-index: 1;\n height: 2px;\n background-color: #2673e5;\n border-radius: 1px;\n pointer-events: none;\n}\n.ant-select-tree-node-content-wrapper .ant-tree-drop-indicator::after {\n position: absolute;\n top: -3px;\n left: -6px;\n width: 8px;\n height: 8px;\n background-color: transparent;\n border: 2px solid #2673e5;\n border-radius: 50%;\n content: '';\n}\n.ant-select-tree .ant-select-tree-treenode.drop-container > [draggable] {\n box-shadow: 0 0 0 2px #2673e5;\n}\n.ant-select-tree-show-line .ant-select-tree-indent-unit {\n position: relative;\n height: 100%;\n}\n.ant-select-tree-show-line .ant-select-tree-indent-unit::before {\n position: absolute;\n top: 0;\n right: 12px;\n bottom: -4px;\n border-right: 1px solid #d9d9d9;\n content: '';\n}\n.ant-select-tree-show-line .ant-select-tree-indent-unit-end::before {\n display: none;\n}\n.ant-select-tree-show-line .ant-select-tree-switcher {\n background: #fff;\n}\n.ant-select-tree-show-line .ant-select-tree-switcher-line-icon {\n vertical-align: -0.15em;\n}\n.ant-select-tree .ant-select-tree-treenode-leaf-last .ant-select-tree-switcher-leaf-line::before {\n top: auto !important;\n bottom: auto !important;\n height: 14px !important;\n}\n.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg {\n transform: rotate(90deg);\n}\n.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher-loading-icon {\n transform: scaleY(-1);\n}\n.ant-typography {\n color: rgba(0, 0, 0, 0.85);\n word-break: break-word;\n}\n.ant-typography.ant-typography-secondary {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-typography.ant-typography-success {\n color: #52c41a;\n}\n.ant-typography.ant-typography-warning {\n color: #faad14;\n}\n.ant-typography.ant-typography-danger {\n color: #ff4d4f;\n}\na.ant-typography.ant-typography-danger:active,\na.ant-typography.ant-typography-danger:focus {\n color: #d9363e;\n}\na.ant-typography.ant-typography-danger:hover {\n color: #ff7875;\n}\n.ant-typography.ant-typography-disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n user-select: none;\n}\ndiv.ant-typography,\n.ant-typography p {\n margin-bottom: 1em;\n}\nh1.ant-typography,\ndiv.ant-typography-h1,\ndiv.ant-typography-h1 > textarea,\n.ant-typography h1 {\n margin-bottom: 0.5em;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 600;\n font-size: 38px;\n line-height: 1.23;\n}\nh2.ant-typography,\ndiv.ant-typography-h2,\ndiv.ant-typography-h2 > textarea,\n.ant-typography h2 {\n margin-bottom: 0.5em;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 600;\n font-size: 30px;\n line-height: 1.35;\n}\nh3.ant-typography,\ndiv.ant-typography-h3,\ndiv.ant-typography-h3 > textarea,\n.ant-typography h3 {\n margin-bottom: 0.5em;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 600;\n font-size: 24px;\n line-height: 1.35;\n}\nh4.ant-typography,\ndiv.ant-typography-h4,\ndiv.ant-typography-h4 > textarea,\n.ant-typography h4 {\n margin-bottom: 0.5em;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 600;\n font-size: 20px;\n line-height: 1.4;\n}\nh5.ant-typography,\ndiv.ant-typography-h5,\ndiv.ant-typography-h5 > textarea,\n.ant-typography h5 {\n margin-bottom: 0.5em;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 600;\n font-size: 16px;\n line-height: 1.5;\n}\n.ant-typography + h1.ant-typography,\n.ant-typography + h2.ant-typography,\n.ant-typography + h3.ant-typography,\n.ant-typography + h4.ant-typography,\n.ant-typography + h5.ant-typography {\n margin-top: 1.2em;\n}\n.ant-typography div + h1,\n.ant-typography ul + h1,\n.ant-typography li + h1,\n.ant-typography p + h1,\n.ant-typography h1 + h1,\n.ant-typography h2 + h1,\n.ant-typography h3 + h1,\n.ant-typography h4 + h1,\n.ant-typography h5 + h1,\n.ant-typography div + h2,\n.ant-typography ul + h2,\n.ant-typography li + h2,\n.ant-typography p + h2,\n.ant-typography h1 + h2,\n.ant-typography h2 + h2,\n.ant-typography h3 + h2,\n.ant-typography h4 + h2,\n.ant-typography h5 + h2,\n.ant-typography div + h3,\n.ant-typography ul + h3,\n.ant-typography li + h3,\n.ant-typography p + h3,\n.ant-typography h1 + h3,\n.ant-typography h2 + h3,\n.ant-typography h3 + h3,\n.ant-typography h4 + h3,\n.ant-typography h5 + h3,\n.ant-typography div + h4,\n.ant-typography ul + h4,\n.ant-typography li + h4,\n.ant-typography p + h4,\n.ant-typography h1 + h4,\n.ant-typography h2 + h4,\n.ant-typography h3 + h4,\n.ant-typography h4 + h4,\n.ant-typography h5 + h4,\n.ant-typography div + h5,\n.ant-typography ul + h5,\n.ant-typography li + h5,\n.ant-typography p + h5,\n.ant-typography h1 + h5,\n.ant-typography h2 + h5,\n.ant-typography h3 + h5,\n.ant-typography h4 + h5,\n.ant-typography h5 + h5 {\n margin-top: 1.2em;\n}\na.ant-typography-ellipsis,\nspan.ant-typography-ellipsis {\n display: inline-block;\n max-width: 100%;\n}\na.ant-typography,\n.ant-typography a {\n color: #2673e5;\n outline: none;\n cursor: pointer;\n transition: color 0.3s;\n text-decoration: none;\n}\na.ant-typography:focus-visible,\n.ant-typography a:focus-visible,\na.ant-typography:hover,\n.ant-typography a:hover {\n color: #5096f2;\n}\na.ant-typography:active,\n.ant-typography a:active {\n color: #1755bf;\n}\na.ant-typography:active,\n.ant-typography a:active,\na.ant-typography:hover,\n.ant-typography a:hover {\n text-decoration: none;\n}\na.ant-typography[disabled],\n.ant-typography a[disabled],\na.ant-typography.ant-typography-disabled,\n.ant-typography a.ant-typography-disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\na.ant-typography[disabled]:active,\n.ant-typography a[disabled]:active,\na.ant-typography.ant-typography-disabled:active,\n.ant-typography a.ant-typography-disabled:active,\na.ant-typography[disabled]:hover,\n.ant-typography a[disabled]:hover,\na.ant-typography.ant-typography-disabled:hover,\n.ant-typography a.ant-typography-disabled:hover {\n color: rgba(0, 0, 0, 0.25);\n}\na.ant-typography[disabled]:active,\n.ant-typography a[disabled]:active,\na.ant-typography.ant-typography-disabled:active,\n.ant-typography a.ant-typography-disabled:active {\n pointer-events: none;\n}\n.ant-typography code {\n margin: 0 0.2em;\n padding: 0.2em 0.4em 0.1em;\n font-size: 85%;\n background: rgba(150, 150, 150, 0.1);\n border: 1px solid rgba(100, 100, 100, 0.2);\n border-radius: 3px;\n}\n.ant-typography kbd {\n margin: 0 0.2em;\n padding: 0.15em 0.4em 0.1em;\n font-size: 90%;\n background: rgba(150, 150, 150, 0.06);\n border: 1px solid rgba(100, 100, 100, 0.2);\n border-bottom-width: 2px;\n border-radius: 3px;\n}\n.ant-typography mark {\n padding: 0;\n background-color: #ffe58f;\n}\n.ant-typography u,\n.ant-typography ins {\n text-decoration: underline;\n text-decoration-skip-ink: auto;\n}\n.ant-typography s,\n.ant-typography del {\n text-decoration: line-through;\n}\n.ant-typography strong {\n font-weight: 600;\n}\n.ant-typography-expand,\n.ant-typography-edit,\n.ant-typography-copy {\n color: #2673e5;\n outline: none;\n cursor: pointer;\n transition: color 0.3s;\n margin-left: 4px;\n}\n.ant-typography-expand:focus-visible,\n.ant-typography-edit:focus-visible,\n.ant-typography-copy:focus-visible,\n.ant-typography-expand:hover,\n.ant-typography-edit:hover,\n.ant-typography-copy:hover {\n color: #5096f2;\n}\n.ant-typography-expand:active,\n.ant-typography-edit:active,\n.ant-typography-copy:active {\n color: #1755bf;\n}\n.ant-typography-copy-success,\n.ant-typography-copy-success:hover,\n.ant-typography-copy-success:focus {\n color: #52c41a;\n}\n.ant-typography-edit-content {\n position: relative;\n}\ndiv.ant-typography-edit-content {\n left: -12px;\n margin-top: -5px;\n margin-bottom: calc(1em - 4px - 1px);\n}\n.ant-typography-edit-content-confirm {\n position: absolute;\n right: 10px;\n bottom: 8px;\n color: rgba(0, 0, 0, 0.45);\n font-weight: normal;\n font-size: 14px;\n font-style: normal;\n pointer-events: none;\n}\n.ant-typography-edit-content textarea {\n height: 1em;\n margin: 0 !important;\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -moz-transition: none;\n}\n.ant-typography ul,\n.ant-typography ol {\n margin: 0 0 1em;\n padding: 0;\n}\n.ant-typography ul li,\n.ant-typography ol li {\n margin: 0 0 0 20px;\n padding: 0 0 0 4px;\n}\n.ant-typography ul {\n list-style-type: circle;\n}\n.ant-typography ul ul {\n list-style-type: disc;\n}\n.ant-typography ol {\n list-style-type: decimal;\n}\n.ant-typography pre,\n.ant-typography blockquote {\n margin: 1em 0;\n}\n.ant-typography pre {\n padding: 0.4em 0.6em;\n white-space: pre-wrap;\n word-wrap: break-word;\n background: rgba(150, 150, 150, 0.1);\n border: 1px solid rgba(100, 100, 100, 0.2);\n border-radius: 3px;\n}\n.ant-typography pre code {\n display: inline;\n margin: 0;\n padding: 0;\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border: 0;\n}\n.ant-typography blockquote {\n padding: 0 0 0 0.6em;\n border-left: 4px solid rgba(100, 100, 100, 0.2);\n opacity: 0.85;\n}\n.ant-typography-single-line {\n white-space: nowrap;\n}\n.ant-typography-ellipsis-single-line {\n overflow: hidden;\n text-overflow: ellipsis;\n}\na.ant-typography-ellipsis-single-line,\nspan.ant-typography-ellipsis-single-line {\n vertical-align: bottom;\n}\n.ant-typography-ellipsis-multiple-line {\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n overflow: hidden;\n -webkit-line-clamp: 3;\n /*! autoprefixer: ignore next */\n -webkit-box-orient: vertical;\n}\n.ant-typography-rtl {\n direction: rtl;\n}\n.ant-typography-rtl .ant-typography-expand,\n.ant-typography-rtl .ant-typography-edit,\n.ant-typography-rtl .ant-typography-copy {\n margin-right: 4px;\n margin-left: 0;\n}\n.ant-typography-rtl .ant-typography-expand {\n float: left;\n}\ndiv.ant-typography-edit-content.ant-typography-rtl {\n right: -12px;\n left: auto;\n}\n.ant-typography-rtl .ant-typography-edit-content-confirm {\n right: auto;\n left: 10px;\n}\n.ant-typography-rtl.ant-typography ul li,\n.ant-typography-rtl.ant-typography ol li {\n margin: 0 20px 0 0;\n padding: 0 4px 0 0;\n}\n.ant-upload {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: 'tnum';\n outline: 0;\n}\n.ant-upload p {\n margin: 0;\n}\n.ant-upload-btn {\n display: block;\n width: 100%;\n outline: none;\n}\n.ant-upload input[type='file'] {\n cursor: pointer;\n}\n.ant-upload.ant-upload-select {\n display: inline-block;\n}\n.ant-upload.ant-upload-disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n}\n.ant-upload.ant-upload-select-picture-card {\n width: 104px;\n height: 104px;\n margin-right: 8px;\n margin-bottom: 8px;\n text-align: center;\n vertical-align: top;\n background-color: #fafafa;\n border: 1px dashed #d9d9d9;\n border-radius: 4px;\n cursor: pointer;\n transition: border-color 0.3s;\n}\n.ant-upload.ant-upload-select-picture-card > .ant-upload {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n text-align: center;\n}\n.ant-upload.ant-upload-select-picture-card:hover {\n border-color: #2673e5;\n}\n.ant-upload-disabled.ant-upload.ant-upload-select-picture-card:hover {\n border-color: #d9d9d9;\n}\n.ant-upload.ant-upload-drag {\n position: relative;\n width: 100%;\n height: 100%;\n text-align: center;\n background: #fafafa;\n border: 1px dashed #d9d9d9;\n border-radius: 4px;\n cursor: pointer;\n transition: border-color 0.3s;\n}\n.ant-upload.ant-upload-drag .ant-upload {\n padding: 16px 0;\n}\n.ant-upload.ant-upload-drag.ant-upload-drag-hover:not(.ant-upload-disabled) {\n border-color: #1755bf;\n}\n.ant-upload.ant-upload-drag.ant-upload-disabled {\n cursor: not-allowed;\n}\n.ant-upload.ant-upload-drag .ant-upload-btn {\n display: table;\n height: 100%;\n}\n.ant-upload.ant-upload-drag .ant-upload-drag-container {\n display: table-cell;\n vertical-align: middle;\n}\n.ant-upload.ant-upload-drag:not(.ant-upload-disabled):hover {\n border-color: #5096f2;\n}\n.ant-upload.ant-upload-drag p.ant-upload-drag-icon {\n margin-bottom: 20px;\n}\n.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon {\n color: #5096f2;\n font-size: 48px;\n}\n.ant-upload.ant-upload-drag p.ant-upload-text {\n margin: 0 0 4px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 16px;\n}\n.ant-upload.ant-upload-drag p.ant-upload-hint {\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n}\n.ant-upload.ant-upload-drag .anticon-plus {\n color: rgba(0, 0, 0, 0.25);\n font-size: 30px;\n transition: all 0.3s;\n}\n.ant-upload.ant-upload-drag .anticon-plus:hover {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-upload.ant-upload-drag:hover .anticon-plus {\n color: rgba(0, 0, 0, 0.45);\n}\n.ant-upload-picture-card-wrapper {\n display: inline-block;\n width: 100%;\n}\n.ant-upload-picture-card-wrapper::before {\n display: table;\n content: '';\n}\n.ant-upload-picture-card-wrapper::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-upload-picture-card-wrapper::before {\n display: table;\n content: '';\n}\n.ant-upload-picture-card-wrapper::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-upload-list {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n list-style: none;\n font-feature-settings: 'tnum';\n line-height: 1.5715;\n}\n.ant-upload-list::before {\n display: table;\n content: '';\n}\n.ant-upload-list::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-upload-list::before {\n display: table;\n content: '';\n}\n.ant-upload-list::after {\n display: table;\n clear: both;\n content: '';\n}\n.ant-upload-list-item {\n position: relative;\n height: 22.001px;\n margin-top: 8px;\n font-size: 14px;\n}\n.ant-upload-list-item-name {\n display: inline-block;\n width: 100%;\n padding-left: 22px;\n overflow: hidden;\n line-height: 1.5715;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.ant-upload-list-item-card-actions {\n position: absolute;\n right: 0;\n}\n.ant-upload-list-item-card-actions-btn {\n opacity: 0;\n}\n.ant-upload-list-item-card-actions-btn.ant-btn-sm {\n height: 22.001px;\n line-height: 1;\n vertical-align: top;\n}\n.ant-upload-list-item-card-actions.picture {\n top: 22px;\n line-height: 0;\n}\n.ant-upload-list-item-card-actions-btn:focus,\n.ant-upload-list-item-card-actions.picture .ant-upload-list-item-card-actions-btn {\n opacity: 1;\n}\n.ant-upload-list-item-card-actions .anticon {\n color: rgba(0, 0, 0, 0.45);\n transition: all 0.3s;\n}\n.ant-upload-list-item-card-actions:hover .anticon {\n color: rgba(0, 0, 0, 0.85);\n}\n.ant-upload-list-item-info {\n height: 100%;\n transition: background-color 0.3s;\n}\n.ant-upload-list-item-info > span {\n display: block;\n width: 100%;\n height: 100%;\n}\n.ant-upload-list-item-info .anticon-loading .anticon,\n.ant-upload-list-item-info .ant-upload-text-icon .anticon {\n position: absolute;\n top: 5px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n}\n.ant-upload-list-item:hover .ant-upload-list-item-info {\n background-color: #f5f5f5;\n}\n.ant-upload-list-item:hover .ant-upload-list-item-card-actions-btn {\n opacity: 1;\n}\n.ant-upload-list-item-error,\n.ant-upload-list-item-error .ant-upload-text-icon > .anticon,\n.ant-upload-list-item-error .ant-upload-list-item-name {\n color: #ff4d4f;\n}\n.ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon {\n color: #ff4d4f;\n}\n.ant-upload-list-item-error .ant-upload-list-item-card-actions-btn {\n opacity: 1;\n}\n.ant-upload-list-item-progress {\n position: absolute;\n bottom: -12px;\n width: 100%;\n padding-left: 26px;\n font-size: 14px;\n line-height: 0;\n}\n.ant-upload-list-picture .ant-upload-list-item,\n.ant-upload-list-picture-card .ant-upload-list-item {\n position: relative;\n height: 66px;\n padding: 8px;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n}\n.ant-upload-list-picture .ant-upload-list-item:hover,\n.ant-upload-list-picture-card .ant-upload-list-item:hover {\n background: transparent;\n}\n.ant-upload-list-picture .ant-upload-list-item-error,\n.ant-upload-list-picture-card .ant-upload-list-item-error {\n border-color: #ff4d4f;\n}\n.ant-upload-list-picture .ant-upload-list-item-info,\n.ant-upload-list-picture-card .ant-upload-list-item-info {\n padding: 0;\n}\n.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info,\n.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info {\n background: transparent;\n}\n.ant-upload-list-picture .ant-upload-list-item-uploading,\n.ant-upload-list-picture-card .ant-upload-list-item-uploading {\n border-style: dashed;\n}\n.ant-upload-list-picture .ant-upload-list-item-thumbnail,\n.ant-upload-list-picture-card .ant-upload-list-item-thumbnail {\n width: 48px;\n height: 48px;\n line-height: 60px;\n text-align: center;\n opacity: 0.8;\n}\n.ant-upload-list-picture .ant-upload-list-item-thumbnail .anticon,\n.ant-upload-list-picture-card .ant-upload-list-item-thumbnail .anticon {\n font-size: 26px;\n}\n.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'],\n.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'] {\n fill: #fff2f0;\n}\n.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'],\n.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'] {\n fill: #ff4d4f;\n}\n.ant-upload-list-picture .ant-upload-list-item-icon,\n.ant-upload-list-picture-card .ant-upload-list-item-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n font-size: 26px;\n transform: translate(-50%, -50%);\n}\n.ant-upload-list-picture .ant-upload-list-item-icon .anticon,\n.ant-upload-list-picture-card .ant-upload-list-item-icon .anticon {\n font-size: 26px;\n}\n.ant-upload-list-picture .ant-upload-list-item-image,\n.ant-upload-list-picture-card .ant-upload-list-item-image {\n max-width: 100%;\n}\n.ant-upload-list-picture .ant-upload-list-item-thumbnail img,\n.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img {\n display: block;\n width: 48px;\n height: 48px;\n overflow: hidden;\n}\n.ant-upload-list-picture .ant-upload-list-item-name,\n.ant-upload-list-picture-card .ant-upload-list-item-name {\n display: inline-block;\n box-sizing: border-box;\n max-width: 100%;\n margin: 0 0 0 8px;\n padding-right: 8px;\n padding-left: 48px;\n overflow: hidden;\n line-height: 44px;\n white-space: nowrap;\n text-overflow: ellipsis;\n transition: all 0.3s;\n}\n.ant-upload-list-picture .ant-upload-list-item-uploading .ant-upload-list-item-name,\n.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-name {\n margin-bottom: 12px;\n}\n.ant-upload-list-picture .ant-upload-list-item-progress,\n.ant-upload-list-picture-card .ant-upload-list-item-progress {\n bottom: 14px;\n width: calc(100% - 24px);\n margin-top: 0;\n padding-left: 56px;\n}\n.ant-upload-list-picture-card-container {\n display: inline-block;\n width: 104px;\n height: 104px;\n margin: 0 8px 8px 0;\n vertical-align: top;\n}\n.ant-upload-list-picture-card .ant-upload-list-item {\n height: 100%;\n margin: 0;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-info {\n position: relative;\n height: 100%;\n overflow: hidden;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-info::before {\n position: absolute;\n z-index: 1;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: all 0.3s;\n content: ' ';\n}\n.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info::before {\n opacity: 1;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-actions {\n position: absolute;\n top: 50%;\n left: 50%;\n z-index: 10;\n white-space: nowrap;\n transform: translate(-50%, -50%);\n opacity: 0;\n transition: all 0.3s;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye,\n.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download,\n.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete {\n z-index: 10;\n width: 16px;\n margin: 0 4px;\n color: rgba(255, 255, 255, 0.85);\n font-size: 16px;\n cursor: pointer;\n transition: all 0.3s;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye:hover,\n.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download:hover,\n.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover {\n color: #fff;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-info:hover + .ant-upload-list-item-actions,\n.ant-upload-list-picture-card .ant-upload-list-item-actions:hover {\n opacity: 1;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-thumbnail,\n.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img {\n position: static;\n display: block;\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-name {\n display: none;\n margin: 8px 0 0;\n padding: 0;\n line-height: 1.5715;\n text-align: center;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-file + .ant-upload-list-item-name {\n position: absolute;\n bottom: 10px;\n display: block;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item {\n background-color: #fafafa;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info {\n height: auto;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info::before,\n.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-eye,\n.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-delete {\n display: none;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-progress {\n bottom: 32px;\n width: calc(100% - 14px);\n padding-left: 0;\n}\n.ant-upload-list-text-container,\n.ant-upload-list-picture-container {\n transition: opacity 0.3s, height 0.3s;\n}\n.ant-upload-list-text-container::before,\n.ant-upload-list-picture-container::before {\n display: table;\n width: 0;\n height: 0;\n content: '';\n}\n.ant-upload-list-text-container .ant-upload-span,\n.ant-upload-list-picture-container .ant-upload-span {\n display: block;\n flex: auto;\n}\n.ant-upload-list-text .ant-upload-span,\n.ant-upload-list-picture .ant-upload-span {\n display: flex;\n align-items: center;\n}\n.ant-upload-list-text .ant-upload-span > *,\n.ant-upload-list-picture .ant-upload-span > * {\n flex: none;\n}\n.ant-upload-list-text .ant-upload-list-item-name,\n.ant-upload-list-picture .ant-upload-list-item-name {\n flex: auto;\n margin: 0;\n padding: 0 8px;\n}\n.ant-upload-list-text .ant-upload-list-item-card-actions,\n.ant-upload-list-picture .ant-upload-list-item-card-actions {\n position: static;\n}\n.ant-upload-list-text .ant-upload-text-icon .anticon {\n position: static;\n}\n.ant-upload-list .ant-upload-animate-inline-appear,\n.ant-upload-list .ant-upload-animate-inline-enter,\n.ant-upload-list .ant-upload-animate-inline-leave {\n animation-duration: 0.3s;\n animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);\n animation-fill-mode: forwards;\n}\n.ant-upload-list .ant-upload-animate-inline-appear,\n.ant-upload-list .ant-upload-animate-inline-enter {\n animation-name: uploadAnimateInlineIn;\n}\n.ant-upload-list .ant-upload-animate-inline-leave {\n animation-name: uploadAnimateInlineOut;\n}\n@keyframes uploadAnimateInlineIn {\n from {\n width: 0;\n height: 0;\n margin: 0;\n padding: 0;\n opacity: 0;\n }\n}\n@keyframes uploadAnimateInlineOut {\n to {\n width: 0;\n height: 0;\n margin: 0;\n padding: 0;\n opacity: 0;\n }\n}\n.ant-upload-rtl {\n direction: rtl;\n}\n.ant-upload-rtl.ant-upload.ant-upload-select-picture-card {\n margin-right: auto;\n margin-left: 8px;\n}\n.ant-upload-list-rtl {\n direction: rtl;\n}\n.ant-upload-list-rtl .ant-upload-list-item-list-type-text:hover .ant-upload-list-item-name-icon-count-1 {\n padding-right: 22px;\n padding-left: 14px;\n}\n.ant-upload-list-rtl .ant-upload-list-item-list-type-text:hover .ant-upload-list-item-name-icon-count-2 {\n padding-right: 22px;\n padding-left: 28px;\n}\n.ant-upload-list-rtl .ant-upload-list-item-name {\n padding-right: 22px;\n padding-left: 0;\n}\n.ant-upload-list-rtl .ant-upload-list-item-name-icon-count-1 {\n padding-left: 14px;\n}\n.ant-upload-list-rtl .ant-upload-list-item-card-actions {\n right: auto;\n left: 0;\n}\n.ant-upload-list-rtl .ant-upload-list-item-card-actions .anticon {\n padding-right: 0;\n padding-left: 5px;\n}\n.ant-upload-list-rtl .ant-upload-list-item-info {\n padding: 0 4px 0 12px;\n}\n.ant-upload-list-rtl .ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon {\n padding-right: 0;\n padding-left: 5px;\n}\n.ant-upload-list-rtl .ant-upload-list-item-progress {\n padding-right: 26px;\n padding-left: 0;\n}\n.ant-upload-list-picture .ant-upload-list-item-info,\n.ant-upload-list-picture-card .ant-upload-list-item-info {\n padding: 0;\n}\n.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-thumbnail,\n.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-thumbnail {\n right: 8px;\n left: auto;\n}\n.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-icon,\n.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-icon {\n right: 50%;\n left: auto;\n transform: translate(50%, -50%);\n}\n.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name,\n.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name {\n margin: 0 8px 0 0;\n padding-right: 48px;\n padding-left: 8px;\n}\n.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name-icon-count-1,\n.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name-icon-count-1 {\n padding-right: 48px;\n padding-left: 18px;\n}\n.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name-icon-count-2,\n.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name-icon-count-2 {\n padding-right: 48px;\n padding-left: 36px;\n}\n.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-progress,\n.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-progress {\n padding-right: 0;\n padding-left: 0;\n}\n.ant-upload-list-rtl .ant-upload-list-picture-card-container {\n margin: 0 0 8px 8px;\n}\n.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-actions {\n right: 50%;\n left: auto;\n transform: translate(50%, -50%);\n}\n.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-file + .ant-upload-list-item-name {\n margin: 8px 0 0;\n padding: 0;\n}\n`,""]);const p=u},3645:n=>{"use strict";n.exports=function(n){var t=[];return t.toString=function(){return this.map((function(t){var e="",a=void 0!==t[5];return t[4]&&(e+="@supports (".concat(t[4],") {")),t[2]&&(e+="@media ".concat(t[2]," {")),a&&(e+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),e+=n(t),a&&(e+="}"),t[2]&&(e+="}"),t[4]&&(e+="}"),e})).join("")},t.i=function(n,e,a,r,o){"string"==typeof n&&(n=[[null,n,void 0]]);var i={};if(a)for(var l=0;l0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),e&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=e):u[2]=e),r&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=r):u[4]="".concat(r)),t.push(u))}},t}},1667:n=>{"use strict";n.exports=function(n,t){return t||(t={}),n?(n=String(n.__esModule?n.default:n),/^['"].*['"]$/.test(n)&&(n=n.slice(1,-1)),t.hash&&(n+=t.hash),/["'() \t\n]|(%20)/.test(n)||t.needQuotes?'"'.concat(n.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):n):n}},8081:n=>{"use strict";n.exports=function(n){return n[1]}},7537:n=>{"use strict";n.exports=function(n){var t=n[1],e=n[3];if(!e)return t;if("function"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(e)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a),o="/*# ".concat(r," */");return[t].concat([o]).join("\n")}return[t].join("\n")}},8552:(n,t,e)=>{var a=e(852)(e(5639),"DataView");n.exports=a},1989:(n,t,e)=>{var a=e(1789),r=e(401),o=e(7667),i=e(1327),l=e(1866);function c(n){var t=-1,e=null==n?0:n.length;for(this.clear();++t{var a=e(7040),r=e(4125),o=e(2117),i=e(7518),l=e(4705);function c(n){var t=-1,e=null==n?0:n.length;for(this.clear();++t{var a=e(852)(e(5639),"Map");n.exports=a},3369:(n,t,e)=>{var a=e(4785),r=e(1285),o=e(6e3),i=e(9916),l=e(5265);function c(n){var t=-1,e=null==n?0:n.length;for(this.clear();++t{var a=e(852)(e(5639),"Promise");n.exports=a},8525:(n,t,e)=>{var a=e(852)(e(5639),"Set");n.exports=a},8668:(n,t,e)=>{var a=e(3369),r=e(619),o=e(2385);function i(n){var t=-1,e=null==n?0:n.length;for(this.__data__=new a;++t{var a=e(8407),r=e(7465),o=e(3779),i=e(7599),l=e(4758),c=e(4309);function s(n){var t=this.__data__=new a(n);this.size=t.size}s.prototype.clear=r,s.prototype.delete=o,s.prototype.get=i,s.prototype.has=l,s.prototype.set=c,n.exports=s},2705:(n,t,e)=>{var a=e(5639).Symbol;n.exports=a},1149:(n,t,e)=>{var a=e(5639).Uint8Array;n.exports=a},577:(n,t,e)=>{var a=e(852)(e(5639),"WeakMap");n.exports=a},4963:n=>{n.exports=function(n,t){for(var e=-1,a=null==n?0:n.length,r=0,o=[];++e{var a=e(2545),r=e(5694),o=e(1469),i=e(4144),l=e(5776),c=e(6719),s=Object.prototype.hasOwnProperty;n.exports=function(n,t){var e=o(n),u=!e&&r(n),d=!e&&!u&&i(n),p=!e&&!u&&!d&&c(n),f=e||u||d||p,m=f?a(n.length,String):[],g=m.length;for(var b in n)!t&&!s.call(n,b)||f&&("length"==b||d&&("offset"==b||"parent"==b)||p&&("buffer"==b||"byteLength"==b||"byteOffset"==b)||l(b,g))||m.push(b);return m}},9932:n=>{n.exports=function(n,t){for(var e=-1,a=null==n?0:n.length,r=Array(a);++e{n.exports=function(n,t){for(var e=-1,a=t.length,r=n.length;++e{n.exports=function(n,t,e,a){var r=-1,o=null==n?0:n.length;for(a&&o&&(e=n[++r]);++r{n.exports=function(n,t){for(var e=-1,a=null==n?0:n.length;++e{n.exports=function(n){return n.split("")}},9029:n=>{var t=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;n.exports=function(n){return n.match(t)||[]}},8470:(n,t,e)=>{var a=e(7813);n.exports=function(n,t){for(var e=n.length;e--;)if(a(n[e][0],t))return e;return-1}},4055:(n,t,e)=>{var a=e(2488),r=e(1469);n.exports=function(n,t,e){var o=t(n);return r(n)?o:a(o,e(n))}},4239:(n,t,e)=>{var a=e(2705),r=e(9607),o=e(2333),i=a?a.toStringTag:void 0;n.exports=function(n){return null==n?void 0===n?"[object Undefined]":"[object Null]":i&&i in Object(n)?r(n):o(n)}},9454:(n,t,e)=>{var a=e(4239),r=e(7005);n.exports=function(n){return r(n)&&"[object Arguments]"==a(n)}},939:(n,t,e)=>{var a=e(2492),r=e(7005);n.exports=function n(t,e,o,i,l){return t===e||(null==t||null==e||!r(t)&&!r(e)?t!=t&&e!=e:a(t,e,o,i,n,l))}},2492:(n,t,e)=>{var a=e(6384),r=e(7114),o=e(8351),i=e(6096),l=e(4160),c=e(1469),s=e(4144),u=e(6719),d="[object Arguments]",p="[object Array]",f="[object Object]",m=Object.prototype.hasOwnProperty;n.exports=function(n,t,e,g,b,h){var v=c(n),x=c(t),y=v?p:l(n),w=x?p:l(t),k=(y=y==d?f:y)==f,E=(w=w==d?f:w)==f,C=y==w;if(C&&s(n)){if(!s(t))return!1;v=!0,k=!1}if(C&&!k)return h||(h=new a),v||u(n)?r(n,t,e,g,b,h):o(n,t,y,e,g,b,h);if(!(1&e)){var Z=k&&m.call(n,"__wrapped__"),S=E&&m.call(t,"__wrapped__");if(Z||S){var N=Z?n.value():n,z=S?t.value():t;return h||(h=new a),b(N,z,e,g,h)}}return!!C&&(h||(h=new a),i(n,t,e,g,b,h))}},8458:(n,t,e)=>{var a=e(3560),r=e(5346),o=e(9152),i=e(346),l=/^\[object .+?Constructor\]$/,c=Function.prototype,s=Object.prototype,u=c.toString,d=s.hasOwnProperty,p=RegExp("^"+u.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");n.exports=function(n){return!(!o(n)||r(n))&&(a(n)?p:l).test(i(n))}},8749:(n,t,e)=>{var a=e(4239),r=e(1780),o=e(7005),i={};i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i["[object Arguments]"]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i["[object Function]"]=i["[object Map]"]=i["[object Number]"]=i["[object Object]"]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,n.exports=function(n){return o(n)&&r(n.length)&&!!i[a(n)]}},280:(n,t,e)=>{var a=e(5726),r=e(6916),o=Object.prototype.hasOwnProperty;n.exports=function(n){if(!a(n))return r(n);var t=[];for(var e in Object(n))o.call(n,e)&&"constructor"!=e&&t.push(e);return t}},8674:n=>{n.exports=function(n){return function(t){return null==n?void 0:n[t]}}},4259:n=>{n.exports=function(n,t,e){var a=-1,r=n.length;t<0&&(t=-t>r?0:r+t),(e=e>r?r:e)<0&&(e+=r),r=t>e?0:e-t>>>0,t>>>=0;for(var o=Array(r);++a{n.exports=function(n,t){for(var e=-1,a=Array(n);++e{var a=e(2705),r=e(9932),o=e(1469),i=e(3448),l=a?a.prototype:void 0,c=l?l.toString:void 0;n.exports=function n(t){if("string"==typeof t)return t;if(o(t))return r(t,n)+"";if(i(t))return c?c.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},7561:(n,t,e)=>{var a=e(7990),r=/^\s+/;n.exports=function(n){return n?n.slice(0,a(n)+1).replace(r,""):n}},1717:n=>{n.exports=function(n){return function(t){return n(t)}}},4757:n=>{n.exports=function(n,t){return n.has(t)}},180:(n,t,e)=>{var a=e(4259);n.exports=function(n,t,e){var r=n.length;return e=void 0===e?r:e,!t&&e>=r?n:a(n,t,e)}},4429:(n,t,e)=>{var a=e(5639)["__core-js_shared__"];n.exports=a},8805:(n,t,e)=>{var a=e(180),r=e(2689),o=e(3140),i=e(9833);n.exports=function(n){return function(t){t=i(t);var e=r(t)?o(t):void 0,l=e?e[0]:t.charAt(0),c=e?a(e,1).join(""):t.slice(1);return l[n]()+c}}},5393:(n,t,e)=>{var a=e(2663),r=e(3816),o=e(8748),i=RegExp("['’]","g");n.exports=function(n){return function(t){return a(o(r(t).replace(i,"")),n,"")}}},9389:(n,t,e)=>{var a=e(8674)({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"});n.exports=a},7114:(n,t,e)=>{var a=e(8668),r=e(2908),o=e(4757);n.exports=function(n,t,e,i,l,c){var s=1&e,u=n.length,d=t.length;if(u!=d&&!(s&&d>u))return!1;var p=c.get(n),f=c.get(t);if(p&&f)return p==t&&f==n;var m=-1,g=!0,b=2&e?new a:void 0;for(c.set(n,t),c.set(t,n);++m{var a=e(2705),r=e(1149),o=e(7813),i=e(7114),l=e(8776),c=e(1814),s=a?a.prototype:void 0,u=s?s.valueOf:void 0;n.exports=function(n,t,e,a,s,d,p){switch(e){case"[object DataView]":if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(n.byteLength!=t.byteLength||!d(new r(n),new r(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+n,+t);case"[object Error]":return n.name==t.name&&n.message==t.message;case"[object RegExp]":case"[object String]":return n==t+"";case"[object Map]":var f=l;case"[object Set]":var m=1&a;if(f||(f=c),n.size!=t.size&&!m)return!1;var g=p.get(n);if(g)return g==t;a|=2,p.set(n,t);var b=i(f(n),f(t),a,s,d,p);return p.delete(n),b;case"[object Symbol]":if(u)return u.call(n)==u.call(t)}return!1}},6096:(n,t,e)=>{var a=e(8234),r=Object.prototype.hasOwnProperty;n.exports=function(n,t,e,o,i,l){var c=1&e,s=a(n),u=s.length;if(u!=a(t).length&&!c)return!1;for(var d=u;d--;){var p=s[d];if(!(c?p in t:r.call(t,p)))return!1}var f=l.get(n),m=l.get(t);if(f&&m)return f==t&&m==n;var g=!0;l.set(n,t),l.set(t,n);for(var b=c;++d{var a="object"==typeof e.g&&e.g&&e.g.Object===Object&&e.g;n.exports=a},8234:(n,t,e)=>{var a=e(4055),r=e(9551),o=e(3674);n.exports=function(n){return a(n,o,r)}},5050:(n,t,e)=>{var a=e(7019);n.exports=function(n,t){var e=n.__data__;return a(t)?e["string"==typeof t?"string":"hash"]:e.map}},852:(n,t,e)=>{var a=e(8458),r=e(7801);n.exports=function(n,t){var e=r(n,t);return a(e)?e:void 0}},9607:(n,t,e)=>{var a=e(2705),r=Object.prototype,o=r.hasOwnProperty,i=r.toString,l=a?a.toStringTag:void 0;n.exports=function(n){var t=o.call(n,l),e=n[l];try{n[l]=void 0;var a=!0}catch(n){}var r=i.call(n);return a&&(t?n[l]=e:delete n[l]),r}},9551:(n,t,e)=>{var a=e(4963),r=e(479),o=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols,l=i?function(n){return null==n?[]:(n=Object(n),a(i(n),(function(t){return o.call(n,t)})))}:r;n.exports=l},4160:(n,t,e)=>{var a=e(8552),r=e(7071),o=e(3818),i=e(8525),l=e(577),c=e(4239),s=e(346),u="[object Map]",d="[object Promise]",p="[object Set]",f="[object WeakMap]",m="[object DataView]",g=s(a),b=s(r),h=s(o),v=s(i),x=s(l),y=c;(a&&y(new a(new ArrayBuffer(1)))!=m||r&&y(new r)!=u||o&&y(o.resolve())!=d||i&&y(new i)!=p||l&&y(new l)!=f)&&(y=function(n){var t=c(n),e="[object Object]"==t?n.constructor:void 0,a=e?s(e):"";if(a)switch(a){case g:return m;case b:return u;case h:return d;case v:return p;case x:return f}return t}),n.exports=y},7801:n=>{n.exports=function(n,t){return null==n?void 0:n[t]}},2689:n=>{var t=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");n.exports=function(n){return t.test(n)}},3157:n=>{var t=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;n.exports=function(n){return t.test(n)}},1789:(n,t,e)=>{var a=e(4536);n.exports=function(){this.__data__=a?a(null):{},this.size=0}},401:n=>{n.exports=function(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}},7667:(n,t,e)=>{var a=e(4536),r=Object.prototype.hasOwnProperty;n.exports=function(n){var t=this.__data__;if(a){var e=t[n];return"__lodash_hash_undefined__"===e?void 0:e}return r.call(t,n)?t[n]:void 0}},1327:(n,t,e)=>{var a=e(4536),r=Object.prototype.hasOwnProperty;n.exports=function(n){var t=this.__data__;return a?void 0!==t[n]:r.call(t,n)}},1866:(n,t,e)=>{var a=e(4536);n.exports=function(n,t){var e=this.__data__;return this.size+=this.has(n)?0:1,e[n]=a&&void 0===t?"__lodash_hash_undefined__":t,this}},5776:n=>{var t=/^(?:0|[1-9]\d*)$/;n.exports=function(n,e){var a=typeof n;return!!(e=null==e?9007199254740991:e)&&("number"==a||"symbol"!=a&&t.test(n))&&n>-1&&n%1==0&&n{n.exports=function(n){var t=typeof n;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==n:null===n}},5346:(n,t,e)=>{var a,r=e(4429),o=(a=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||""))?"Symbol(src)_1."+a:"";n.exports=function(n){return!!o&&o in n}},5726:n=>{var t=Object.prototype;n.exports=function(n){var e=n&&n.constructor;return n===("function"==typeof e&&e.prototype||t)}},7040:n=>{n.exports=function(){this.__data__=[],this.size=0}},4125:(n,t,e)=>{var a=e(8470),r=Array.prototype.splice;n.exports=function(n){var t=this.__data__,e=a(t,n);return!(e<0||(e==t.length-1?t.pop():r.call(t,e,1),--this.size,0))}},2117:(n,t,e)=>{var a=e(8470);n.exports=function(n){var t=this.__data__,e=a(t,n);return e<0?void 0:t[e][1]}},7518:(n,t,e)=>{var a=e(8470);n.exports=function(n){return a(this.__data__,n)>-1}},4705:(n,t,e)=>{var a=e(8470);n.exports=function(n,t){var e=this.__data__,r=a(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}},4785:(n,t,e)=>{var a=e(1989),r=e(8407),o=e(7071);n.exports=function(){this.size=0,this.__data__={hash:new a,map:new(o||r),string:new a}}},1285:(n,t,e)=>{var a=e(5050);n.exports=function(n){var t=a(this,n).delete(n);return this.size-=t?1:0,t}},6e3:(n,t,e)=>{var a=e(5050);n.exports=function(n){return a(this,n).get(n)}},9916:(n,t,e)=>{var a=e(5050);n.exports=function(n){return a(this,n).has(n)}},5265:(n,t,e)=>{var a=e(5050);n.exports=function(n,t){var e=a(this,n),r=e.size;return e.set(n,t),this.size+=e.size==r?0:1,this}},8776:n=>{n.exports=function(n){var t=-1,e=Array(n.size);return n.forEach((function(n,a){e[++t]=[a,n]})),e}},4536:(n,t,e)=>{var a=e(852)(Object,"create");n.exports=a},6916:(n,t,e)=>{var a=e(5569)(Object.keys,Object);n.exports=a},1167:(n,t,e)=>{n=e.nmd(n);var a=e(1957),r=t&&!t.nodeType&&t,o=r&&n&&!n.nodeType&&n,i=o&&o.exports===r&&a.process,l=function(){try{return o&&o.require&&o.require("util").types||i&&i.binding&&i.binding("util")}catch(n){}}();n.exports=l},2333:n=>{var t=Object.prototype.toString;n.exports=function(n){return t.call(n)}},5569:n=>{n.exports=function(n,t){return function(e){return n(t(e))}}},5639:(n,t,e)=>{var a=e(1957),r="object"==typeof self&&self&&self.Object===Object&&self,o=a||r||Function("return this")();n.exports=o},619:n=>{n.exports=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this}},2385:n=>{n.exports=function(n){return this.__data__.has(n)}},1814:n=>{n.exports=function(n){var t=-1,e=Array(n.size);return n.forEach((function(n){e[++t]=n})),e}},7465:(n,t,e)=>{var a=e(8407);n.exports=function(){this.__data__=new a,this.size=0}},3779:n=>{n.exports=function(n){var t=this.__data__,e=t.delete(n);return this.size=t.size,e}},7599:n=>{n.exports=function(n){return this.__data__.get(n)}},4758:n=>{n.exports=function(n){return this.__data__.has(n)}},4309:(n,t,e)=>{var a=e(8407),r=e(7071),o=e(3369);n.exports=function(n,t){var e=this.__data__;if(e instanceof a){var i=e.__data__;if(!r||i.length<199)return i.push([n,t]),this.size=++e.size,this;e=this.__data__=new o(i)}return e.set(n,t),this.size=e.size,this}},3140:(n,t,e)=>{var a=e(4286),r=e(2689),o=e(676);n.exports=function(n){return r(n)?o(n):a(n)}},346:n=>{var t=Function.prototype.toString;n.exports=function(n){if(null!=n){try{return t.call(n)}catch(n){}try{return n+""}catch(n){}}return""}},7990:n=>{var t=/\s/;n.exports=function(n){for(var e=n.length;e--&&t.test(n.charAt(e)););return e}},676:n=>{var t="\\ud800-\\udfff",e="["+t+"]",a="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",r="\\ud83c[\\udffb-\\udfff]",o="[^"+t+"]",i="(?:\\ud83c[\\udde6-\\uddff]){2}",l="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+a+"|"+r+")?",s="[\\ufe0e\\ufe0f]?",u=s+c+"(?:\\u200d(?:"+[o,i,l].join("|")+")"+s+c+")*",d="(?:"+[o+a+"?",a,i,l,e].join("|")+")",p=RegExp(r+"(?="+r+")|"+d+u,"g");n.exports=function(n){return n.match(p)||[]}},2757:n=>{var t="\\ud800-\\udfff",e="\\u2700-\\u27bf",a="a-z\\xdf-\\xf6\\xf8-\\xff",r="A-Z\\xc0-\\xd6\\xd8-\\xde",o="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",i="["+o+"]",l="\\d+",c="["+e+"]",s="["+a+"]",u="[^"+t+o+l+e+a+r+"]",d="(?:\\ud83c[\\udde6-\\uddff]){2}",p="[\\ud800-\\udbff][\\udc00-\\udfff]",f="["+r+"]",m="(?:"+s+"|"+u+")",g="(?:"+f+"|"+u+")",b="(?:['’](?:d|ll|m|re|s|t|ve))?",h="(?:['’](?:D|LL|M|RE|S|T|VE))?",v="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",x="[\\ufe0e\\ufe0f]?",y=x+v+"(?:\\u200d(?:"+["[^"+t+"]",d,p].join("|")+")"+x+v+")*",w="(?:"+[c,d,p].join("|")+")"+y,k=RegExp([f+"?"+s+"+"+b+"(?="+[i,f,"$"].join("|")+")",g+"+"+h+"(?="+[i,f+m,"$"].join("|")+")",f+"?"+m+"+"+b,f+"+"+h,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",l,w].join("|"),"g");n.exports=function(n){return n.match(k)||[]}},8929:(n,t,e)=>{var a=e(8403),r=e(5393)((function(n,t,e){return t=t.toLowerCase(),n+(e?a(t):t)}));n.exports=r},8403:(n,t,e)=>{var a=e(9833),r=e(1700);n.exports=function(n){return r(a(n).toLowerCase())}},3279:(n,t,e)=>{var a=e(9152),r=e(7771),o=e(4841),i=Math.max,l=Math.min;n.exports=function(n,t,e){var c,s,u,d,p,f,m=0,g=!1,b=!1,h=!0;if("function"!=typeof n)throw new TypeError("Expected a function");function v(t){var e=c,a=s;return c=s=void 0,m=t,d=n.apply(a,e)}function x(n){var e=n-f;return void 0===f||e>=t||e<0||b&&n-m>=u}function y(){var n=r();if(x(n))return w(n);p=setTimeout(y,function(n){var e=t-(n-f);return b?l(e,u-(n-m)):e}(n))}function w(n){return p=void 0,h&&c?v(n):(c=s=void 0,d)}function k(){var n=r(),e=x(n);if(c=arguments,s=this,f=n,e){if(void 0===p)return function(n){return m=n,p=setTimeout(y,t),g?v(n):d}(f);if(b)return clearTimeout(p),p=setTimeout(y,t),v(f)}return void 0===p&&(p=setTimeout(y,t)),d}return t=o(t)||0,a(e)&&(g=!!e.leading,u=(b="maxWait"in e)?i(o(e.maxWait)||0,t):u,h="trailing"in e?!!e.trailing:h),k.cancel=function(){void 0!==p&&clearTimeout(p),m=0,c=f=s=p=void 0},k.flush=function(){return void 0===p?d:w(r())},k}},3816:(n,t,e)=>{var a=e(9389),r=e(9833),o=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,i=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");n.exports=function(n){return(n=r(n))&&n.replace(o,a).replace(i,"")}},7813:n=>{n.exports=function(n,t){return n===t||n!=n&&t!=t}},5694:(n,t,e)=>{var a=e(9454),r=e(7005),o=Object.prototype,i=o.hasOwnProperty,l=o.propertyIsEnumerable,c=a(function(){return arguments}())?a:function(n){return r(n)&&i.call(n,"callee")&&!l.call(n,"callee")};n.exports=c},1469:n=>{var t=Array.isArray;n.exports=t},8612:(n,t,e)=>{var a=e(3560),r=e(1780);n.exports=function(n){return null!=n&&r(n.length)&&!a(n)}},4144:(n,t,e)=>{n=e.nmd(n);var a=e(5639),r=e(5062),o=t&&!t.nodeType&&t,i=o&&n&&!n.nodeType&&n,l=i&&i.exports===o?a.Buffer:void 0,c=(l?l.isBuffer:void 0)||r;n.exports=c},8446:(n,t,e)=>{var a=e(939);n.exports=function(n,t){return a(n,t)}},3560:(n,t,e)=>{var a=e(4239),r=e(9152);n.exports=function(n){if(!r(n))return!1;var t=a(n);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},1780:n=>{n.exports=function(n){return"number"==typeof n&&n>-1&&n%1==0&&n<=9007199254740991}},9152:n=>{n.exports=function(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}},7005:n=>{n.exports=function(n){return null!=n&&"object"==typeof n}},3448:(n,t,e)=>{var a=e(4239),r=e(7005);n.exports=function(n){return"symbol"==typeof n||r(n)&&"[object Symbol]"==a(n)}},6719:(n,t,e)=>{var a=e(8749),r=e(1717),o=e(1167),i=o&&o.isTypedArray,l=i?r(i):a;n.exports=l},3674:(n,t,e)=>{var a=e(4636),r=e(280),o=e(8612);n.exports=function(n){return o(n)?a(n):r(n)}},7771:(n,t,e)=>{var a=e(5639);n.exports=function(){return a.Date.now()}},479:n=>{n.exports=function(){return[]}},5062:n=>{n.exports=function(){return!1}},4841:(n,t,e)=>{var a=e(7561),r=e(9152),o=e(3448),i=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,c=/^0o[0-7]+$/i,s=parseInt;n.exports=function(n){if("number"==typeof n)return n;if(o(n))return NaN;if(r(n)){var t="function"==typeof n.valueOf?n.valueOf():n;n=r(t)?t+"":t}if("string"!=typeof n)return 0===n?n:+n;n=a(n);var e=l.test(n);return e||c.test(n)?s(n.slice(2),e?2:8):i.test(n)?NaN:+n}},9833:(n,t,e)=>{var a=e(531);n.exports=function(n){return null==n?"":a(n)}},1700:(n,t,e)=>{var a=e(8805)("toUpperCase");n.exports=a},8748:(n,t,e)=>{var a=e(9029),r=e(3157),o=e(9833),i=e(2757);n.exports=function(n,t,e){return n=o(n),void 0===(t=e?void 0:t)?r(n)?i(n):a(n):n.match(t)||[]}},6753:(n,t,e)=>{"use strict";e.d(t,{Z:()=>w});var a=e(4942),r=e(1413),o=e(9439),i=e(4925),l=e(7294),c=e(2306),s=e(3967),u=e.n(s),d={adjustX:1,adjustY:1},p=[0,0];const f={topLeft:{points:["bl","tl"],overflow:d,offset:[0,-4],targetOffset:p},topCenter:{points:["bc","tc"],overflow:d,offset:[0,-4],targetOffset:p},topRight:{points:["br","tr"],overflow:d,offset:[0,-4],targetOffset:p},bottomLeft:{points:["tl","bl"],overflow:d,offset:[0,4],targetOffset:p},bottomCenter:{points:["tc","bc"],overflow:d,offset:[0,4],targetOffset:p},bottomRight:{points:["tr","br"],overflow:d,offset:[0,4],targetOffset:p}};var m=e(5105),g=e(5164),b=e(8603),h=m.Z.ESC,v=m.Z.TAB,x=["arrow","prefixCls","transitionName","animation","align","placement","placements","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","visible","trigger","autoFocus"];function y(n,t){var e=n.arrow,s=void 0!==e&&e,d=n.prefixCls,p=void 0===d?"rc-dropdown":d,m=n.transitionName,y=n.animation,w=n.align,k=n.placement,E=void 0===k?"bottomLeft":k,C=n.placements,Z=void 0===C?f:C,S=n.getPopupContainer,N=n.showAction,z=n.hideAction,P=n.overlayClassName,O=n.overlayStyle,M=n.visible,R=n.trigger,T=void 0===R?["hover"]:R,I=n.autoFocus,_=(0,i.Z)(n,x),L=l.useState(),A=(0,o.Z)(L,2),D=A[0],j=A[1],F="visible"in n?M:D,K=l.useRef(null);l.useImperativeHandle(t,(function(){return K.current})),function(n){var t=n.visible,e=n.setTriggerVisible,a=n.triggerRef,r=n.onVisibleChange,o=n.autoFocus,i=l.useRef(!1),c=function(){var n,o,i,l;t&&a.current&&(null===(n=a.current)||void 0===n||null===(o=n.triggerRef)||void 0===o||null===(i=o.current)||void 0===i||null===(l=i.focus)||void 0===l||l.call(i),e(!1),"function"==typeof r&&r(!1))},s=function(){var n,t,e,r,o=(0,b.tS)(null===(n=a.current)||void 0===n||null===(t=n.popupRef)||void 0===t||null===(e=t.current)||void 0===e||null===(r=e.getElement)||void 0===r?void 0:r.call(e))[0];return!!(null==o?void 0:o.focus)&&(o.focus(),i.current=!0,!0)},u=function(n){switch(n.keyCode){case h:c();break;case v:var t=!1;i.current||(t=s()),t?n.preventDefault():c()}};l.useEffect((function(){return t?(window.addEventListener("keydown",u),o&&(0,g.Z)(s,3),function(){window.removeEventListener("keydown",u),i.current=!1}):function(){i.current=!1}}),[t])}({visible:F,setTriggerVisible:j,triggerRef:K,onVisibleChange:n.onVisibleChange,autoFocus:I});var V,H,B,U,W,q,$=function(){var t,e="function"==typeof(t=n.overlay)?t():t;return l.createElement(l.Fragment,null,s&&l.createElement("div",{className:"".concat(p,"-arrow")}),e)},Y=z;return Y||-1===T.indexOf("contextMenu")||(Y=["click"]),l.createElement(c.Z,(0,r.Z)((0,r.Z)({builtinPlacements:Z},_),{},{prefixCls:p,ref:K,popupClassName:u()(P,(0,a.Z)({},"".concat(p,"-show-arrow"),s)),popupStyle:O,action:T,showAction:N,hideAction:Y||[],popupPlacement:E,popupAlign:w,popupTransitionName:m,popupAnimation:y,popupVisible:F,stretch:(W=n.minOverlayWidthMatchTrigger,q=n.alignPoint,("minOverlayWidthMatchTrigger"in n?W:!q)?"minWidth":""),popup:"function"==typeof n.overlay?$:$(),onPopupVisibleChange:function(t){var e=n.onVisibleChange;j(t),"function"==typeof e&&e(t)},onPopupClick:function(t){var e=n.onOverlayClick;j(!1),e&&e(t)},getPopupContainer:S}),(B=(H=n.children).props?H.props:{},U=u()(B.className,void 0!==(V=n.openClassName)?V:"".concat(p,"-open")),F&&H?l.cloneElement(H,{className:U}):H))}const w=l.forwardRef(y)},4423:(n,t,e)=>{"use strict";e.d(t,{iz:()=>Un,ck:()=>gn,BW:()=>Bn,sN:()=>gn,GP:()=>Bn,Wd:()=>Dn,ZP:()=>qn,Xl:()=>z});var a=e(7462),r=e(4942),o=e(1413),i=e(3433),l=e(9439),c=e(4925),s=e(3967),u=e.n(s),d=e(6278),p=e(1770),f=e(334),m=e(7294),g=e(3935),b=e(1881),h=m.createContext(null);function v(n,t){return void 0===n?null:"".concat(n,"-").concat(t)}function x(n){return v(m.useContext(h),n)}var y=e(6982),w=["children","locked"],k=m.createContext(null);function E(n){var t=n.children,e=n.locked,a=(0,c.Z)(n,w),r=m.useContext(k),i=(0,y.Z)((function(){return n=r,t=a,e=(0,o.Z)({},n),Object.keys(t).forEach((function(n){var a=t[n];void 0!==a&&(e[n]=a)})),e;var n,t,e}),[r,a],(function(n,t){return!(e||n[0]===t[0]&&(0,b.Z)(n[1],t[1],!0))}));return m.createElement(k.Provider,{value:i},t)}var C=[],Z=m.createContext(null);function S(){return m.useContext(Z)}var N=m.createContext(C);function z(n){var t=m.useContext(N);return m.useMemo((function(){return void 0!==n?[].concat((0,i.Z)(t),[n]):t}),[t,n])}var P=m.createContext(null);const O=m.createContext({});var M=e(5105),R=e(5164),T=e(8603),I=M.Z.LEFT,_=M.Z.RIGHT,L=M.Z.UP,A=M.Z.DOWN,D=M.Z.ENTER,j=M.Z.ESC,F=M.Z.HOME,K=M.Z.END,V=[L,A,I,_];function H(n,t){return(0,T.tS)(n,!0).filter((function(n){return t.has(n)}))}function B(n,t,e){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;if(!n)return null;var r=H(n,t),o=r.length,i=r.findIndex((function(n){return e===n}));return a<0?-1===i?i=o-1:i-=1:a>0&&(i+=1),r[i=(i+o)%o]}var U="__RC_UTIL_PATH_SPLIT__",W=function(n){return n.join(U)},q="rc-menu-more";function $(n){var t=m.useRef(n);t.current=n;var e=m.useCallback((function(){for(var n,e=arguments.length,a=new Array(e),r=0;r1&&(C.motionAppear=!1);var Z=C.onVisibleChanged;return C.onVisibleChanged=function(n){return b.current||n||y(!0),null==Z?void 0:Z(n)},x?null:m.createElement(E,{mode:c,locked:!b.current},m.createElement(Tn.ZP,(0,a.Z)({visible:w},C,{forceRender:d,removeOnLeave:!1,leavedClassName:"".concat(u,"-hidden")}),(function(n){var e=n.className,a=n.style;return m.createElement(xn,{id:t,className:e,style:a},i)})))}var _n=["style","className","title","eventKey","warnKey","disabled","internalPopupClose","children","itemIcon","expandIcon","popupClassName","popupOffset","onClick","onMouseEnter","onMouseLeave","onTitleClick","onTitleMouseEnter","onTitleMouseLeave"],Ln=["active"],An=function(n){var t,e=n.style,i=n.className,s=n.title,p=n.eventKey,f=(n.warnKey,n.disabled),g=n.internalPopupClose,b=n.children,h=n.itemIcon,v=n.expandIcon,y=n.popupClassName,w=n.popupOffset,C=n.onClick,Z=n.onMouseEnter,S=n.onMouseLeave,N=n.onTitleClick,M=n.onTitleMouseEnter,R=n.onTitleMouseLeave,T=(0,c.Z)(n,_n),I=x(p),_=m.useContext(k),L=_.prefixCls,A=_.mode,D=_.openKeys,j=_.disabled,F=_.overflowDisabled,K=_.activeKey,V=_.selectedKeys,H=_.itemIcon,B=_.expandIcon,U=_.onItemClick,W=_.onOpenChange,q=_.onActive,Y=m.useContext(O)._internalRenderSubMenuItem,X=m.useContext(P).isSubPathKey,G=z(),Q="".concat(L,"-submenu"),J=j||f,nn=m.useRef(),tn=m.useRef(),en=h||H,ln=v||B,sn=D.includes(p),un=!F&&sn,dn=X(V,p),pn=an(p,J,M,R),fn=pn.active,mn=(0,c.Z)(pn,Ln),gn=m.useState(!1),bn=(0,l.Z)(gn,2),hn=bn[0],vn=bn[1],yn=function(n){J||vn(n)},wn=m.useMemo((function(){return fn||"inline"!==A&&(hn||X([K],p))}),[A,fn,K,hn,p,X]),kn=rn(G.length),En=$((function(n){null==C||C(cn(n)),U(n)})),Cn=I&&"".concat(I,"-popup"),Zn=m.createElement("div",(0,a.Z)({role:"menuitem",style:kn,className:"".concat(Q,"-title"),tabIndex:J?null:-1,ref:nn,title:"string"==typeof s?s:null,"data-menu-id":F&&I?null:I,"aria-expanded":un,"aria-haspopup":!0,"aria-controls":Cn,"aria-disabled":J,onClick:function(n){J||(null==N||N({key:p,domEvent:n}),"inline"===A&&W(p,!sn))},onFocus:function(){q(p)}},mn),s,m.createElement(on,{icon:"horizontal"!==A?ln:null,props:(0,o.Z)((0,o.Z)({},n),{},{isOpen:un,isSubMenu:!0})},m.createElement("i",{className:"".concat(Q,"-arrow")}))),Sn=m.useRef(A);if("inline"!==A&&G.length>1?Sn.current="vertical":Sn.current=A,!F){var Nn=Sn.current;Zn=m.createElement(Rn,{mode:Nn,prefixCls:Q,visible:!g&&un&&"inline"!==A,popupClassName:y,popupOffset:w,popup:m.createElement(E,{mode:"horizontal"===Nn?"vertical":Nn},m.createElement(xn,{id:Cn,ref:tn},b)),disabled:J,onVisibleChange:function(n){"inline"!==A&&W(p,n)}},Zn)}var zn=m.createElement(d.Z.Item,(0,a.Z)({role:"none"},T,{component:"li",style:e,className:u()(Q,"".concat(Q,"-").concat(A),i,(t={},(0,r.Z)(t,"".concat(Q,"-open"),un),(0,r.Z)(t,"".concat(Q,"-active"),wn),(0,r.Z)(t,"".concat(Q,"-selected"),dn),(0,r.Z)(t,"".concat(Q,"-disabled"),J),t)),onMouseEnter:function(n){yn(!0),null==Z||Z({key:p,domEvent:n})},onMouseLeave:function(n){yn(!1),null==S||S({key:p,domEvent:n})}}),Zn,!F&&m.createElement(In,{id:Cn,open:un,keyPath:G},b));return Y&&(zn=Y(zn,n,{selected:dn,active:wn,open:un,disabled:J})),m.createElement(E,{onItemClick:En,mode:"horizontal"===A?"vertical":A,itemIcon:en,expandIcon:ln},zn)};function Dn(n){var t,e=n.eventKey,a=n.children,r=z(e),o=En(a,r),i=S();return m.useEffect((function(){if(i)return i.registerPath(e,r),function(){i.unregisterPath(e,r)}}),[r]),t=i?o:m.createElement(An,n,o),m.createElement(N.Provider,{value:r},t)}var jn=["prefixCls","rootClassName","style","className","tabIndex","items","children","direction","id","mode","inlineCollapsed","disabled","disabledOverflow","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","defaultOpenKeys","openKeys","activeKey","defaultActiveFirst","selectable","multiple","defaultSelectedKeys","selectedKeys","onSelect","onDeselect","inlineIndent","motion","defaultMotions","triggerSubMenuAction","builtinPlacements","itemIcon","expandIcon","overflowedIndicator","overflowedIndicatorPopupClassName","getPopupContainer","onClick","onOpenChange","onKeyDown","openAnimation","openTransitionName","_internalRenderMenuItem","_internalRenderSubMenuItem"],Fn=[],Kn=["className","title","eventKey","children"],Vn=["children"],Hn=function(n){var t=n.className,e=n.title,r=(n.eventKey,n.children),o=(0,c.Z)(n,Kn),i=m.useContext(k).prefixCls,l="".concat(i,"-item-group");return m.createElement("li",(0,a.Z)({role:"presentation"},o,{onClick:function(n){return n.stopPropagation()},className:u()(l,t)}),m.createElement("div",{role:"presentation",className:"".concat(l,"-title"),title:"string"==typeof e?e:void 0},e),m.createElement("ul",{role:"group",className:"".concat(l,"-list")},r))};function Bn(n){var t=n.children,e=(0,c.Z)(n,Vn),a=En(t,z(e.eventKey));return S()?a:m.createElement(Hn,(0,tn.Z)(e,["warnKey"]),a)}function Un(n){var t=n.className,e=n.style,a=m.useContext(k).prefixCls;return S()?null:m.createElement("li",{className:u()("".concat(a,"-item-divider"),t),style:e})}var Wn=m.forwardRef((function(n,t){var e,s,f=n,x=f.prefixCls,y=void 0===x?"rc-menu":x,w=f.rootClassName,k=f.style,C=f.className,S=f.tabIndex,N=void 0===S?0:S,z=f.items,M=f.children,T=f.direction,G=f.id,Q=f.mode,J=void 0===Q?"vertical":Q,nn=f.inlineCollapsed,tn=f.disabled,en=f.disabledOverflow,an=f.subMenuOpenDelay,rn=void 0===an?.1:an,on=f.subMenuCloseDelay,ln=void 0===on?.1:on,sn=f.forceSubMenuRender,un=f.defaultOpenKeys,dn=f.openKeys,pn=f.activeKey,fn=f.defaultActiveFirst,mn=f.selectable,bn=void 0===mn||mn,hn=f.multiple,vn=void 0!==hn&&hn,xn=f.defaultSelectedKeys,yn=f.selectedKeys,wn=f.onSelect,kn=f.onDeselect,En=f.inlineIndent,Cn=void 0===En?24:En,Sn=f.motion,Nn=f.defaultMotions,zn=f.triggerSubMenuAction,Pn=void 0===zn?"hover":zn,On=f.builtinPlacements,Mn=f.itemIcon,Rn=f.expandIcon,Tn=f.overflowedIndicator,In=void 0===Tn?"...":Tn,_n=f.overflowedIndicatorPopupClassName,Ln=f.getPopupContainer,An=f.onClick,Kn=f.onOpenChange,Vn=f.onKeyDown,Hn=(f.openAnimation,f.openTransitionName,f._internalRenderMenuItem),Bn=f._internalRenderSubMenuItem,Un=(0,c.Z)(f,jn),Wn=m.useMemo((function(){return Zn(M,z,Fn)}),[M,z]),qn=m.useState(!1),$n=(0,l.Z)(qn,2),Yn=$n[0],Xn=$n[1],Gn=m.useRef(),Qn=function(n){var t=(0,p.Z)(n,{value:n}),e=(0,l.Z)(t,2),a=e[0],r=e[1];return m.useEffect((function(){X+=1;var n="".concat(Y,"-").concat(X);r("rc-menu-uuid-".concat(n))}),[]),a}(G),Jn="rtl"===T,nt=(0,p.Z)(un,{value:dn,postState:function(n){return n||Fn}}),tt=(0,l.Z)(nt,2),et=tt[0],at=tt[1],rt=function(n){function t(){at(n),null==Kn||Kn(n)}arguments.length>1&&void 0!==arguments[1]&&arguments[1]?(0,g.flushSync)(t):t()},ot=m.useState(et),it=(0,l.Z)(ot,2),lt=it[0],ct=it[1],st=m.useRef(!1),ut=m.useMemo((function(){return"inline"!==J&&"vertical"!==J||!nn?[J,!1]:["vertical",nn]}),[J,nn]),dt=(0,l.Z)(ut,2),pt=dt[0],ft=dt[1],mt="inline"===pt,gt=m.useState(pt),bt=(0,l.Z)(gt,2),ht=bt[0],vt=bt[1],xt=m.useState(ft),yt=(0,l.Z)(xt,2),wt=yt[0],kt=yt[1];m.useEffect((function(){vt(pt),kt(ft),st.current&&(mt?at(lt):rt(Fn))}),[pt,ft]);var Et=m.useState(0),Ct=(0,l.Z)(Et,2),Zt=Ct[0],St=Ct[1],Nt=Zt>=Wn.length-1||"horizontal"!==ht||en;m.useEffect((function(){mt&&ct(et)}),[et]),m.useEffect((function(){return st.current=!0,function(){st.current=!1}}),[]);var zt=function(){var n=m.useState({}),t=(0,l.Z)(n,2)[1],e=(0,m.useRef)(new Map),a=(0,m.useRef)(new Map),r=m.useState([]),o=(0,l.Z)(r,2),c=o[0],s=o[1],u=(0,m.useRef)(0),d=(0,m.useRef)(!1),p=(0,m.useCallback)((function(n,r){var o=W(r);a.current.set(o,n),e.current.set(n,o),u.current+=1;var i,l=u.current;i=function(){l===u.current&&(d.current||t({}))},Promise.resolve().then(i)}),[]),f=(0,m.useCallback)((function(n,t){var r=W(t);a.current.delete(r),e.current.delete(n)}),[]),g=(0,m.useCallback)((function(n){s(n)}),[]),b=(0,m.useCallback)((function(n,t){var a=(e.current.get(n)||"").split(U);return t&&c.includes(a[0])&&a.unshift(q),a}),[c]),h=(0,m.useCallback)((function(n,t){return n.some((function(n){return b(n,!0).includes(t)}))}),[b]),v=(0,m.useCallback)((function(n){var t="".concat(e.current.get(n)).concat(U),r=new Set;return(0,i.Z)(a.current.keys()).forEach((function(n){n.startsWith(t)&&r.add(a.current.get(n))})),r}),[]);return m.useEffect((function(){return function(){d.current=!0}}),[]),{registerPath:p,unregisterPath:f,refreshOverflowKeys:g,isSubPathKey:h,getKeyPath:b,getKeys:function(){var n=(0,i.Z)(e.current.keys());return c.length&&n.push(q),n},getSubPathKeys:v}}(),Pt=zt.registerPath,Ot=zt.unregisterPath,Mt=zt.refreshOverflowKeys,Rt=zt.isSubPathKey,Tt=zt.getKeyPath,It=zt.getKeys,_t=zt.getSubPathKeys,Lt=m.useMemo((function(){return{registerPath:Pt,unregisterPath:Ot}}),[Pt,Ot]),At=m.useMemo((function(){return{isSubPathKey:Rt}}),[Rt]);m.useEffect((function(){Mt(Nt?Fn:Wn.slice(Zt+1).map((function(n){return n.key})))}),[Zt,Nt]);var Dt=(0,p.Z)(pn||fn&&(null===(e=Wn[0])||void 0===e?void 0:e.key),{value:pn}),jt=(0,l.Z)(Dt,2),Ft=jt[0],Kt=jt[1],Vt=$((function(n){Kt(n)})),Ht=$((function(){Kt(void 0)}));(0,m.useImperativeHandle)(t,(function(){return{list:Gn.current,focus:function(n){var t,e,a,r,o=null!=Ft?Ft:null===(t=Wn.find((function(n){return!n.props.disabled})))||void 0===t?void 0:t.key;o&&(null===(e=Gn.current)||void 0===e||null===(a=e.querySelector("li[data-menu-id='".concat(v(Qn,o),"']")))||void 0===a||null===(r=a.focus)||void 0===r||r.call(a,n))}}}));var Bt=(0,p.Z)(xn||[],{value:yn,postState:function(n){return Array.isArray(n)?n:null==n?Fn:[n]}}),Ut=(0,l.Z)(Bt,2),Wt=Ut[0],qt=Ut[1],$t=$((function(n){null==An||An(cn(n)),function(n){if(bn){var t,e=n.key,a=Wt.includes(e);t=vn?a?Wt.filter((function(n){return n!==e})):[].concat((0,i.Z)(Wt),[e]):[e],qt(t);var r=(0,o.Z)((0,o.Z)({},n),{},{selectedKeys:t});a?null==kn||kn(r):null==wn||wn(r)}!vn&&et.length&&"inline"!==ht&&rt(Fn)}(n)})),Yt=$((function(n,t){var e=et.filter((function(t){return t!==n}));if(t)e.push(n);else if("inline"!==ht){var a=_t(n);e=e.filter((function(n){return!a.has(n)}))}(0,b.Z)(et,e,!0)||rt(e,!0)})),Xt=$(Ln),Gt=function(n,t,e,a,o,i,l,c,s,u){var d=m.useRef(),p=m.useRef();p.current=t;var f=function(){R.Z.cancel(d.current)};return m.useEffect((function(){return function(){f()}}),[]),function(m){var g=m.which;if([].concat(V,[D,j,F,K]).includes(g)){var b,h,x,y=function(){return b=new Set,h=new Map,x=new Map,i().forEach((function(n){var t=document.querySelector("[data-menu-id='".concat(v(a,n),"']"));t&&(b.add(t),x.set(t,n),h.set(n,t))})),b};y();var w=function(n,t){for(var e=n||document.activeElement;e;){if(t.has(e))return e;e=e.parentElement}return null}(h.get(t),b),k=x.get(w),E=function(n,t,e,a){var o,i,l,c,s="prev",u="next",d="children",p="parent";if("inline"===n&&a===D)return{inlineTrigger:!0};var f=(o={},(0,r.Z)(o,L,s),(0,r.Z)(o,A,u),o),m=(i={},(0,r.Z)(i,I,e?u:s),(0,r.Z)(i,_,e?s:u),(0,r.Z)(i,A,d),(0,r.Z)(i,D,d),i),g=(l={},(0,r.Z)(l,L,s),(0,r.Z)(l,A,u),(0,r.Z)(l,D,d),(0,r.Z)(l,j,p),(0,r.Z)(l,I,e?d:p),(0,r.Z)(l,_,e?p:d),l);switch(null===(c={inline:f,horizontal:m,vertical:g,inlineSub:f,horizontalSub:g,verticalSub:g}["".concat(n).concat(t?"":"Sub")])||void 0===c?void 0:c[a]){case s:return{offset:-1,sibling:!0};case u:return{offset:1,sibling:!0};case p:return{offset:-1,sibling:!1};case d:return{offset:1,sibling:!1};default:return null}}(n,1===l(k,!0).length,e,g);if(!E&&g!==F&&g!==K)return;(V.includes(g)||[F,K].includes(g))&&m.preventDefault();var C=function(n){if(n){var t=n,e=n.querySelector("a");null!=e&&e.getAttribute("href")&&(t=e);var a=x.get(n);c(a),f(),d.current=(0,R.Z)((function(){p.current===a&&t.focus()}))}};if([F,K].includes(g)||E.sibling||!w){var Z,S,N=H(Z=w&&"inline"!==n?function(n){for(var t=n;t;){if(t.getAttribute("data-menu-list"))return t;t=t.parentElement}return null}(w):o.current,b);S=g===F?N[0]:g===K?N[N.length-1]:B(Z,b,w,E.offset),C(S)}else if(E.inlineTrigger)s(k);else if(E.offset>0)s(k,!0),f(),d.current=(0,R.Z)((function(){y();var n=w.getAttribute("aria-controls"),t=B(document.getElementById(n),b);C(t)}),5);else if(E.offset<0){var z=l(k,!0),P=z[z.length-2],O=h.get(P);s(P,!1),C(O)}}null==u||u(m)}}(ht,Ft,Jn,Qn,Gn,It,Tt,Kt,(function(n,t){var e=null!=t?t:!et.includes(n);Yt(n,e)}),Vn);m.useEffect((function(){Xn(!0)}),[]);var Qt=m.useMemo((function(){return{_internalRenderMenuItem:Hn,_internalRenderSubMenuItem:Bn}}),[Hn,Bn]),Jt="horizontal"!==ht||en?Wn:Wn.map((function(n,t){return m.createElement(E,{key:n.key,overflowDisabled:t>Zt},n)})),ne=m.createElement(d.Z,(0,a.Z)({id:G,ref:Gn,prefixCls:"".concat(y,"-overflow"),component:"ul",itemComponent:gn,className:u()(y,"".concat(y,"-root"),"".concat(y,"-").concat(ht),C,(s={},(0,r.Z)(s,"".concat(y,"-inline-collapsed"),wt),(0,r.Z)(s,"".concat(y,"-rtl"),Jn),s),w),dir:T,style:k,role:"menu",tabIndex:N,data:Jt,renderRawItem:function(n){return n},renderRawRest:function(n){var t=n.length,e=t?Wn.slice(-t):null;return m.createElement(Dn,{eventKey:q,title:In,disabled:Nt,internalPopupClose:0===t,popupClassName:_n},e)},maxCount:"horizontal"!==ht||en?d.Z.INVALIDATE:d.Z.RESPONSIVE,ssr:"full","data-menu-list":!0,onVisibleChange:function(n){St(n)},onKeyDown:Gt},Un));return m.createElement(O.Provider,{value:Qt},m.createElement(h.Provider,{value:Qn},m.createElement(E,{prefixCls:y,rootClassName:w,mode:ht,openKeys:et,rtl:Jn,disabled:tn,motion:Yn?Sn:null,defaultMotions:Yn?Nn:null,activeKey:Ft,onActive:Vt,onInactive:Ht,selectedKeys:Wt,inlineIndent:Cn,subMenuOpenDelay:rn,subMenuCloseDelay:ln,forceSubMenuRender:sn,builtinPlacements:On,triggerSubMenuAction:Pn,getPopupContainer:Xt,itemIcon:Mn,expandIcon:Rn,onItemClick:$t,onOpenChange:Yt},m.createElement(P.Provider,{value:At},ne),m.createElement("div",{style:{display:"none"},"aria-hidden":!0},m.createElement(Z.Provider,{value:Lt},Wn)))))}));Wn.Item=gn,Wn.SubMenu=Dn,Wn.ItemGroup=Bn,Wn.Divider=Un;const qn=Wn},5995:(n,t,e)=>{"use strict";e.d(t,{V4:()=>mn,ZP:()=>gn});var a=e(4942),r=e(1413),o=e(9439),i=e(1002),l=e(3967),c=e.n(l),s=e(4203),u=e(2550),d=e(7294),p=d.createContext({}),f=e(5671),m=e(3144),g=e(9340),b=e(8557);const h=function(n){(0,g.Z)(e,n);var t=(0,b.Z)(e);function e(){return(0,f.Z)(this,e),t.apply(this,arguments)}return(0,m.Z)(e,[{key:"render",value:function(){return this.props.children}}]),e}(d.Component);var v=e(6790),x=e(470),y=e(6680),w="none",k="appear",E="enter",C="leave",Z="none",S="prepare",N="start",z="active",P="end",O="prepared",M=e(8924);function R(n,t){var e={};return e[n.toLowerCase()]=t.toLowerCase(),e["Webkit".concat(n)]="webkit".concat(t),e["Moz".concat(n)]="moz".concat(t),e["ms".concat(n)]="MS".concat(t),e["O".concat(n)]="o".concat(t.toLowerCase()),e}var T,I,_,L=(T=(0,M.Z)(),I="undefined"!=typeof window?window:{},_={animationend:R("Animation","AnimationEnd"),transitionend:R("Transition","TransitionEnd")},T&&("AnimationEvent"in I||delete _.animationend.animation,"TransitionEvent"in I||delete _.transitionend.transition),_),A={};if((0,M.Z)()){var D=document.createElement("div");A=D.style}var j={};function F(n){if(j[n])return j[n];var t=L[n];if(t)for(var e=Object.keys(t),a=e.length,r=0;r1&&void 0!==arguments[1]?arguments[1]:2;t();var o=(0,$.Z)((function(){r<=1?a({isCanceled:function(){return o!==n.current}}):e(a,r-1)}));n.current=o},t]}(),s=(0,o.Z)(c,2),u=s[0],p=s[1],f=t?X:Y;return q((function(){if(i!==Z&&i!==P){var n=f.indexOf(i),t=f[n+1],a=e(i);a===G?l(t,!0):t&&u((function(n){function e(){n.isCanceled()||l(t,!0)}!0===a?e():Promise.resolve(a).then(e)}))}}),[n,i]),d.useEffect((function(){return function(){p()}}),[]),[function(){l(S,!0)},i]}(fn,!n,(function(n){if(n===S){var t=En[S];return t?t(bn()):G}var e;return Nn in En&&pn((null===(e=En[Nn])||void 0===e?void 0:e.call(En,bn(),null))||null),Nn===z&&fn!==w&&(wn(bn()),M>0&&(clearTimeout(gn.current),gn.current=setTimeout((function(){xn({deadline:!0})}),M))),Nn===O&&vn(),!0})),Zn=(0,o.Z)(Cn,2),Sn=Zn[0],Nn=Zn[1],zn=Q(Nn);hn.current=zn;var Pn=(0,d.useRef)(null);q((function(){if(!mn.current||Pn.current!==t){an(t);var e,a=mn.current;mn.current=!0,!a&&t&&g&&(e=k),a&&t&&f&&(e=E),(a&&!t&&h||!a&&R&&!t&&h)&&(e=C);var r=kn(e);e&&(n||r[S])?(cn(e),Sn()):cn(w),Pn.current=t}}),[t]),(0,d.useEffect)((function(){(fn===k&&!g||fn===E&&!f||fn===C&&!h)&&cn(w)}),[g,f,h]),(0,d.useEffect)((function(){return function(){mn.current=!1,clearTimeout(gn.current)}}),[]);var On=d.useRef(!1);(0,d.useEffect)((function(){en&&(On.current=!0),void 0!==en&&fn===w&&((On.current||en)&&(null==J||J(en)),On.current=!0)}),[en,fn]);var Mn=dn;return En[S]&&Nn===N&&(Mn=(0,r.Z)({transition:"none"},Mn)),[fn,Nn,Mn,null!=en?en:t]}const nn=function(n){var t=n;"object"===(0,i.Z)(n)&&(t=n.transitionSupport);var e=d.forwardRef((function(n,e){var i=n.visible,l=void 0===i||i,f=n.removeOnLeave,m=void 0===f||f,g=n.forceRender,b=n.children,v=n.motionName,x=n.leavedClassName,y=n.eventProps,k=function(n,e){return!(!n.motionName||!t||!1===e)}(n,d.useContext(p).motion),E=(0,d.useRef)(),C=(0,d.useRef)(),Z=J(k,l,(function(){try{return E.current instanceof HTMLElement?E.current:(0,s.ZP)(C.current)}catch(n){return null}}),n),z=(0,o.Z)(Z,4),P=z[0],O=z[1],M=z[2],R=z[3],T=d.useRef(R);R&&(T.current=!0);var I,_=d.useCallback((function(n){E.current=n,(0,u.mH)(e,n)}),[e]),L=(0,r.Z)((0,r.Z)({},y),{},{visible:l});if(b)if(P===w)I=R?b((0,r.Z)({},L),_):!m&&T.current&&x?b((0,r.Z)((0,r.Z)({},L),{},{className:x}),_):g||!m&&!x?b((0,r.Z)((0,r.Z)({},L),{},{style:{display:"none"}}),_):null;else{var A;O===S?A="prepare":Q(O)?A="active":O===N&&(A="start");var D=W(v,"".concat(P,"-").concat(A));I=b((0,r.Z)((0,r.Z)({},L),{},{className:c()(W(v,P),(0,a.Z)((0,a.Z)({},D,D&&A),v,"string"==typeof v)),style:M}),_)}else I=null;return d.isValidElement(I)&&(0,u.Yr)(I)&&((0,u.C4)(I)||(I=d.cloneElement(I,{ref:_}))),d.createElement(h,{ref:C},I)}));return e.displayName="CSSMotion",e}(H);var tn=e(7462),en=e(4925),an=e(7326),rn="add",on="keep",ln="remove",cn="removed";function sn(n){var t;return t=n&&"object"===(0,i.Z)(n)&&"key"in n?n:{key:n},(0,r.Z)((0,r.Z)({},t),{},{key:String(t.key)})}function un(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map(sn)}var dn=["component","children","onVisibleChanged","onAllRemoved"],pn=["status"],fn=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];const mn=function(){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:nn,t=function(t){(0,g.Z)(o,t);var e=(0,b.Z)(o);function o(){var n;(0,f.Z)(this,o);for(var t=arguments.length,i=new Array(t),l=0;l0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],e=[],a=0,o=t.length,i=un(n),l=un(t);i.forEach((function(n){for(var t=!1,i=a;i1})).forEach((function(n){(e=e.filter((function(t){var e=t.key,a=t.status;return e!==n||a!==ln}))).forEach((function(t){t.key===n&&(t.status=on)}))})),e}(a,o);return{keyEntities:i.filter((function(n){var t=a.find((function(t){var e=t.key;return n.key===e}));return!t||t.status!==cn||n.status!==ln}))}}}]),o}(d.Component);return(0,a.Z)(t,"defaultProps",{component:"div"}),t}(H),gn=nn},1784:(n,t,e)=>{"use strict";e.d(t,{Z:()=>f});var a=e(7462),r=e(4942),o=e(5671),i=e(3144),l=e(9340),c=e(8557),s=e(7294),u=e(3935),d=e(3967),p=e.n(d),f=function(n){(0,l.Z)(e,n);var t=(0,c.Z)(e);function e(){var n;(0,o.Z)(this,e);for(var a=arguments.length,r=new Array(a),i=0;i{"use strict";e.d(t,{Z:()=>k});var a=e(4925),r=e(7462),o=e(1413),i=e(5671),l=e(3144),c=e(9340),s=e(8557),u=e(7294),d=e(8135),p=e(3967),f=e.n(p),m=e(5995),g=e(1784),b=e(1550),h=["getContainer"],v=0,x=Date.now();function y(){var n=v;return v+=1,"rcNotification_".concat(x,"_").concat(n)}var w=function(n){(0,c.Z)(e,n);var t=(0,s.Z)(e);function e(){var n;(0,i.Z)(this,e);for(var a=arguments.length,r=new Array(a),l=0;l=l&&(i.key=o[0].notice.key,i.updateMark=y(),i.userPassKey=r,o.shift()),o.push({notice:i,holderCallback:e})),{notices:o}}))},n.remove=function(t){n.setState((function(n){return{notices:n.notices.filter((function(n){var e=n.notice,a=e.key,r=e.userPassKey;return(null!=r?r:a)!==t}))}}))},n.noticePropsMap={},n}return(0,l.Z)(e,[{key:"getTransitionName",value:function(){var n=this.props,t=n.prefixCls,e=n.animation,a=this.props.transitionName;return!a&&e&&(a="".concat(t,"-").concat(e)),a}},{key:"render",value:function(){var n=this,t=this.state.notices,e=this.props,a=e.prefixCls,i=e.className,l=e.closeIcon,c=e.style,s=[];return t.forEach((function(e,r){var i=e.notice,c=e.holderCallback,u=r===t.length-1?i.updateMark:void 0,d=i.key,p=i.userPassKey,f=(0,o.Z)((0,o.Z)((0,o.Z)({prefixCls:a,closeIcon:l},i),i.props),{},{key:d,noticeKey:p||d,updateMark:u,onClose:function(t){var e;n.remove(t),null===(e=i.onClose)||void 0===e||e.call(i)},onClick:i.onClick,children:i.content});s.push(d),n.noticePropsMap[d]={props:f,holderCallback:c}})),u.createElement("div",{className:f()(a,i),style:c},u.createElement(m.V4,{keys:s,motionName:this.getTransitionName(),onVisibleChanged:function(t,e){var a=e.key;t||delete n.noticePropsMap[a]}},(function(t){var e=t.key,i=t.className,l=t.style,c=t.visible,s=n.noticePropsMap[e],d=s.props,p=s.holderCallback;return p?u.createElement("div",{key:e,className:f()(i,"".concat(a,"-hook-holder")),style:(0,o.Z)({},l),ref:function(t){void 0!==e&&(t?(n.hookRefs.set(e,t),p(t,d)):n.hookRefs.delete(e))}}):u.createElement(g.Z,(0,r.Z)({},d,{className:f()(i,null==d?void 0:d.className),style:(0,o.Z)((0,o.Z)({},l),null==d?void 0:d.style),visible:c}))})))}}]),e}(u.Component);w.newInstance=void 0,w.defaultProps={prefixCls:"rc-notification",animation:"fade",style:{top:65,left:"50%"}},w.newInstance=function(n,t){var e=n||{},o=e.getContainer,i=(0,a.Z)(e,h),l=document.createElement("div");o?o().appendChild(l):document.body.appendChild(l);var c=!1;(0,d.s)(u.createElement(w,(0,r.Z)({},i,{ref:function(n){c||(c=!0,t({notice:function(t){n.add(t)},removeNotice:function(t){n.remove(t)},component:n,destroy:function(){(0,d.v)(l),l.parentNode&&l.parentNode.removeChild(l)},useNotification:function(){return(0,b.Z)(n)}}))}})),l)};const k=w},1550:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(3433),r=e(7462),o=e(9439),i=e(7294),l=e(1784);function c(n){var t=i.useRef({}),e=i.useState([]),c=(0,o.Z)(e,2),s=c[0],u=c[1];return[function(e){var o=!0;n.add(e,(function(n,e){var c=e.key;if(n&&(!t.current[c]||o)){var s=i.createElement(l.Z,(0,r.Z)({},e,{holder:n}));t.current[c]=s,u((function(n){var t=n.findIndex((function(n){return n.key===e.key}));if(-1===t)return[].concat((0,a.Z)(n),[s]);var r=(0,a.Z)(n);return r[t]=s,r}))}o=!1}))},i.createElement(i.Fragment,null,s)]}},6278:(n,t,e)=>{"use strict";e.d(t,{Z:()=>I});var a=e(7462),r=e(1413),o=e(9439),i=e(4925),l=e(7294),c=e(3967),s=e.n(c),u=e(8717),d=e(8410),p=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],f=void 0;function m(n,t){var e=n.prefixCls,o=n.invalidate,c=n.item,d=n.renderItem,m=n.responsive,g=n.responsiveDisabled,b=n.registerSize,h=n.itemKey,v=n.className,x=n.style,y=n.children,w=n.display,k=n.order,E=n.component,C=void 0===E?"div":E,Z=(0,i.Z)(n,p),S=m&&!w;function N(n){b(h,n)}l.useEffect((function(){return function(){N(null)}}),[]);var z,P=d&&c!==f?d(c,{index:k}):y;o||(z={opacity:S?0:1,height:S?0:f,overflowY:S?"hidden":f,order:m?k:f,pointerEvents:S?"none":f,position:S?"absolute":f});var O={};S&&(O["aria-hidden"]=!0);var M=l.createElement(C,(0,a.Z)({className:s()(!o&&e,v),style:(0,r.Z)((0,r.Z)({},z),x)},O,Z,{ref:t}),P);return m&&(M=l.createElement(u.Z,{onResize:function(n){N(n.offsetWidth)},disabled:g},M)),M}var g=l.forwardRef(m);g.displayName="Item";const b=g;var h=e(6680),v=e(3935),x=e(5164);function y(n,t){var e=l.useState(t),a=(0,o.Z)(e,2),r=a[0],i=a[1];return[r,(0,h.Z)((function(t){n((function(){i(t)}))}))]}var w=l.createContext(null),k=["component"],E=["className"],C=["className"],Z=function(n,t){var e=l.useContext(w);if(!e){var r=n.component,o=void 0===r?"div":r,c=(0,i.Z)(n,k);return l.createElement(o,(0,a.Z)({},c,{ref:t}))}var u=e.className,d=(0,i.Z)(e,E),p=n.className,f=(0,i.Z)(n,C);return l.createElement(w.Provider,{value:null},l.createElement(b,(0,a.Z)({ref:t,className:s()(u,p)},d,f)))},S=l.forwardRef(Z);S.displayName="RawItem";const N=S;var z=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","suffix","component","itemComponent","onVisibleChange"],P="responsive",O="invalidate";function M(n){return"+ ".concat(n.length," ...")}function R(n,t){var e,c=n.prefixCls,p=void 0===c?"rc-overflow":c,f=n.data,m=void 0===f?[]:f,g=n.renderItem,h=n.renderRawItem,k=n.itemKey,E=n.itemWidth,C=void 0===E?10:E,Z=n.ssr,S=n.style,N=n.className,R=n.maxCount,T=n.renderRest,I=n.renderRawRest,_=n.suffix,L=n.component,A=void 0===L?"div":L,D=n.itemComponent,j=n.onVisibleChange,F=(0,i.Z)(n,z),K="full"===Z,V=(e=l.useRef(null),function(n){e.current||(e.current=[],function(n){if("undefined"==typeof MessageChannel)(0,x.Z)(n);else{var t=new MessageChannel;t.port1.onmessage=function(){return n()},t.port2.postMessage(void 0)}}((function(){(0,v.unstable_batchedUpdates)((function(){e.current.forEach((function(n){n()})),e.current=null}))}))),e.current.push(n)}),H=y(V,null),B=(0,o.Z)(H,2),U=B[0],W=B[1],q=U||0,$=y(V,new Map),Y=(0,o.Z)($,2),X=Y[0],G=Y[1],Q=y(V,0),J=(0,o.Z)(Q,2),nn=J[0],tn=J[1],en=y(V,0),an=(0,o.Z)(en,2),rn=an[0],on=an[1],ln=y(V,0),cn=(0,o.Z)(ln,2),sn=cn[0],un=cn[1],dn=(0,l.useState)(null),pn=(0,o.Z)(dn,2),fn=pn[0],mn=pn[1],gn=(0,l.useState)(null),bn=(0,o.Z)(gn,2),hn=bn[0],vn=bn[1],xn=l.useMemo((function(){return null===hn&&K?Number.MAX_SAFE_INTEGER:hn||0}),[hn,U]),yn=(0,l.useState)(!1),wn=(0,o.Z)(yn,2),kn=wn[0],En=wn[1],Cn="".concat(p,"-item"),Zn=Math.max(nn,rn),Sn=R===P,Nn=m.length&&Sn,zn=R===O,Pn=Nn||"number"==typeof R&&m.length>R,On=(0,l.useMemo)((function(){var n=m;return Nn?n=null===U&&K?m:m.slice(0,Math.min(m.length,q/C)):"number"==typeof R&&(n=m.slice(0,R)),n}),[m,C,U,R,Nn]),Mn=(0,l.useMemo)((function(){return Nn?m.slice(xn+1):m.slice(On.length)}),[m,On,Nn,xn]),Rn=(0,l.useCallback)((function(n,t){var e;return"function"==typeof k?k(n):null!==(e=k&&(null==n?void 0:n[k]))&&void 0!==e?e:t}),[k]),Tn=(0,l.useCallback)(g||function(n){return n},[g]);function In(n,t,e){(hn!==n||void 0!==t&&t!==fn)&&(vn(n),e||(En(nq){In(a-1,n-r-sn+rn);break}}_&&Ln(0)+sn>q&&mn(null)}}),[q,X,rn,sn,Rn,On]);var An=kn&&!!Mn.length,Dn={};null!==fn&&Nn&&(Dn={position:"absolute",left:fn,top:0});var jn={prefixCls:Cn,responsive:Nn,component:D,invalidate:zn},Fn=h?function(n,t){var e=Rn(n,t);return l.createElement(w.Provider,{key:e,value:(0,r.Z)((0,r.Z)({},jn),{},{order:t,item:n,itemKey:e,registerSize:_n,display:t<=xn})},h(n,t))}:function(n,t){var e=Rn(n,t);return l.createElement(b,(0,a.Z)({},jn,{order:t,key:e,item:n,renderItem:Tn,itemKey:e,registerSize:_n,display:t<=xn}))},Kn={order:An?xn:Number.MAX_SAFE_INTEGER,className:"".concat(Cn,"-rest"),registerSize:function(n,t){on(t),tn(rn)},display:An},Vn=T||M,Hn=I?l.createElement(w.Provider,{value:(0,r.Z)((0,r.Z)({},jn),Kn)},I(Mn)):l.createElement(b,(0,a.Z)({},jn,Kn),"function"==typeof Vn?Vn(Mn):Vn),Bn=l.createElement(A,(0,a.Z)({className:s()(!zn&&p,N),style:S,ref:t},F),On.map(Fn),Pn?Hn:null,_&&l.createElement(b,(0,a.Z)({},jn,{responsive:Sn,responsiveDisabled:!Nn,order:xn,className:"".concat(Cn,"-suffix"),registerSize:function(n,t){un(t)},display:!0,style:Dn}),_));return Sn?l.createElement(u.Z,{onResize:function(n,t){W(t.clientWidth)},disabled:!Nn},Bn):Bn}var T=l.forwardRef(R);T.displayName="Overflow",T.Item=N,T.RESPONSIVE=P,T.INVALIDATE=O;const I=T},2906:(n,t,e)=>{"use strict";e.d(t,{Z:()=>a});const a={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"}},8717:(n,t,e)=>{"use strict";e.d(t,{Z:()=>E});var a=e(7462),r=e(7294),o=e(344),i=(e(334),e(1413)),l=e(1002),c=e(4203),s=e(2550),u=r.createContext(null),d=e(1033),p=new Map,f=new d.Z((function(n){n.forEach((function(n){var t,e=n.target;null===(t=p.get(e))||void 0===t||t.forEach((function(n){return n(e)}))}))})),m=e(5671),g=e(3144),b=e(9340),h=e(8557),v=function(n){(0,b.Z)(e,n);var t=(0,h.Z)(e);function e(){return(0,m.Z)(this,e),t.apply(this,arguments)}return(0,g.Z)(e,[{key:"render",value:function(){return this.props.children}}]),e}(r.Component);function x(n,t){var e=n.children,a=n.disabled,o=r.useRef(null),d=r.useRef(null),m=r.useContext(u),g="function"==typeof e,b=g?e(o):e,h=r.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),x=!g&&r.isValidElement(b)&&(0,s.Yr)(b),y=x?(0,s.C4)(b):null,w=(0,s.x1)(y,o),k=function(){var n;return(0,c.ZP)(o.current)||(o.current&&"object"===(0,l.Z)(o.current)?(0,c.ZP)(null===(n=o.current)||void 0===n?void 0:n.nativeElement):null)||(0,c.ZP)(d.current)};r.useImperativeHandle(t,(function(){return k()}));var E=r.useRef(n);E.current=n;var C=r.useCallback((function(n){var t=E.current,e=t.onResize,a=t.data,r=n.getBoundingClientRect(),o=r.width,l=r.height,c=n.offsetWidth,s=n.offsetHeight,u=Math.floor(o),d=Math.floor(l);if(h.current.width!==u||h.current.height!==d||h.current.offsetWidth!==c||h.current.offsetHeight!==s){var p={width:u,height:d,offsetWidth:c,offsetHeight:s};h.current=p;var f=c===Math.round(o)?o:c,g=s===Math.round(l)?l:s,b=(0,i.Z)((0,i.Z)({},p),{},{offsetWidth:f,offsetHeight:g});null==m||m(b,n,a),e&&Promise.resolve().then((function(){e(b,n)}))}}),[]);return r.useEffect((function(){var n,t,e=k();return e&&!a&&(n=e,t=C,p.has(n)||(p.set(n,new Set),f.observe(n)),p.get(n).add(t)),function(){return function(n,t){p.has(n)&&(p.get(n).delete(t),p.get(n).size||(f.unobserve(n),p.delete(n)))}(e,C)}}),[o.current,a]),r.createElement(v,{ref:d},x?r.cloneElement(b,{ref:w}):b)}const y=r.forwardRef(x);function w(n,t){var e=n.children;return("function"==typeof e?[e]:(0,o.Z)(e)).map((function(e,o){var i=(null==e?void 0:e.key)||"".concat("rc-observer-key","-").concat(o);return r.createElement(y,(0,a.Z)({},n,{key:i,ref:0===o?t:void 0}),e)}))}var k=r.forwardRef(w);k.Collection=function(n){var t=n.children,e=n.onBatchResize,a=r.useRef(0),o=r.useRef([]),i=r.useContext(u),l=r.useCallback((function(n,t,r){a.current+=1;var l=a.current;o.current.push({size:n,element:t,data:r}),Promise.resolve().then((function(){l===a.current&&(null==e||e(o.current),o.current=[])})),null==i||i(n,t,r)}),[e,i]);return r.createElement(u.Provider,{value:l},t)};const E=k},3159:(n,t,e)=>{"use strict";e.d(t,{C:()=>o});var a={adjustX:1,adjustY:1},r=[0,0],o={left:{points:["cr","cl"],overflow:a,offset:[-4,0],targetOffset:r},right:{points:["cl","cr"],overflow:a,offset:[4,0],targetOffset:r},top:{points:["bc","tc"],overflow:a,offset:[0,-4],targetOffset:r},bottom:{points:["tc","bc"],overflow:a,offset:[0,4],targetOffset:r},topLeft:{points:["bl","tl"],overflow:a,offset:[0,-4],targetOffset:r},leftTop:{points:["tr","tl"],overflow:a,offset:[-4,0],targetOffset:r},topRight:{points:["br","tr"],overflow:a,offset:[0,-4],targetOffset:r},rightTop:{points:["tl","tr"],overflow:a,offset:[4,0],targetOffset:r},bottomRight:{points:["tr","br"],overflow:a,offset:[0,4],targetOffset:r},rightBottom:{points:["bl","br"],overflow:a,offset:[4,0],targetOffset:r},bottomLeft:{points:["tl","bl"],overflow:a,offset:[0,4],targetOffset:r},leftBottom:{points:["br","bl"],overflow:a,offset:[-4,0],targetOffset:r}}},2306:(n,t,e)=>{"use strict";e.d(t,{Z:()=>et});var a=e(1413),r=e(7462),o=e(5671),i=e(3144),l=e(7326),c=e(9340),s=e(8557),u=e(4942),d=e(7294),p=e(3935),f=e(5164),m=e(4999),g=e(4203),b=e(2550),h=e(4019),v=e(8924);const x=(0,d.forwardRef)((function(n,t){var e=n.didUpdate,a=n.getContainer,r=n.children,o=(0,d.useRef)(),i=(0,d.useRef)();(0,d.useImperativeHandle)(t,(function(){return{}}));var l=(0,d.useRef)(!1);return!l.current&&(0,v.Z)()&&(i.current=a(),o.current=i.current.parentNode,l.current=!0),(0,d.useEffect)((function(){null==e||e(n)})),(0,d.useEffect)((function(){return null===i.current.parentNode&&null!==o.current&&o.current.appendChild(i.current),function(){var n;null===(n=i.current)||void 0===n||null===(n=n.parentNode)||void 0===n||n.removeChild(i.current)}}),[]),i.current?p.createPortal(r,i.current):null}));var y=e(3967),w=e.n(y);function k(n,t,e){return e?n[0]===t[0]:n[0]===t[0]&&n[1]===t[1]}var E=e(9439),C=e(4925),Z=e(1131),S=e(5995);function N(n){var t=n.prefixCls,e=n.motion,a=n.animation,r=n.transitionName;return e||(a?{motionName:"".concat(t,"-").concat(a)}:r?{motionName:r}:null)}function z(n){var t=n.prefixCls,e=n.visible,o=n.zIndex,i=n.mask,l=n.maskMotion,c=n.maskAnimation,s=n.maskTransitionName;if(!i)return null;var u={};return(l||s||c)&&(u=(0,a.Z)({motionAppear:!0},N({motion:l,prefixCls:t,transitionName:s,animation:c}))),d.createElement(S.ZP,(0,r.Z)({},u,{visible:e,removeOnLeave:!0}),(function(n){var e=n.className;return d.createElement("div",{style:{zIndex:o},className:w()("".concat(t,"-mask"),e)})}))}var P,O=e(1002);function M(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),e.push.apply(e,a)}return e}function R(n){for(var t=1;t=0&&e.left>=0&&e.bottom>e.top&&e.right>e.left?e:null}function wn(n){var t,e,a;if(bn.isWindow(n)||9===n.nodeType){var r=bn.getWindow(n);t={left:bn.getWindowScrollLeft(r),top:bn.getWindowScrollTop(r)},e=bn.viewportWidth(r),a=bn.viewportHeight(r)}else t=bn.offset(n),e=bn.outerWidth(n),a=bn.outerHeight(n);return t.width=e,t.height=a,t}function kn(n,t){var e=t.charAt(0),a=t.charAt(1),r=n.width,o=n.height,i=n.left,l=n.top;return"c"===e?l+=o/2:"b"===e&&(l+=o),"c"===a?i+=r/2:"r"===a&&(i+=r),{left:i,top:l}}function En(n,t,e,a,r){var o=kn(t,e[1]),i=kn(n,e[0]),l=[i.left-o.left,i.top-o.top];return{left:Math.round(n.left-l[0]+a[0]-r[0]),top:Math.round(n.top-l[1]+a[1]-r[1])}}function Cn(n,t,e){return n.lefte.right}function Zn(n,t,e){return n.tope.bottom}function Sn(n,t,e){var a=[];return bn.each(n,(function(n){a.push(n.replace(t,(function(n){return e[n]})))})),a}function Nn(n,t){return n[t]=-n[t],n}function zn(n,t){return(/%$/.test(n)?parseInt(n.substring(0,n.length-1),10)/100*t:parseInt(n,10))||0}function Pn(n,t){n[0]=zn(n[0],t.width),n[1]=zn(n[1],t.height)}function On(n,t,e,a){var r=e.points,o=e.offset||[0,0],i=e.targetOffset||[0,0],l=e.overflow,c=e.source||n;o=[].concat(o),i=[].concat(i);var s={},u=0,d=yn(c,!(!(l=l||{})||!l.alwaysByViewport)),p=wn(c);Pn(o,p),Pn(i,t);var f=En(p,t,r,o,i),m=bn.merge(p,f);if(d&&(l.adjustX||l.adjustY)&&a){if(l.adjustX&&Cn(f,p,d)){var g=Sn(r,/[lr]/gi,{l:"r",r:"l"}),b=Nn(o,0),h=Nn(i,0);(function(n,t,e){return n.left>e.right||n.left+t.widthe.bottom||n.top+t.height=e.left&&r.left+o.width>e.right&&(o.width-=r.left+o.width-e.right),a.adjustX&&r.left+o.width>e.right&&(r.left=Math.max(e.right-o.width,e.left)),a.adjustY&&r.top=e.top&&r.top+o.height>e.bottom&&(o.height-=r.top+o.height-e.bottom),a.adjustY&&r.top+o.height>e.bottom&&(r.top=Math.max(e.bottom-o.height,e.top)),bn.mix(r,o)}(f,p,d,s))}return m.width!==p.width&&bn.css(c,"width",bn.width(c)+m.width-p.width),m.height!==p.height&&bn.css(c,"height",bn.height(c)+m.height-p.height),bn.offset(c,{left:m.left,top:m.top},{useCssRight:e.useCssRight,useCssBottom:e.useCssBottom,useCssTransform:e.useCssTransform,ignoreShake:e.ignoreShake}),{points:r,offset:o,targetOffset:i,overflow:s}}function Mn(n,t,e){var a=e.target||t,r=wn(a),o=!function(n,t){var e=yn(n,t),a=wn(n);return!e||a.left+a.width<=e.left||a.top+a.height<=e.top||a.left>=e.right||a.top>=e.bottom}(a,e.overflow&&e.overflow.alwaysByViewport);return On(n,r,e,o)}Mn.__getOffsetParent=vn,Mn.__getVisibleRectForElement=yn;var Rn=e(1881),Tn=e(5110),In=e(8410),_n=e(1033);function Ln(n,t){var e=null,a=null,r=new _n.Z((function(n){var r=(0,E.Z)(n,1)[0].target;if(document.documentElement.contains(r)){var o=r.getBoundingClientRect(),i=o.width,l=o.height,c=Math.floor(i),s=Math.floor(l);e===c&&a===s||Promise.resolve().then((function(){t({width:c,height:s})})),e=c,a=s}}));return n&&r.observe(n),function(){r.disconnect()}}function An(n){return"function"!=typeof n?null:n()}function Dn(n){return"object"===(0,O.Z)(n)&&n?n:null}var jn=function(n,t){var e=n.children,a=n.disabled,r=n.target,o=n.align,i=n.onAlign,l=n.monitorWindowResize,c=n.monitorBufferTime,s=void 0===c?0:c,u=d.useRef({}),p=d.useRef(),f=d.Children.only(e),g=d.useRef({});g.current.disabled=a,g.current.target=r,g.current.align=o,g.current.onAlign=i;var v=function(n,t){var e=d.useRef(!1),a=d.useRef(null);function r(){window.clearTimeout(a.current)}return[function n(o){if(r(),e.current&&!0!==o)a.current=window.setTimeout((function(){e.current=!1,n()}),t);else{if(!1===function(){var n=g.current,t=n.disabled,e=n.target,a=n.align,r=n.onAlign,o=p.current;if(!t&&e&&o){var i,l=An(e),c=Dn(e);u.current.element=l,u.current.point=c,u.current.align=a;var s=document.activeElement;return l&&(0,Tn.Z)(l)?i=Mn(o,l,a):c&&(i=function(n,t,e){var a,r,o=bn.getDocument(n),i=o.defaultView||o.parentWindow,l=bn.getWindowScrollLeft(i),c=bn.getWindowScrollTop(i),s=bn.viewportWidth(i),u=bn.viewportHeight(i),d={left:a="pageX"in t?t.pageX:l+t.clientX,top:r="pageY"in t?t.pageY:c+t.clientY,width:0,height:0},p=a>=0&&a<=l+s&&r>=0&&r<=c+u,f=[e.points[0],"cc"];return On(n,d,R(R({},e),{},{points:f}),p)}(o,c,a)),function(n,t){n!==document.activeElement&&(0,m.Z)(t,n)&&"function"==typeof n.focus&&n.focus()}(s,o),r&&i&&r(o,i),!0}return!1}())return;e.current=!0,a.current=window.setTimeout((function(){e.current=!1}),t)}},function(){e.current=!1,r()}]}(0,s),x=(0,E.Z)(v,2),y=x[0],w=x[1],k=d.useState(),C=(0,E.Z)(k,2),Z=C[0],S=C[1],N=d.useState(),z=(0,E.Z)(N,2),P=z[0],O=z[1];return(0,In.Z)((function(){S(An(r)),O(Dn(r))})),d.useEffect((function(){var n,t;u.current.element===Z&&((n=u.current.point)===(t=P)||n&&t&&("pageX"in t&&"pageY"in t?n.pageX===t.pageX&&n.pageY===t.pageY:"clientX"in t&&"clientY"in t&&n.clientX===t.clientX&&n.clientY===t.clientY))&&(0,Rn.Z)(u.current.align,o)||y()})),d.useEffect((function(){return Ln(p.current,y)}),[p.current]),d.useEffect((function(){return Ln(Z,y)}),[Z]),d.useEffect((function(){a?w():y()}),[a]),d.useEffect((function(){if(l)return(0,h.Z)(window,"resize",y).remove}),[l]),d.useEffect((function(){return function(){w()}}),[]),d.useImperativeHandle(t,(function(){return{forceAlign:function(){return y(!0)}}})),d.isValidElement(f)&&(f=d.cloneElement(f,{ref:(0,b.sQ)(f.ref,p)})),f},Fn=d.forwardRef(jn);Fn.displayName="Align";const Kn=Fn;var Vn=e(4165),Hn=e(5861),Bn=e(470),Un=["measure","alignPre","align",null,"motion"],Wn=d.forwardRef((function(n,t){var e=n.visible,o=n.prefixCls,i=n.className,l=n.style,c=n.children,s=n.zIndex,u=n.stretch,p=n.destroyPopupOnHide,m=n.forceRender,g=n.align,b=n.point,h=n.getRootDomNode,v=n.getClassNameFromAlign,x=n.onAlign,y=n.onMouseEnter,k=n.onMouseLeave,C=n.onMouseDown,Z=n.onTouchStart,z=n.onClick,P=(0,d.useRef)(),O=(0,d.useRef)(),M=(0,d.useState)(),R=(0,E.Z)(M,2),T=R[0],I=R[1],_=function(n){var t=d.useState({width:0,height:0}),e=(0,E.Z)(t,2),a=e[0],r=e[1];return[d.useMemo((function(){var t={};if(n){var e=a.width,r=a.height;-1!==n.indexOf("height")&&r?t.height=r:-1!==n.indexOf("minHeight")&&r&&(t.minHeight=r),-1!==n.indexOf("width")&&e?t.width=e:-1!==n.indexOf("minWidth")&&e&&(t.minWidth=e)}return t}),[n,a]),function(n){var t=n.offsetWidth,e=n.offsetHeight,a=n.getBoundingClientRect(),o=a.width,i=a.height;Math.abs(t-o)<1&&Math.abs(e-i)<1&&(t=o,e=i),r({width:t,height:e})}]}(u),L=(0,E.Z)(_,2),A=L[0],D=L[1],j=function(n){var t=(0,Bn.Z)(null),e=(0,E.Z)(t,2),a=e[0],r=e[1],o=(0,d.useRef)();function i(n){r(n,!0)}function l(){f.Z.cancel(o.current)}return(0,d.useEffect)((function(){i("measure")}),[n]),(0,d.useEffect)((function(){"measure"===a&&(u&&D(h())),a&&(o.current=(0,f.Z)((0,Hn.Z)((0,Vn.Z)().mark((function n(){var t,e;return(0,Vn.Z)().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:t=Un.indexOf(a),(e=Un[t+1])&&-1!==t&&i(e);case 3:case"end":return n.stop()}}),n)})))))}),[a]),(0,d.useEffect)((function(){return function(){l()}}),[]),[a,function(n){l(),o.current=(0,f.Z)((function(){i((function(n){switch(a){case"align":return"motion";case"motion":return"stable"}return n})),null==n||n()}))}]}(e),F=(0,E.Z)(j,2),K=F[0],V=F[1],H=(0,d.useState)(0),B=(0,E.Z)(H,2),U=B[0],W=B[1],q=(0,d.useRef)();function $(){var n;null===(n=P.current)||void 0===n||n.forceAlign()}function Y(n,t){var e=v(t);T!==e&&I(e),W((function(n){return n+1})),"align"===K&&(null==x||x(n,t))}(0,In.Z)((function(){"alignPre"===K&&W(0)}),[K]),(0,In.Z)((function(){"align"===K&&(U<3?$():V((function(){var n;null===(n=q.current)||void 0===n||n.call(q)})))}),[U]);var X=(0,a.Z)({},N(n));function G(){return new Promise((function(n){q.current=n}))}["onAppearEnd","onEnterEnd","onLeaveEnd"].forEach((function(n){var t=X[n];X[n]=function(n,e){return V(),null==t?void 0:t(n,e)}})),d.useEffect((function(){X.motionName||"motion"!==K||V()}),[X.motionName,K]),d.useImperativeHandle(t,(function(){return{forceAlign:$,getElement:function(){return O.current}}}));var Q=(0,a.Z)((0,a.Z)({},A),{},{zIndex:s,opacity:"motion"!==K&&"stable"!==K&&e?0:void 0,pointerEvents:e||"stable"===K?void 0:"none"},l),J=!0;null==g||!g.points||"align"!==K&&"stable"!==K||(J=!1);var nn=c;return d.Children.count(c)>1&&(nn=d.createElement("div",{className:"".concat(o,"-content")},c)),d.createElement(S.ZP,(0,r.Z)({visible:e,ref:O,leavedClassName:"".concat(o,"-hidden")},X,{onAppearPrepare:G,onEnterPrepare:G,removeOnLeave:p,forceRender:m}),(function(n,t){var e=n.className,r=n.style,l=w()(o,i,T,e);return d.createElement(Kn,{target:b||h,key:"popup",ref:P,monitorWindowResize:!0,disabled:J,align:g,onAlign:Y},d.createElement("div",{ref:t,className:l,onMouseEnter:y,onMouseLeave:k,onMouseDownCapture:C,onTouchStartCapture:Z,onClick:z,style:(0,a.Z)((0,a.Z)({},r),Q)},nn))}))}));Wn.displayName="PopupInner";const qn=Wn;var $n=d.forwardRef((function(n,t){var e=n.prefixCls,o=n.visible,i=n.zIndex,l=n.children,c=n.mobile,s=(c=void 0===c?{}:c).popupClassName,u=c.popupStyle,p=c.popupMotion,f=void 0===p?{}:p,m=c.popupRender,g=n.onClick,b=d.useRef();d.useImperativeHandle(t,(function(){return{forceAlign:function(){},getElement:function(){return b.current}}}));var h=(0,a.Z)({zIndex:i},u),v=l;return d.Children.count(l)>1&&(v=d.createElement("div",{className:"".concat(e,"-content")},l)),m&&(v=m(v)),d.createElement(S.ZP,(0,r.Z)({visible:o,ref:b,removeOnLeave:!0},f),(function(n,t){var r=n.className,o=n.style,i=w()(e,s,r);return d.createElement("div",{ref:t,className:i,onClick:g,style:(0,a.Z)((0,a.Z)({},o),h)},v)}))}));$n.displayName="MobilePopupInner";const Yn=$n;var Xn=["visible","mobile"],Gn=d.forwardRef((function(n,t){var e=n.visible,o=n.mobile,i=(0,C.Z)(n,Xn),l=(0,d.useState)(e),c=(0,E.Z)(l,2),s=c[0],u=c[1],p=(0,d.useState)(!1),f=(0,E.Z)(p,2),m=f[0],g=f[1],b=(0,a.Z)((0,a.Z)({},i),{},{visible:s});(0,d.useEffect)((function(){u(e),e&&o&&g((0,Z.Z)())}),[e,o]);var h=m?d.createElement(Yn,(0,r.Z)({},b,{mobile:o,ref:t})):d.createElement(qn,(0,r.Z)({},b,{ref:t}));return d.createElement("div",null,d.createElement(z,b),h)}));Gn.displayName="Popup";const Qn=Gn,Jn=d.createContext(null);function nt(){}var tt=["onClick","onMouseDown","onTouchStart","onMouseEnter","onMouseLeave","onFocus","onBlur","onContextMenu"];const et=(at=x,rt=function(n){(0,c.Z)(e,n);var t=(0,s.Z)(e);function e(n){var a,i;return(0,o.Z)(this,e),a=t.call(this,n),(0,u.Z)((0,l.Z)(a),"popupRef",d.createRef()),(0,u.Z)((0,l.Z)(a),"triggerRef",d.createRef()),(0,u.Z)((0,l.Z)(a),"portalContainer",void 0),(0,u.Z)((0,l.Z)(a),"attachId",void 0),(0,u.Z)((0,l.Z)(a),"clickOutsideHandler",void 0),(0,u.Z)((0,l.Z)(a),"touchOutsideHandler",void 0),(0,u.Z)((0,l.Z)(a),"contextMenuOutsideHandler1",void 0),(0,u.Z)((0,l.Z)(a),"contextMenuOutsideHandler2",void 0),(0,u.Z)((0,l.Z)(a),"mouseDownTimeout",void 0),(0,u.Z)((0,l.Z)(a),"focusTime",void 0),(0,u.Z)((0,l.Z)(a),"preClickTime",void 0),(0,u.Z)((0,l.Z)(a),"preTouchTime",void 0),(0,u.Z)((0,l.Z)(a),"delayTimer",void 0),(0,u.Z)((0,l.Z)(a),"hasPopupMouseDown",void 0),(0,u.Z)((0,l.Z)(a),"onMouseEnter",(function(n){var t=a.props.mouseEnterDelay;a.fireEvents("onMouseEnter",n),a.delaySetPopupVisible(!0,t,t?null:n)})),(0,u.Z)((0,l.Z)(a),"onMouseMove",(function(n){a.fireEvents("onMouseMove",n),a.setPoint(n)})),(0,u.Z)((0,l.Z)(a),"onMouseLeave",(function(n){a.fireEvents("onMouseLeave",n),a.delaySetPopupVisible(!1,a.props.mouseLeaveDelay)})),(0,u.Z)((0,l.Z)(a),"onPopupMouseEnter",(function(){a.clearDelayTimer()})),(0,u.Z)((0,l.Z)(a),"onPopupMouseLeave",(function(n){var t;n.relatedTarget&&!n.relatedTarget.setTimeout&&(0,m.Z)(null===(t=a.popupRef.current)||void 0===t?void 0:t.getElement(),n.relatedTarget)||a.delaySetPopupVisible(!1,a.props.mouseLeaveDelay)})),(0,u.Z)((0,l.Z)(a),"onFocus",(function(n){a.fireEvents("onFocus",n),a.clearDelayTimer(),a.isFocusToShow()&&(a.focusTime=Date.now(),a.delaySetPopupVisible(!0,a.props.focusDelay))})),(0,u.Z)((0,l.Z)(a),"onMouseDown",(function(n){a.fireEvents("onMouseDown",n),a.preClickTime=Date.now()})),(0,u.Z)((0,l.Z)(a),"onTouchStart",(function(n){a.fireEvents("onTouchStart",n),a.preTouchTime=Date.now()})),(0,u.Z)((0,l.Z)(a),"onBlur",(function(n){a.fireEvents("onBlur",n),a.clearDelayTimer(),a.isBlurToHide()&&a.delaySetPopupVisible(!1,a.props.blurDelay)})),(0,u.Z)((0,l.Z)(a),"onContextMenu",(function(n){n.preventDefault(),a.fireEvents("onContextMenu",n),a.setPopupVisible(!0,n)})),(0,u.Z)((0,l.Z)(a),"onContextMenuClose",(function(){a.isContextMenuToShow()&&a.close()})),(0,u.Z)((0,l.Z)(a),"onClick",(function(n){if(a.fireEvents("onClick",n),a.focusTime){var t;if(a.preClickTime&&a.preTouchTime?t=Math.min(a.preClickTime,a.preTouchTime):a.preClickTime?t=a.preClickTime:a.preTouchTime&&(t=a.preTouchTime),Math.abs(t-a.focusTime)<20)return;a.focusTime=0}a.preClickTime=0,a.preTouchTime=0,a.isClickToShow()&&(a.isClickToHide()||a.isBlurToHide())&&n&&n.preventDefault&&n.preventDefault();var e=!a.state.popupVisible;(a.isClickToHide()&&!e||e&&a.isClickToShow())&&a.setPopupVisible(!a.state.popupVisible,n)})),(0,u.Z)((0,l.Z)(a),"onPopupMouseDown",(function(){var n;a.hasPopupMouseDown=!0,clearTimeout(a.mouseDownTimeout),a.mouseDownTimeout=window.setTimeout((function(){a.hasPopupMouseDown=!1}),0),a.context&&(n=a.context).onPopupMouseDown.apply(n,arguments)})),(0,u.Z)((0,l.Z)(a),"onDocumentClick",(function(n){if(!a.props.mask||a.props.maskClosable){var t=n.target,e=a.getRootDomNode(),r=a.getPopupDomNode();(0,m.Z)(e,t)&&!a.isContextMenuOnly()||(0,m.Z)(r,t)||a.hasPopupMouseDown||a.close()}})),(0,u.Z)((0,l.Z)(a),"getRootDomNode",(function(){var n=a.props.getTriggerDOMNode;if(n)return n(a.triggerRef.current);try{var t=(0,g.ZP)(a.triggerRef.current);if(t)return t}catch(n){}return p.findDOMNode((0,l.Z)(a))})),(0,u.Z)((0,l.Z)(a),"getPopupClassNameFromAlign",(function(n){var t=[],e=a.props,r=e.popupPlacement,o=e.builtinPlacements,i=e.prefixCls,l=e.alignPoint,c=e.getPopupClassNameFromAlign;return r&&o&&t.push(function(n,t,e,a){for(var r=e.points,o=Object.keys(n),i=0;i{"use strict";e.d(t,{Z:()=>o});var a=e(5517),r=e(7294);function o(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=[];return r.Children.forEach(n,(function(n){(null!=n||t.keepEmpty)&&(Array.isArray(n)?e=e.concat(o(n)):(0,a.Z)(n)&&n.props?e=e.concat(o(n.props.children,t)):e.push(n))})),e}},4019:(n,t,e)=>{"use strict";e.d(t,{Z:()=>r});var a=e(3935);function r(n,t,e,r){var o=a.unstable_batchedUpdates?function(n){a.unstable_batchedUpdates(e,n)}:e;return null!=n&&n.addEventListener&&n.addEventListener(t,o,r),{remove:function(){null!=n&&n.removeEventListener&&n.removeEventListener(t,o,r)}}}},8924:(n,t,e)=>{"use strict";function a(){return!("undefined"==typeof window||!window.document||!window.document.createElement)}e.d(t,{Z:()=>a})},4999:(n,t,e)=>{"use strict";function a(n,t){if(!n)return!1;if(n.contains)return n.contains(t);for(var e=t;e;){if(e===n)return!0;e=e.parentNode}return!1}e.d(t,{Z:()=>a})},4958:(n,t,e)=>{"use strict";e.d(t,{hq:()=>b,jL:()=>g});var a=e(1413),r=e(8924),o=e(4999),i="data-rc-order",l="data-rc-priority",c="rc-util-key",s=new Map;function u(){var n=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).mark;return n?n.startsWith("data-")?n:"data-".concat(n):c}function d(n){return n.attachTo?n.attachTo:document.querySelector("head")||document.body}function p(n){return Array.from((s.get(n)||n).children).filter((function(n){return"STYLE"===n.tagName}))}function f(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(0,r.Z)())return null;var e=t.csp,a=t.prepend,o=t.priority,c=void 0===o?0:o,s=function(n){return"queue"===n?"prependQueue":n?"prepend":"append"}(a),u="prependQueue"===s,f=document.createElement("style");f.setAttribute(i,s),u&&c&&f.setAttribute(l,"".concat(c)),null!=e&&e.nonce&&(f.nonce=null==e?void 0:e.nonce),f.innerHTML=n;var m=d(t),g=m.firstChild;if(a){if(u){var b=(t.styles||p(m)).filter((function(n){if(!["prepend","prependQueue"].includes(n.getAttribute(i)))return!1;var t=Number(n.getAttribute(l)||0);return c>=t}));if(b.length)return m.insertBefore(f,b[b.length-1].nextSibling),f}m.insertBefore(f,g)}else m.appendChild(f);return f}function m(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=d(t);return(t.styles||p(e)).find((function(e){return e.getAttribute(u(t))===n}))}function g(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=m(n,t);e&&d(t).removeChild(e)}function b(n,t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=d(e),i=p(r),l=(0,a.Z)((0,a.Z)({},e),{},{styles:i});!function(n,t){var e=s.get(n);if(!e||!(0,o.Z)(document,e)){var a=f("",t),r=a.parentNode;s.set(n,r),n.removeChild(a)}}(r,l);var c,g,b,h=m(t,l);if(h)return null!==(c=l.csp)&&void 0!==c&&c.nonce&&h.nonce!==(null===(g=l.csp)||void 0===g?void 0:g.nonce)&&(h.nonce=null===(b=l.csp)||void 0===b?void 0:b.nonce),h.innerHTML!==n&&(h.innerHTML=n),h;var v=f(n,l);return v.setAttribute(u(l),t),v}},4203:(n,t,e)=>{"use strict";e.d(t,{ZP:()=>l});var a=e(1002),r=e(7294),o=e(3935);function i(n){return n instanceof HTMLElement||n instanceof SVGElement}function l(n){var t,e=function(n){return n&&"object"===(0,a.Z)(n)&&i(n.nativeElement)?n.nativeElement:i(n)?n:null}(n);return e||(n instanceof r.Component?null===(t=o.findDOMNode)||void 0===t?void 0:t.call(o,n):null)}},8603:(n,t,e)=>{"use strict";e.d(t,{tS:()=>i});var a=e(3433),r=e(5110);function o(n){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if((0,r.Z)(n)){var e=n.nodeName.toLowerCase(),a=["input","select","textarea","button"].includes(e)||n.isContentEditable||"a"===e&&!!n.getAttribute("href"),o=n.getAttribute("tabindex"),i=Number(o),l=null;return o&&!Number.isNaN(i)?l=i:a&&null===l&&(l=0),a&&n.disabled&&(l=null),null!==l&&(l>=0||t&&l<0)}return!1}function i(n){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],e=(0,a.Z)(n.querySelectorAll("*")).filter((function(n){return o(n,t)}));return o(n,t)&&e.unshift(n),e}},5110:(n,t,e)=>{"use strict";e.d(t,{Z:()=>a});const a=function(n){if(!n)return!1;if(n instanceof Element){if(n.offsetParent)return!0;if(n.getBBox){var t=n.getBBox(),e=t.width,a=t.height;if(e||a)return!0}if(n.getBoundingClientRect){var r=n.getBoundingClientRect(),o=r.width,i=r.height;if(o||i)return!0}}return!1}},9370:(n,t,e)=>{"use strict";e.d(t,{G:()=>i});var a=e(8924),r=function(n){if((0,a.Z)()&&window.document.documentElement){var t=Array.isArray(n)?n:[n],e=window.document.documentElement;return t.some((function(n){return n in e.style}))}return!1},o=function(n,t){if(!r(n))return!1;var e=document.createElement("div"),a=e.style[n];return e.style[n]=t,e.style[n]!==a};function i(n,t){return Array.isArray(n)||void 0===t?r(n):o(n,t)}},5105:(n,t,e)=>{"use strict";e.d(t,{Z:()=>r});var a={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(n){var t=n.keyCode;if(n.altKey&&!n.ctrlKey||n.metaKey||t>=a.F1&&t<=a.F12)return!1;switch(t){case a.ALT:case a.CAPS_LOCK:case a.CONTEXT_MENU:case a.CTRL:case a.DOWN:case a.END:case a.ESC:case a.HOME:case a.INSERT:case a.LEFT:case a.MAC_FF_META:case a.META:case a.NUMLOCK:case a.NUM_CENTER:case a.PAGE_DOWN:case a.PAGE_UP:case a.PAUSE:case a.PRINT_SCREEN:case a.RIGHT:case a.SHIFT:case a.UP:case a.WIN_KEY:case a.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(n){if(n>=a.ZERO&&n<=a.NINE)return!0;if(n>=a.NUM_ZERO&&n<=a.NUM_MULTIPLY)return!0;if(n>=a.A&&n<=a.Z)return!0;if(-1!==window.navigator.userAgent.indexOf("WebKit")&&0===n)return!0;switch(n){case a.SPACE:case a.QUESTION_MARK:case a.NUM_PLUS:case a.NUM_MINUS:case a.NUM_PERIOD:case a.NUM_DIVISION:case a.SEMICOLON:case a.DASH:case a.EQUALS:case a.COMMA:case a.PERIOD:case a.SLASH:case a.APOSTROPHE:case a.SINGLE_QUOTE:case a.OPEN_SQUARE_BRACKET:case a.BACKSLASH:case a.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};const r=a},5517:(n,t,e)=>{"use strict";e.d(t,{Z:()=>l});var a=e(1002),r=Symbol.for("react.element"),o=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function l(n){return n&&"object"===(0,a.Z)(n)&&(n.$$typeof===r||n.$$typeof===o)&&n.type===i}},8135:(n,t,e)=>{"use strict";var a;e.d(t,{s:()=>b,v:()=>y});var r,o=e(4165),i=e(5861),l=e(1002),c=e(1413),s=e(3935),u=(0,c.Z)({},a||(a=e.t(s,2))),d=u.version,p=u.render,f=u.unmountComponentAtNode;try{Number((d||"").split(".")[0])>=18&&(r=u.createRoot)}catch(n){}function m(n){var t=u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;t&&"object"===(0,l.Z)(t)&&(t.usingClientEntryPoint=n)}var g="__rc_react_root__";function b(n,t){r?function(n,t){m(!0);var e=t[g]||r(t);m(!1),e.render(n),t[g]=e}(n,t):function(n,t){null==p||p(n,t)}(n,t)}function h(n){return v.apply(this,arguments)}function v(){return(v=(0,i.Z)((0,o.Z)().mark((function n(t){return(0,o.Z)().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Promise.resolve().then((function(){var n;null===(n=t[g])||void 0===n||n.unmount(),delete t[g]})));case 1:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function x(n){f(n)}function y(n){return w.apply(this,arguments)}function w(){return(w=(0,i.Z)((0,o.Z)().mark((function n(t){return(0,o.Z)().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(void 0===r){n.next=2;break}return n.abrupt("return",h(t));case 2:x(t);case 3:case"end":return n.stop()}}),n)})))).apply(this,arguments)}},4204:(n,t,e)=>{"use strict";e.d(t,{Z:()=>i,o:()=>l});var a,r=e(4958);function o(n){var t="rc-scrollbar-measure-".concat(Math.random().toString(36).substring(7)),e=document.createElement("div");e.id=t;var a,o,i=e.style;if(i.position="absolute",i.left="0",i.top="0",i.width="100px",i.height="100px",i.overflow="scroll",n){var l=getComputedStyle(n);i.scrollbarColor=l.scrollbarColor,i.scrollbarWidth=l.scrollbarWidth;var c=getComputedStyle(n,"::-webkit-scrollbar"),s=parseInt(c.width,10),u=parseInt(c.height,10);try{var d=s?"width: ".concat(c.width,";"):"",p=u?"height: ".concat(c.height,";"):"";(0,r.hq)("\n#".concat(t,"::-webkit-scrollbar {\n").concat(d,"\n").concat(p,"\n}"),t)}catch(n){console.error(n),a=s,o=u}}document.body.appendChild(e);var f=n&&a&&!isNaN(a)?a:e.offsetWidth-e.clientWidth,m=n&&o&&!isNaN(o)?o:e.offsetHeight-e.clientHeight;return document.body.removeChild(e),(0,r.jL)(t),{width:f,height:m}}function i(n){return"undefined"==typeof document?0:((n||void 0===a)&&(a=o()),a.width)}function l(n){return"undefined"!=typeof document&&n&&n instanceof Element?o(n):{width:0,height:0}}},6680:(n,t,e)=>{"use strict";e.d(t,{Z:()=>r});var a=e(7294);function r(n){var t=a.useRef();t.current=n;var e=a.useCallback((function(){for(var n,e=arguments.length,a=new Array(e),r=0;r{"use strict";e.d(t,{Z:()=>l,o:()=>i});var a=e(7294),r=(0,e(8924).Z)()?a.useLayoutEffect:a.useEffect,o=function(n,t){var e=a.useRef(!0);r((function(){return n(e.current)}),t),r((function(){return e.current=!1,function(){e.current=!0}}),[])},i=function(n,t){o((function(t){if(!t)return n()}),t)};const l=o},6982:(n,t,e)=>{"use strict";e.d(t,{Z:()=>r});var a=e(7294);function r(n,t,e){var r=a.useRef({});return"value"in r.current&&!e(r.current.condition,t)||(r.current.value=n(),r.current.condition=t),r.current.value}},1770:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(9439),r=e(6680),o=e(8410),i=e(470);function l(n){return void 0!==n}function c(n,t){var e=t||{},c=e.defaultValue,s=e.value,u=e.onChange,d=e.postState,p=(0,i.Z)((function(){return l(s)?s:l(c)?"function"==typeof c?c():c:"function"==typeof n?n():n})),f=(0,a.Z)(p,2),m=f[0],g=f[1],b=void 0!==s?s:m,h=d?d(b):b,v=(0,r.Z)(u),x=(0,i.Z)([b]),y=(0,a.Z)(x,2),w=y[0],k=y[1];return(0,o.o)((function(){var n=w[0];m!==n&&v(m,n)}),[w]),(0,o.o)((function(){l(s)||g(s)}),[s]),[h,(0,r.Z)((function(n,t){g(n,t),k([b],t)}))]}},470:(n,t,e)=>{"use strict";e.d(t,{Z:()=>o});var a=e(9439),r=e(7294);function o(n){var t=r.useRef(!1),e=r.useState(n),o=(0,a.Z)(e,2),i=o[0],l=o[1];return r.useEffect((function(){return t.current=!1,function(){t.current=!0}}),[]),[i,function(n,e){e&&t.current||l(n)}]}},6790:(n,t,e)=>{"use strict";e.d(t,{zX:()=>a.Z});var a=e(6680);e(1770),e(2550),e(8880),e(334)},1881:(n,t,e)=>{"use strict";e.d(t,{Z:()=>o});var a=e(1002),r=e(334);const o=function(n,t){var e=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=new Set;return function n(t,i){var l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,c=o.has(t);if((0,r.ZP)(!c,"Warning: There may be circular references"),c)return!1;if(t===i)return!0;if(e&&l>1)return!1;o.add(t);var s=l+1;if(Array.isArray(t)){if(!Array.isArray(i)||t.length!==i.length)return!1;for(var u=0;u{"use strict";e.d(t,{Z:()=>a});const a=function(){if("undefined"==typeof navigator||"undefined"==typeof window)return!1;var n=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(n)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(null==n?void 0:n.substr(0,4))}},8423:(n,t,e)=>{"use strict";function a(n,t){var e=Object.assign({},n);return Array.isArray(t)&&t.forEach((function(n){delete e[n]})),e}e.d(t,{Z:()=>a})},4217:(n,t,e)=>{"use strict";e.d(t,{Z:()=>c});var a=e(1413),r="".concat("accept acceptCharset accessKey action allowFullScreen allowTransparency\n alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\n charSet checked classID className colSpan cols content contentEditable contextMenu\n controls coords crossOrigin data dateTime default defer dir disabled download draggable\n encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\n headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\n is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\n mediaGroup method min minLength multiple muted name noValidate nonce open\n optimum pattern placeholder poster preload radioGroup readOnly rel required\n reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\n shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\n summary tabIndex target title type useMap value width wmode wrap"," ").concat("onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\n onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\n onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\n onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\n onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\n onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\n onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError").split(/[\s\n]+/),o="aria-",i="data-";function l(n,t){return 0===n.indexOf(t)}function c(n){var t,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t=!1===e?{aria:!0,data:!0,attr:!0}:!0===e?{aria:!0}:(0,a.Z)({},e);var c={};return Object.keys(n).forEach((function(e){(t.aria&&("role"===e||l(e,o))||t.data&&l(e,i)||t.attr&&r.includes(e))&&(c[e]=n[e])})),c}},5164:(n,t,e)=>{"use strict";e.d(t,{Z:()=>s});var a=function(n){return+setTimeout(n,16)},r=function(n){return clearTimeout(n)};"undefined"!=typeof window&&"requestAnimationFrame"in window&&(a=function(n){return window.requestAnimationFrame(n)},r=function(n){return window.cancelAnimationFrame(n)});var o=0,i=new Map;function l(n){i.delete(n)}var c=function(n){var t=o+=1;return function e(r){if(0===r)l(t),n();else{var o=a((function(){e(r-1)}));i.set(t,o)}}(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1),t};c.cancel=function(n){var t=i.get(n);return l(n),r(t)};const s=c},2550:(n,t,e)=>{"use strict";e.d(t,{C4:()=>m,Yr:()=>p,mH:()=>s,sQ:()=>u,x1:()=>d});var a=e(1002),r=e(7294),o=e(9864),i=e(6982),l=e(5517),c=Number(r.version.split(".")[0]),s=function(n,t){"function"==typeof n?n(t):"object"===(0,a.Z)(n)&&n&&"current"in n&&(n.current=t)},u=function(){for(var n=arguments.length,t=new Array(n),e=0;e=19)return!0;var a=(0,o.isMemo)(n)?n.type.type:n.type;return!!("function"!=typeof a||null!==(t=a.prototype)&&void 0!==t&&t.render||a.$$typeof===o.ForwardRef)&&!!("function"!=typeof n||null!==(e=n.prototype)&&void 0!==e&&e.render||n.$$typeof===o.ForwardRef)};function f(n){return(0,r.isValidElement)(n)&&!(0,l.Z)(n)}var m=function(n){if(n&&f(n)){var t=n;return t.props.propertyIsEnumerable("ref")?t.props.ref:t.ref}return null}},8306:(n,t,e)=>{"use strict";function a(n,t){for(var e=n,a=0;aa})},8880:(n,t,e)=>{"use strict";e.d(t,{T:()=>p,Z:()=>s});var a=e(1002),r=e(1413),o=e(3433),i=e(4506),l=e(8306);function c(n,t,e,a){if(!t.length)return e;var l,s=(0,i.Z)(t),u=s[0],d=s.slice(1);return l=n||"number"!=typeof u?Array.isArray(n)?(0,o.Z)(n):(0,r.Z)({},n):[],a&&void 0===e&&1===d.length?delete l[u][d[0]]:l[u]=c(l[u],d,e,a),l}function s(n,t,e){var a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return t.length&&a&&void 0===e&&!(0,l.Z)(n,t.slice(0,-1))?n:c(n,t,e,a)}function u(n){return Array.isArray(n)?[]:{}}var d="undefined"==typeof Reflect?Object.keys:Reflect.ownKeys;function p(){for(var n=arguments.length,t=new Array(n),e=0;e{"use strict";e.d(t,{Kp:()=>o,ZP:()=>s});var a={},r=[];function o(n,t){}function i(n,t){}function l(n,t,e){t||a[e]||(n(!1,e),a[e]=!0)}function c(n,t){l(o,n,t)}c.preMessage=function(n){r.push(n)},c.resetWarned=function(){a={}},c.noteOnce=function(n,t){l(i,n,t)};const s=c},1635:(n,t,e)=>{"use strict";e.d(t,{Z:()=>L});var a=e(7462),r=e(1002),o=e(1413),i=e(4942),l=e(9439),c=e(4925),s=e(3967),u=e.n(s),d=e(8717),p=e(6790),f=e(8410),m=e(7294),g=e(3935),b=m.forwardRef((function(n,t){var e=n.height,r=n.offsetY,l=n.offsetX,c=n.children,s=n.prefixCls,p=n.onInnerResize,f=n.innerProps,g=n.rtl,b=n.extra,h={},v={display:"flex",flexDirection:"column"};return void 0!==r&&(h={height:e,position:"relative",overflow:"hidden"},v=(0,o.Z)((0,o.Z)({},v),{},(0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({transform:"translateY(".concat(r,"px)")},g?"marginRight":"marginLeft",-l),"position","absolute"),"left",0),"right",0),"top",0))),m.createElement("div",{style:h},m.createElement(d.Z,{onResize:function(n){n.offsetHeight&&p&&p()}},m.createElement("div",(0,a.Z)({style:v,className:u()((0,i.Z)({},"".concat(s,"-holder-inner"),s)),ref:t},f),c,b)))}));b.displayName="Filler";const h=b;function v(n){var t=n.children,e=n.setRef,a=m.useCallback((function(n){e(n)}),[]);return m.cloneElement(t,{ref:a})}var x=e(5164);const y="object"===("undefined"==typeof navigator?"undefined":(0,r.Z)(navigator))&&/Firefox/i.test(navigator.userAgent),w=function(n,t,e,a){var r=(0,m.useRef)(!1),o=(0,m.useRef)(null),i=(0,m.useRef)({top:n,bottom:t,left:e,right:a});return i.current.top=n,i.current.bottom=t,i.current.left=e,i.current.right=a,function(n,t){var e=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=n?t<0&&i.current.left||t>0&&i.current.right:t<0&&i.current.top||t>0&&i.current.bottom;return e&&a?(clearTimeout(o.current),r.current=!1):a&&!r.current||(clearTimeout(o.current),r.current=!0,o.current=setTimeout((function(){r.current=!1}),50)),!r.current&&a}};var k=e(5671),E=e(3144);const C=function(){function n(){(0,k.Z)(this,n),(0,i.Z)(this,"maps",void 0),(0,i.Z)(this,"id",0),(0,i.Z)(this,"diffKeys",new Set),this.maps=Object.create(null)}return(0,E.Z)(n,[{key:"set",value:function(n,t){this.maps[n]=t,this.id+=1,this.diffKeys.add(n)}},{key:"get",value:function(n){return this.maps[n]}},{key:"resetRecord",value:function(){this.diffKeys.clear()}},{key:"getRecord",value:function(){return this.diffKeys}}]),n}();function Z(n){var t=parseFloat(n);return isNaN(t)?0:t}var S=14/15;function N(n){return Math.floor(Math.pow(n,.5))}function z(n,t){return("touches"in n?n.touches[0]:n)[t?"pageX":"pageY"]-window[t?"scrollX":"scrollY"]}const P=m.forwardRef((function(n,t){var e=n.prefixCls,a=n.rtl,r=n.scrollOffset,c=n.scrollRange,s=n.onStartMove,d=n.onStopMove,p=n.onScroll,f=n.horizontal,g=n.spinSize,b=n.containerSize,h=n.style,v=n.thumbStyle,y=n.showScrollBar,w=m.useState(!1),k=(0,l.Z)(w,2),E=k[0],C=k[1],Z=m.useState(null),S=(0,l.Z)(Z,2),N=S[0],P=S[1],O=m.useState(null),M=(0,l.Z)(O,2),R=M[0],T=M[1],I=!a,_=m.useRef(),L=m.useRef(),A=m.useState(y),D=(0,l.Z)(A,2),j=D[0],F=D[1],K=m.useRef(),V=function(){!0!==y&&!1!==y&&(clearTimeout(K.current),F(!0),K.current=setTimeout((function(){F(!1)}),3e3))},H=c-b||0,B=b-g||0,U=m.useMemo((function(){return 0===r||0===H?0:r/H*B}),[r,H,B]),W=m.useRef({top:U,dragging:E,pageY:N,startTop:R});W.current={top:U,dragging:E,pageY:N,startTop:R};var q=function(n){C(!0),P(z(n,f)),T(W.current.top),s(),n.stopPropagation(),n.preventDefault()};m.useEffect((function(){var n=function(n){n.preventDefault()},t=_.current,e=L.current;return t.addEventListener("touchstart",n,{passive:!1}),e.addEventListener("touchstart",q,{passive:!1}),function(){t.removeEventListener("touchstart",n),e.removeEventListener("touchstart",q)}}),[]);var $=m.useRef();$.current=H;var Y=m.useRef();Y.current=B,m.useEffect((function(){if(E){var n,t=function(t){var e=W.current,a=e.dragging,r=e.pageY,o=e.startTop;x.Z.cancel(n);var i=_.current.getBoundingClientRect(),l=b/(f?i.width:i.height);if(a){var c=(z(t,f)-r)*l,s=o;!I&&f?s-=c:s+=c;var u=$.current,d=Y.current,m=d?s/d:0,g=Math.ceil(m*u);g=Math.max(g,0),g=Math.min(g,u),n=(0,x.Z)((function(){p(g,f)}))}},e=function(){C(!1),d()};return window.addEventListener("mousemove",t,{passive:!0}),window.addEventListener("touchmove",t,{passive:!0}),window.addEventListener("mouseup",e,{passive:!0}),window.addEventListener("touchend",e,{passive:!0}),function(){window.removeEventListener("mousemove",t),window.removeEventListener("touchmove",t),window.removeEventListener("mouseup",e),window.removeEventListener("touchend",e),x.Z.cancel(n)}}}),[E]),m.useEffect((function(){return V(),function(){clearTimeout(K.current)}}),[r]),m.useImperativeHandle(t,(function(){return{delayHidden:V}}));var X="".concat(e,"-scrollbar"),G={position:"absolute",visibility:j?null:"hidden"},Q={position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"};return f?(G.height=8,G.left=0,G.right=0,G.bottom=0,Q.height="100%",Q.width=g,I?Q.left=U:Q.right=U):(G.width=8,G.top=0,G.bottom=0,I?G.right=0:G.left=0,Q.width="100%",Q.height=g,Q.top=U),m.createElement("div",{ref:_,className:u()(X,(0,i.Z)((0,i.Z)((0,i.Z)({},"".concat(X,"-horizontal"),f),"".concat(X,"-vertical"),!f),"".concat(X,"-visible"),j)),style:(0,o.Z)((0,o.Z)({},G),h),onMouseDown:function(n){n.stopPropagation(),n.preventDefault()},onMouseMove:V},m.createElement("div",{ref:L,className:u()("".concat(X,"-thumb"),(0,i.Z)({},"".concat(X,"-thumb-moving"),E)),style:(0,o.Z)((0,o.Z)({},Q),v),onMouseDown:q}))}));function O(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=n/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)*n;return isNaN(t)&&(t=0),t=Math.max(t,20),Math.floor(t)}var M=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles","showScrollBar"],R=[],T={overflowY:"auto",overflowAnchor:"none"};function I(n,t){var e=n.prefixCls,s=void 0===e?"rc-virtual-list":e,b=n.className,k=n.height,E=n.itemHeight,I=n.fullHeight,_=void 0===I||I,L=n.style,A=n.data,D=n.children,j=n.itemKey,F=n.virtual,K=n.direction,V=n.scrollWidth,H=n.component,B=void 0===H?"div":H,U=n.onScroll,W=n.onVirtualScroll,q=n.onVisibleChange,$=n.innerProps,Y=n.extraRender,X=n.styles,G=n.showScrollBar,Q=void 0===G?"optional":G,J=(0,c.Z)(n,M),nn=m.useCallback((function(n){return"function"==typeof j?j(n):null==n?void 0:n[j]}),[j]),tn=function(n){var t=m.useState(0),e=(0,l.Z)(t,2),a=e[0],r=e[1],o=(0,m.useRef)(new Map),i=(0,m.useRef)(new C),c=(0,m.useRef)(0);function s(){c.current+=1}function u(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];s();var t=function(){var n=!1;o.current.forEach((function(t,e){if(t&&t.offsetParent){var a=t.offsetHeight,r=getComputedStyle(t),o=r.marginTop,l=r.marginBottom,c=a+Z(o)+Z(l);i.current.get(e)!==c&&(i.current.set(e,c),n=!0)}})),n&&r((function(n){return n+1}))};if(n)t();else{c.current+=1;var e=c.current;Promise.resolve().then((function(){e===c.current&&t()}))}}return(0,m.useEffect)((function(){return s}),[]),[function(t,e){var a=n(t);o.current.get(a);e?(o.current.set(a,e),u()):o.current.delete(a)},u,i.current,a]}(nn),en=(0,l.Z)(tn,4),an=en[0],rn=en[1],on=en[2],ln=en[3],cn=!(!1===F||!k||!E),sn=m.useMemo((function(){return Object.values(on.maps).reduce((function(n,t){return n+t}),0)}),[on.id,on.maps]),un=cn&&A&&(Math.max(E*A.length,sn)>k||!!V),dn="rtl"===K,pn=u()(s,(0,i.Z)({},"".concat(s,"-rtl"),dn),b),fn=A||R,mn=(0,m.useRef)(),gn=(0,m.useRef)(),bn=(0,m.useRef)(),hn=(0,m.useState)(0),vn=(0,l.Z)(hn,2),xn=vn[0],yn=vn[1],wn=(0,m.useState)(0),kn=(0,l.Z)(wn,2),En=kn[0],Cn=kn[1],Zn=(0,m.useState)(!1),Sn=(0,l.Z)(Zn,2),Nn=Sn[0],zn=Sn[1],Pn=function(){zn(!0)},On=function(){zn(!1)},Mn={getKey:nn};function Rn(n){yn((function(t){var e=function(n){var t=n;return Number.isNaN(Gn.current)||(t=Math.min(t,Gn.current)),t=Math.max(t,0)}("function"==typeof n?n(t):n);return mn.current.scrollTop=e,e}))}var Tn=(0,m.useRef)({start:0,end:fn.length}),In=(0,m.useRef)(),_n=function(n,t,e){var a=m.useState(n),r=(0,l.Z)(a,2),o=r[0],i=r[1],c=m.useState(null),s=(0,l.Z)(c,2),u=s[0],d=s[1];return m.useEffect((function(){var a=function(n,t,e){var a,r,o=n.length,i=t.length;if(0===o&&0===i)return null;o=xn&&void 0===t&&(t=i,e=r),u>xn+k&&void 0===a&&(a=i),r=u}return void 0===t&&(t=0,e=0,a=Math.ceil(k/E)),void 0===a&&(a=fn.length-1),{scrollHeight:r,start:t,end:a=Math.min(a+1,fn.length-1),offset:e}}),[un,cn,xn,fn,ln,k]),Dn=An.scrollHeight,jn=An.start,Fn=An.end,Kn=An.offset;Tn.current.start=jn,Tn.current.end=Fn,m.useLayoutEffect((function(){var n=on.getRecord();if(1===n.size){var t=Array.from(n)[0],e=fn[jn];if(e&&nn(e)===t){var a=on.get(t)-E;Rn((function(n){return n+a}))}}on.resetRecord()}),[Dn]);var Vn=m.useState({width:0,height:k}),Hn=(0,l.Z)(Vn,2),Bn=Hn[0],Un=Hn[1],Wn=(0,m.useRef)(),qn=(0,m.useRef)(),$n=m.useMemo((function(){return O(Bn.width,V)}),[Bn.width,V]),Yn=m.useMemo((function(){return O(Bn.height,Dn)}),[Bn.height,Dn]),Xn=Dn-k,Gn=(0,m.useRef)(Xn);Gn.current=Xn;var Qn=xn<=0,Jn=xn>=Xn,nt=En<=0,tt=En>=V,et=w(Qn,Jn,nt,tt),at=function(){return{x:dn?-En:En,y:xn}},rt=(0,m.useRef)(at()),ot=(0,p.zX)((function(n){if(W){var t=(0,o.Z)((0,o.Z)({},at()),n);rt.current.x===t.x&&rt.current.y===t.y||(W(t),rt.current=t)}}));function it(n,t){var e=n;t?((0,g.flushSync)((function(){Cn(e)})),ot()):Rn(e)}var lt=function(n){var t=n,e=V?V-Bn.width:0;return t=Math.max(t,0),Math.min(t,e)},ct=(0,p.zX)((function(n,t){t?((0,g.flushSync)((function(){Cn((function(t){return lt(t+(dn?-n:n))}))})),ot()):Rn((function(t){return t+n}))})),st=function(n,t,e,a,r,o,i){var l=(0,m.useRef)(0),c=(0,m.useRef)(null),s=(0,m.useRef)(null),u=(0,m.useRef)(!1),d=w(t,e,a,r),p=(0,m.useRef)(null),f=(0,m.useRef)(null);return[function(t){if(n){x.Z.cancel(f.current),f.current=(0,x.Z)((function(){p.current=null}),2);var e=t.deltaX,a=t.deltaY,r=t.shiftKey,m=e,g=a;("sx"===p.current||!p.current&&r&&a&&!e)&&(m=a,g=0,p.current="sx");var b=Math.abs(m),h=Math.abs(g);null===p.current&&(p.current=o&&b>h?"x":"y"),"y"===p.current?function(n,t){if(x.Z.cancel(c.current),!d(!1,t)){var e=n;e._virtualHandled||(e._virtualHandled=!0,l.current+=t,s.current=t,y||e.preventDefault(),c.current=(0,x.Z)((function(){var n=u.current?10:1;i(l.current*n,!1),l.current=0})))}}(t,g):function(n,t){i(t,!0),y||n.preventDefault()}(t,m)}},function(t){n&&(u.current=t.detail===s.current)}]}(cn,Qn,Jn,nt,tt,!!V,ct),ut=(0,l.Z)(st,2),dt=ut[0],pt=ut[1];!function(n,t,e){var a,r=(0,m.useRef)(!1),o=(0,m.useRef)(0),i=(0,m.useRef)(0),l=(0,m.useRef)(null),c=(0,m.useRef)(null),s=function(n){if(r.current){var t=Math.ceil(n.touches[0].pageX),a=Math.ceil(n.touches[0].pageY),l=o.current-t,s=i.current-a,u=Math.abs(l)>Math.abs(s);u?o.current=t:i.current=a;var d=e(u,u?l:s,!1,n);d&&n.preventDefault(),clearInterval(c.current),d&&(c.current=setInterval((function(){u?l*=S:s*=S;var n=Math.floor(u?l:s);(!e(u,n,!0)||Math.abs(n)<=.1)&&clearInterval(c.current)}),16))}},u=function(){r.current=!1,a()},d=function(n){a(),1!==n.touches.length||r.current||(r.current=!0,o.current=Math.ceil(n.touches[0].pageX),i.current=Math.ceil(n.touches[0].pageY),l.current=n.target,l.current.addEventListener("touchmove",s,{passive:!1}),l.current.addEventListener("touchend",u,{passive:!0}))};a=function(){l.current&&(l.current.removeEventListener("touchmove",s),l.current.removeEventListener("touchend",u))},(0,f.Z)((function(){return n&&t.current.addEventListener("touchstart",d,{passive:!0}),function(){var n;null===(n=t.current)||void 0===n||n.removeEventListener("touchstart",d),a(),clearInterval(c.current)}}),[n])}(cn,mn,(function(n,t,e,a){var r=a;return!(et(n,t,e)||r&&r._virtualHandled||(r&&(r._virtualHandled=!0),dt({preventDefault:function(){},deltaX:n?t:0,deltaY:n?0:t}),0))})),function(n,t){m.useEffect((function(){var e=t.current;if(n&&e){var a,r,o=!1,i=function(){x.Z.cancel(a)},l=function n(){i(),a=(0,x.Z)((function(){var t;t=r,Rn((function(n){return n+t})),n()}))},c=function(n){if(!n.target.draggable){var t=n;t._virtualHandled||(t._virtualHandled=!0,o=!0)}},s=function(){o=!1,i()},u=function(n){if(o){var t=z(n,!1),a=e.getBoundingClientRect(),c=a.top,s=a.bottom;t<=c?(r=-N(c-t),l()):t>=s?(r=N(t-s),l()):i()}};return e.addEventListener("mousedown",c),e.ownerDocument.addEventListener("mouseup",s),e.ownerDocument.addEventListener("mousemove",u),function(){e.removeEventListener("mousedown",c),e.ownerDocument.removeEventListener("mouseup",s),e.ownerDocument.removeEventListener("mousemove",u),i()}}}),[n])}(un,mn),(0,f.Z)((function(){function n(n){var t=Qn&&n.detail<0,e=Jn&&n.detail>0;!cn||t||e||n.preventDefault()}var t=mn.current;return t.addEventListener("wheel",dt,{passive:!1}),t.addEventListener("DOMMouseScroll",pt,{passive:!0}),t.addEventListener("MozMousePixelScroll",n,{passive:!1}),function(){t.removeEventListener("wheel",dt),t.removeEventListener("DOMMouseScroll",pt),t.removeEventListener("MozMousePixelScroll",n)}}),[cn,Qn,Jn]),(0,f.Z)((function(){if(V){var n=lt(En);Cn(n),ot({x:n})}}),[Bn.width,V]);var ft=function(){var n,t;null===(n=Wn.current)||void 0===n||n.delayHidden(),null===(t=qn.current)||void 0===t||t.delayHidden()},mt=function(n,t,e,a,i,c,s,u){var d=m.useRef(),p=m.useState(null),g=(0,l.Z)(p,2),b=g[0],h=g[1];return(0,f.Z)((function(){if(b&&b.times<10){if(!n.current)return void h((function(n){return(0,o.Z)({},n)}));c();var r=b.targetAlign,l=b.originAlign,u=b.index,d=b.offset,p=n.current.clientHeight,f=!1,m=r,g=null;if(p){for(var v=r||l,x=0,y=0,w=0,k=Math.min(t.length-1,u),E=0;E<=k;E+=1){var C=i(t[E]);y=x;var Z=e.get(C);x=w=y+(void 0===Z?a:Z)}for(var S="top"===v?d:p-d,N=k;N>=0;N-=1){var z=i(t[N]),P=e.get(z);if(void 0===P){f=!0;break}if((S-=P)<=0)break}switch(v){case"top":g=y-d;break;case"bottom":g=w-p+d;break;default:var O=n.current.scrollTop;yO+p&&(m="bottom")}null!==g&&s(g),g!==b.lastTop&&(f=!0)}f&&h((0,o.Z)((0,o.Z)({},b),{},{times:b.times+1,targetAlign:m,lastTop:g}))}}),[b,n.current]),function(n){if(null!=n){if(x.Z.cancel(d.current),"number"==typeof n)s(n);else if(n&&"object"===(0,r.Z)(n)){var e,a=n.align;e="index"in n?n.index:t.findIndex((function(t){return i(t)===n.key}));var o=n.offset;h({times:0,index:e,offset:void 0===o?0:o,originAlign:a})}}else u()}}(mn,fn,on,E,nn,(function(){return rn(!0)}),Rn,ft);m.useImperativeHandle(t,(function(){return{nativeElement:bn.current,getScrollInfo:at,scrollTo:function(n){var t;(t=n)&&"object"===(0,r.Z)(t)&&("left"in t||"top"in t)?(void 0!==n.left&&Cn(lt(n.left)),mt(n.top)):mt(n)}}})),(0,f.Z)((function(){if(q){var n=fn.slice(jn,Fn+1);q(n,fn)}}),[jn,Fn,fn]);var gt=function(n,t,e,a){var r=m.useMemo((function(){return[new Map,[]]}),[n,e.id,a]),o=(0,l.Z)(r,2),i=o[0],c=o[1];return function(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,l=i.get(r),s=i.get(o);if(void 0===l||void 0===s)for(var u=n.length,d=c.length;dk&&m.createElement(P,{ref:Wn,prefixCls:s,scrollOffset:xn,scrollRange:Dn,rtl:dn,onScroll:it,onStartMove:Pn,onStopMove:On,spinSize:Yn,containerSize:Bn.height,style:null==X?void 0:X.verticalScrollBar,thumbStyle:null==X?void 0:X.verticalScrollBarThumb,showScrollBar:Q}),un&&V>Bn.width&&m.createElement(P,{ref:qn,prefixCls:s,scrollOffset:En,scrollRange:V,rtl:dn,onScroll:it,onStartMove:Pn,onStopMove:On,spinSize:$n,containerSize:Bn.width,horizontal:!0,style:null==X?void 0:X.horizontalScrollBar,thumbStyle:null==X?void 0:X.horizontalScrollBarThumb,showScrollBar:Q}))}var _=m.forwardRef(I);_.displayName="List";const L=_},4448:(n,t,e)=>{"use strict";var a=e(7294),r=e(3840);function o(n){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+n,e=1;e