{
    "title": "构建发布",
    "description": "用于管理 Cocos Creator 内构建流程的插件",
    "create_user_template": "创建项目构建模板",
    "build_config": "编辑构建项目配置",
    "build": "构建",
    "compile": "编译",
    "open_log_file": "打开构建日志文件",
    "generate_engine": "编译引擎",
    "require": "必填",
    "new_build_task": "新建构建任务",
    "empty_task_holder": "当前没有构建任务，请新建",
    "empty_scene": "当前项目没有任何场景文件，请先新建场景",
    "empty_platforms": "平台插件丢失！请检查平台插件仓库是否正常初始化",
    "reveal_in_explorer": "在文件夹中显示",
    "view_build_config": "查看构建配置",
    "recompile": "重新构建",
    "confirm": "确定",
    "use_splash_screen": "启用插屏",
    "bundle_common_chunk": "在 Bundle 中嵌入公共脚本",
    "bundle_common_chunk_tips": "在 Bundle 中包含所有依赖的公共脚本，确保 Bundle 可以被跨项目单独加载。此选项仅在只构建 Bundle 时生效，正常构建时将默认禁用。",
    "bundleCommonChunk": "在 Bundle 中嵌入公共脚本",
    "bundleCommonChunkTips": "在 Bundle 中包含所有依赖的公共脚本，确保 Bundle 可以被跨项目单独加载。此选项仅在只构建 Bundle 时生效，正常构建时将默认禁用。",
    "off": "关闭",
    "options": {
        "platform": "平台",
        "name": "名称",
        "polyfills": "Polyfills",
        "polyfills_tips": "构建时使用的 Polyfills 配置",
        "async_functions": "异步函数",
        "async_functions_tips": "是否包含 async function 的兼容垫片",
        "core_js": "Core-JS",
        "core_js_tips": "是否包含 core-js 兼容垫片",
        "buildScriptTargets": "构建脚本目标",
        "buildScriptTargetsTips": "额外的脚本构建目标",
        "remote_server_address": "远程服务器地址",
        "remote_server_address_tips": "用于加载远程资源的服务器地址",
        "sourceMap": "Source Map",
        "sourceMapTips": "配置构建时 Source Map 的生成方式",
        "sourceMapsInline": "内联 Source Map",
        "standaloneSourceMaps": "独立 Source Map",
        "experimental_erase_modules": "实验性模块裁剪",
        "experimental_erase_modules_tips": "在脚本构建时裁剪未使用模块",
        "includeBundles": "包含的 Bundle",
        "build_path": "构建路径",
        "debug": "调试模式",
        "debugTips": "是否在构建产物中启用调试输出",
        "mangleProperties": "混淆属性名",
        "manglePropertiesTip": "构建时对指定属性名进行混淆",
        "inlineEnum": "内联枚举",
        "inlineEnumTip": "在脚本构建时内联枚举值",
        "md5_cache": "MD5 缓存",
        "md5CacheTips": "为构建资源追加 MD5 哈希",
        "main_bundle_is_remote": "主 Bundle 为远程包",
        "main_bundle_compression_type": "主 Bundle 压缩类型",
        "pack_autoAtlas": "打包自动图集",
        "start_scene": "初始场景",
        "startSceneTips": "游戏启动时使用的初始场景",
        "start_scene_asset_bundle": "初始场景资源 Bundle",
        "start_scene_asset_bundle_tips": "将初始场景放入资源 Bundle",
        "scenes": "场景",
        "skip_compress_texture": "跳过纹理压缩",
        "bin_group_config": "二进制分组配置",
        "enable_cconb_group": "启用 CCONB 分组",
        "enable_cconb_group_tips": "构建时启用分组 CCONB 输出"
    },
    "tips": {
        "enter_name": "请输入游戏名称",
        "task_name": "与构建后生成的实际包体名称一致，将会覆盖已有的构建任务以及对应文件夹内容",
        "build_path": "发布后的包体会在该路径下新建文件夹放置",
        "build_scenes": "只勾选需要发布的场景，可以减少构建后的包体体积。",
        "set_start_scene": "设置为初始场景",
        "atlas_in_resources": "当前自动图集资源({info})放置在 {root} 下的自动图集将会同时生成原始 spriteFrame，Texture2D 和新合图资源，建议将自动图集移出 {root}",
        "use_texture_in_atlas": "图集内纹理资源({info}) 已被其他资源({useInfo})直接使用，将会同时保留原始资源数据和新合图资源数据导致包体变大，建议将当前纹理资源移出合图文件夹",
        "use_image_in_atlas": "图集内的图片资源({info}) 已被其他资源({useInfo})直接使用，将会保留原始资源数据和新合图资源数据导致包体变大，建议将当前资源移出合图文件夹",
        "task_exist": "当前构建任务 ({taskName}) 已存在，请稍候",
        "task_busy": "请等待当前构建任务结束后再进行构建",
        "platform_missing": "不存在 {platform} 平台，请启用或下载对应平台插件",
        "conflict_platform": "当前插件名 {pkgName} 与内部平台同名，将会覆盖编辑器内置平台插件导致对应平台构建不可用，请修改插件名称。",
        "waiting_for_remove_task": "删除中，请稍候...",
        "waiting_for_db_ready": "资源数据库启动中，请稍候...",
        "waiting_for_plugin_ready": "初始化构建插件中，请稍候...",
        "waiting_for_worker_ready": "构建进程启动中，请稍候...",
        "waiting_for_data_ready": "数据初始化中，请稍候...",
        "scene_in_bundle": "在 Bundle 内的场景为必选项，且不允许配置为主场景",
        "create_application_template_success": "创建 application.js 成功",
        "create_application_template_overwrite": "是否想覆盖源文件吗？",
        "application_ejs_version": "使用的 application.ejs 版本低于当前编辑器使用的版本，请检查并升级",
        "set_splash_setting": "到项目设置配置插屏",
        "build_task_canceled": "已取消构建",
        "pause_asset_import": "资源构建中，当前资源数据库暂停导入，请等待构建完成后再进行资源操作。",
        "disable_platform": "平台 {platform} 不存在，无法添加该平台",
        "disable_platform_for_build_command": "平台 {platform} 不存在，无法构建该平台",
        "disable_register_platform_info": "平台 {platform} 不存在，不支持向该平台注册任何内容",
        "platform_information_invalid": "请先正确填写平台（{platform}）的弹窗信息，再进行构建。",
        "create_template_success": "构建模板生成成功！",
        "template_version_warning": "当前项目使用的构建模板（{platform}）的版本{version}与编辑器内的版本 {internalConfig}不一致，请及时更新构建模板。",
        "build_package_missing": "当前构建任务的文件({dest})不存在，请重新构建！"
    },
    "error": {
        "build_error": "构建错误",
        "build_dir_not_exists": "构建目录 [%{buildDir}] 不存在",
        "build_path_contains_space": "构建路径中不能包含空格",
        "build_path_contains_chinese_and_symbol": "发布路径中不能包含中文字符或特殊符号",
        "can_not_empty": "不能为空",
        "project_name_not_legal": "项目名不合法, 只能包含这些字符: [0-9], [a-z], [A-Z], [_].",
        "package_name_not_legal": "包名不合法, 只能包含这些字符: [0-9], [a-z], [A-Z], [_], [.].",
        "package_name_start_with_number": "包名不能以数字开头",
        "select_scenes_to_build": "请选择场景来开始构建",
        "path_too_long_title": "发布路径太长",
        "path_too_long_desc": "在 Windows 环境下，请使发布路径长度小于 %{max_length} 个字符，避免原生平台编译失败",
        "keep_raw_texture_of_atlas": "原图 %{texturePath} 已经被打包到自动图集 %{pacPath}，但由于这张原图同时被 %{assetPath} 直接使用，因此原图仍然会保留一份。",
        "run_hooks_failed": "构建插件 {pkgName} 的钩子函数 {funcName} 执行失败，请检查插件的代码逻辑~",
        "cache_compress_texture_missing": "图像资源的 {format} 格式纹理图片（{path}）丢失，将会直接跳过该资源的格式数据写入。",
        "deserialize_failed": "资源 {url} 反序列化失败，请检查资源的序列化文件及其使用的脚本组件是否正常。",
        "missing_import_files": "资源导入文件 {path} 丢失，请检查该资源 {url} 是否正常导入或已被删除",
        "required_asset_missing": "资源（{fatherUrl}）引用的资源（{uuid}）无法在项目内找到，请检查该资源是否导入失败或者被误删除。",
        "missing_asset": "无法找到资源（{uuid}，请检查该资源是否导入失败或者被误删除。",
        "check_options_failed": "构建参数校验失败，请先检查参数值，修改正确后再进行构建。",
        "unknown_platform": "无效平台，请输入正确的平台名称。",
        "asset_import_failed": "无效资源 {asset({url})}, {type} 请检查项目日志确认资源是否导入异常。",
        "get_asset_json_failed": "获取资源 {asset({url})} 序列化数据失败, 请先确认资源是否导入异常",
        "builder_crash": "构建进程崩溃！",
        "texture_compress_failed": "资源({asset}) 的 {type} 格式生成失败，当前使用的纹理压缩工具 {toolsPath} 可能与您的设备不兼容，建议升级设备或者参考 {toolHomePage} 更换工具版本尝试。",
        "missing_splash_tips": "插屏图片拷贝失败，请检查插屏配置数据是否正常，splashScreen：{splashScreen}",
        "invalid_start_scene": "当前初始场景不存在或在 Bundle 中，无法设置为初始场景。",
        "missing_scenes": "场景 {url} 可能已被删除，请移除配置中的该场景或者重新全选所有场景",
        "bundle_configs": "只 Bundle 构建须选择至少一个 Bundle",
        "platform_register_error": "无法找到目标平台 {platform}，请检查平台插件是否正常启动",
        "check_failed": "构建参数 {key}({value}) 校验失败, {error}",
        "engine_modules_config_key_missing": "构建配置的引擎模块配置项不存在，请重新配置引擎模块配置项"
    },
    "warn": {
        "no_defined_in_i18n": "{name} 字段未在编辑器多语言内定义",
        "no_serialized_json": "资源（{url},{type})不存在序列化资源",
        "same_load_url": "资源 {urlA} 与资源 {urlB} 的动态加载 URL 相同({url})，请调整目录结构来避免动态加载资源时出现异常。",
        "atlas_in_resources": "自动图集资源 {url} 在 {root} 目录下，将会忽略 'Filter Unused Resources' 选项生成包含所有小图的图集",
        "path_not_exist": "当前路径不存在，请检查文件",
        "http": "无效地址，请填写以 'http(s)' 开头的正确 URL 地址",
        "required": "该选项为必填项，不允许为空",
        "no_chinese": "该选项不允许存在中文字符",
        "check_failed_with_new_value": "构建参数 {key} ({value}) 校验失败, {error}, 将会使用默认值 {newValue}",
        "compress_rgb_a": "图片资源 {uuid} 不带透明通道，无法压缩为 RGBA 类型纹理格式，已自动过滤，请检查压缩纹理配置",
        "asset_bundle_is_remote_invalid": "Bundle {directoryName} 已配置为远程包，构建平台未配置远程服务器地址，可能会运行异常",
        "require_mipmaps": "着色器 ({effectUUID}) 的 RequireMipmaps 已打开时，关联贴图 ({textureUUID}) 请打开“生成 Mipmaps”选项，否则渲染结果可能会有误。",
        "invalid_custom_splash": "自定义插屏启用失败，将使用默认插屏进行构建。开启自定义插屏功能请前往 项目设置 -> 插屏设置 完善相关信息。",
        "invalid_remove_splash": "移除插屏配置失败，将使用默认插屏进行构建。激活移除插屏功能请前往 项目 -> 构建发布 -> 编辑构建项目配置 完善相关信息。",
        "exception_remove_splash": "网络异常，移除插屏配置失败。",
        "deprecated_tip": "{oldName} 已废弃，请更换为 {newName}",
        "resources_remote_lock_waring": "resources 目录默认配置为远程包，将会忽略原有配置的所有远程包配置",
        "repeat_atlas_in_bundle": "图集 {asset({Atlas})} 同时被 {bundle1} 和 {bundle2} 引用。这将导致图集被拷贝多份并包含在打包文件中，增加包体的大小。\n考虑以下优化选项来优化您的 bundle 配置并减小包体大小： \n    1. 调整 bundle 的优先级，确保 Atlas 图集仅被包含在优先的 bundle 中。\n    2. 仔细检查图集在各个 bundle 中的使用情况，并在可能的情况下将其合并到单个 bundle 中。",
        "engine_modules_fall_back_tip": "当前引擎模块配置内有部分模块 {fallbackMsg} 在当前平台 {platform} 不支持，将会自动移除或者回退成其他模块",
        "invalid_option_in_separate_engine": "勾选分离引擎时，引擎默认为 release 模式，调试模式/SourceMap 选项对引擎编译结果无效",
        "separate_engine_with_custom_engine": "使用自定义引擎时，启用引擎分离插件无效，将会自动关闭引擎分离选项",
        "invalid_version_in_separate_engine": "非正式版本不支持引擎分离插件，将会自动关闭引擎分离选项"
    },
    "tasks": {
        "build_asset": "将资源拷贝到指定位置",
        "build_engine": "构建引擎脚本",
        "build_img": "图片拷贝压缩任务",
        "build_json": "将分组后的 json 与散文件构建到指定位置",
        "build_atlas": "构建自动图集",
        "build_script": "打包脚本",
        "build_project_script": "构建项目脚本",
        "build_suffix": "给所有的资源加上 MD5 后缀",
        "build_template": "整理静态模板文件",
        "build_zip_bundle": "压缩 Zip Bundle",
        "load_script": "加载刷新项目脚本",
        "sort_asset": "查询使用的资源以及资源包配置",
        "build_import_map": "生成 import-map.json",
        "sort_import_map": "收集 importMap 信息",
        "sort_asset_bundle": "查询 Asset Bundle",
        "sort_image": "整理纹理压缩任务",
        "sort_script": "整理脚本分组与脚本数据",
        "sort_sprite_frame": "内联所有 'SpriteFrame' 类型资源",
        "sort_texture": "整理合并压缩 Texture2D 的 JSON 数据",
        "sort_json": "初步划分 JSON 合并分组",
        "settings": {
            "cache": "使用缓存 settings.json",
            "options": "整理部分构建选项内数据到 settings.json",
            "design_resolution": "填充设计分辨率数据到 settings.json",
            "group": "整理资源分组，生成 packedAssets 以及 rawAssets 数据",
            "md5": "从 suffixMap 生成 md5AssetsMap 到 settings.json",
            "scene": "填充场景数据到 settings.json",
            "script": "填充脚本数据到 settings.json",
            "init": "初始化 settings.json 与 config.json",
            "macro": "配置宏配置到 settings.json"
        },
        "postprocess": {
            "compress": "压缩 config.json 与 settings.json",
            "save_config": "保存 config.json",
            "save_settings": "保存 settings.json"
        }
    },
    "asset_bundle": {
        "is_bundle": "配置为 Bundle",
        "bundle_name": "Bundle 名称",
        "priority": "Bundle 优先级",
        "priority_tooltip": "多个 Bundle 引用同个资源时，资源将导出到优先级最高的 Bundle 中，如多个 Bundle 优先级相等将同时导出到多个 Bundle 中",
        "compression_type": "压缩类型",
        "compression_type_tooltip": "压缩选项，用于对 Bundle 进行优化，开发者可自定义包括内置 Bundle 在内的所有 Bundle 的压缩类型。<br>\n<b>【合并依赖】</b>： 构建 Asset Bundle 时会将相互依赖的资源的 JSON 文件合并在一起，从而减少运行时的加载请求次数。<br>\n<b>【无压缩】</b>：构建 Asset Bundle 时没有任何压缩操作。<br>\n<b>【合并所有 JSON】</b>：构建 Asset Bundle 时会将所有资源的 JSON 文件合并为一个，从而最大化减少请求数量，但可能会增加单个资源的加载时间。<br>\n<b>【小游戏分包】</b>：在提供了分包功能的小游戏平台，会将 Asset Bundle 设置为对应平台上的分包。<br>\n<b>【Zip】</b>：在部分小游戏平台，构建 Asset Bundle 时会将资源文件压缩成一个 Zip 文件，从而减少运行时的加载请求数量。\n        ",
        "target_platform": "目标平台",
        "target_platform_tooltip": "不同平台可采用不同的配置，构建时将根据对应平台的设置来构建 Bundle",
        "is_remote_bundle": "远程包",
        "remote_bundle_invalid_tooltip": "Bundle 的远程包配置仅在配置远程服务器地址后有效",
        "none": "无压缩",
        "none_tooltip": "没有任何压缩操作",
        "subpackage": "小游戏分包",
        "subpackage_tooltip": "将 Bundle 设置为对应平台上的子包",
        "merge_dep": "合并依赖",
        "merge_dep_tooltip": "尝试将相互依赖的资源的 JSON 文件合并在一起，从而减少运行时的加载请求数量",
        "merge_all_json": "合并所有 JSON",
        "merge_all_json_tooltip": "将所有资源的 JSON 文件合并为一个，在 Web 平台上，将最大化减少请求数量，但可能会增加单个资源的加载时间，你可以根据需要开启，我们不建议在原生平台开启此选项，因为这会增加热更新的包体大小",
        "zip": "Zip",
        "zip_tooltip": "将整个 Bundle 压缩为一个 zip 文件",
        "duplicate_name_message": "名字 \"{name}\" 已被 \"{url}\" 占用，请更换其它名称。",
        "duplicate_name_messaged_auto_rename": "Bundle \"{newUrl}\" 的名字 \"{name}\" 已被 \"{url}\" 占用，将自动替换为 \"{newName}\"，请更换其它名称。",
        "duplicate_reserved_keyword_message": "名字 \"{name}\" 是保留关键字，请更换其它名称。",
        "nest_bundle": "已经存在一个 Asset Bundle \"{url}\", 无法嵌套其他 Asset Bundle",
        "filter_config": {
            "title": "Bundle 资源过滤",
            "add": "添加 Bundle 资源过滤规则",
            "preview": "预览",
            "add_asset": "添加资源",
            "include": "包含",
            "exclude": "排除",
            "asset": "资源",
            "url": "URL 路径",
            "glob": "Glob 表达式",
            "glob_tips": "例如 db:asset/test/*.png",
            "begin_with": "以 ... 开头",
            "end_with": "以 ... 结尾",
            "contain": "包含 ...",
            "empty_config": "暂无过滤条件，请添加",
            "preview_list": "预览列表",
            "preview_tips": "预览列表仅作为 Bundle Root Asset 的收集参考，并不代表实际的构建后包的内容，如果实际项目使用了过滤的资源，则剔除无效",
            "empty_preview_list": "过滤后此 Bundle 默认不包含任何资源，将按资源依赖情况收集资源"
        },
        "empty_bundle": "当前项目没有 Bundle，请先添加 Bundle",
        "bundle_build_tips": "* 独立构建 Bundle 时，若当前 Bundle 和其它 Bundle 有相互依赖的资源，将根据优先级决定资源的归属。若你希望完整导出依赖到的其它 Bundle 中的资源，请确保此 Bundle 的优先级较高。",
        "bundle_build_platform_tips": "采用相应的平台构建任务作为 Bundle “{bundleUrl}” 构建配置",
        "build_bundle": "构建 Bundle",
        "publish_config": "发布配置",
        "build_bundle_i_n_process": "Bundle 构建中",
        "bundle_build_close_tip": "Bundle 正在构建中，请勿关闭面板",
        "build_bundle_busy": "请等待其它构建任务完成。",
        "build_bundle_params": "参数不合法，请检查构建参数",
        "bundle_config": "Bundle 配置",
        "export_bundle_build_config": "导出 Bundle 构建选项",
        "preferred_options": "通用设置",
        "preferred_options_tips": "将这些设置应用于所有平台。如需针对某个平台进行特殊处理，请添加一个“平台覆盖”。",
        "fallback_options": "回退选项",
        "fallback_options_tips": "回退选项将会在构建目标平台时根据实际选项判断偏好选项不可用时，作为回退选项",
        "platform_override": "平台覆盖",
        "platform_override_empty_tip": "当前无平台覆盖，请添加",
        "default_config": "默认配置",
        "native": "原生",
        "web": "网页",
        "minigame": "小游戏",
        "import_config": "导入配置",
        "export_config": "导出配置",
        "preview_setting": "设置预览",
        "platform": "平台",
        "platform_config": "平台设置",
        "edit_config": "编辑",
        "add_config": "新增配置",
        "delete_config": "移除配置",
        "is_remote_fallback_tips": "* 是否为远程包将会在构建目标平台时根据实际选项再次判断是否支持",
        "reset": "重置",
        "reset_uni": "重置为统一配置",
        "separate_config": "单独配置",
        "all_mini_games": "所有小游戏平台",
        "uni_config": "统一配置",
        "true": "是",
        "false": "否",
        "overwrite": "覆盖",
        "merge": "合并"
    },
    "project": {
        "texture_compress": {
            "title": "压缩纹理",
            "compress_preset": "配置压缩预设集",
            "custom_format": "自定义压缩方式",
            "same_config_name": "该配置名称已存在，是否继续覆盖清空现有配置？",
            "add_config": "添加配置",
            "edit_config_name": "重命名",
            "export_config": "导出配置",
            "import_config": "导入配置",
            "import_config_options": "导入配置选项",
            "merge": "保留原配置，和导入配置融合",
            "preset_name": "预设集设置",
            "add_format": "添加压缩方式",
            "compress_format": "压缩方式",
            "mipmap": {
                "no_power_of_two": "不是 2 的幂次方"
            },
            "tips": {
                "require_object": "当前配置数据需为 JSON 对象",
                "require_name": "压缩纹理配置中的名称必须存在",
                "xx_require_object": "压缩纹理配置中的 {name} 必须存在, 且需为 JSON 对象",
                "platform_err": "当前配置的平台选项 ({platform}) 不合法，仅支持以下平台分类 {supportPlatforms}",
                "texture_type_err": "当前配置的格式 ({format}) 不合法，仅支持以下格式: {supportFormats}",
                "options_quality_type_err": "当前纹理格式质量选项 ({userQualityType}) 不合法，{qualityType} 纹理格式仅支持以下格式：{qualityTypeOptions}",
                "number_quality_type_err": "纹理格式质量选项 ({userQualityType}) 不合法，需为数字且取值范围在{min} ~ {max} 之间",
                "import_failed": "压缩纹理配置导入失败，请检查导入的配置信息",
                "user_preset_err": "项目中压缩纹理配置数据错误，请检查配置",
                "enter_config_name_to_add": "请输入配置名称，按下 Enter 键即可添加配置",
                "input_config_name_to_search": "请输入配置名称进行搜索"
            }
        },
        "splash_setting": {
            "title": "插屏设置",
            "confirm": "保存",
            "settings": {
                "total_time": "最小显示时间",
                "display_ratio": "Logo 显示比例",
                "auto_fit": "自适应屏幕分辨率",
                "watermark_location": "Cocos 文字水印",
                "logo": {
                    "title": "Logo 设置",
                    "default": "默认",
                    "none": "不展示 Logo",
                    "custom": "自定义 Logo"
                },
                "background": {
                    "title": "背景设置",
                    "default": "默认",
                    "color": "颜色",
                    "custom": "自定义背景",
                    "custom_tips": "请先选择图片再启用自定义。支持 jpg、png、jpeg 格式大小 5M 以内的图片。\n 自定义背景的适配模式同项目数据设置： \n 适配屏幕宽度： {fitWidth} \n 适配屏幕高度： {fitHeight}"
                }
            },
            "custom": "自定义",
            "default": "默认",
            "disabled": "不使用",
            "watermark_location_config": {
                "top": "上方",
                "bottom": "下方",
                "left": "左",
                "right": "右",
                "center": "中"
            },
            "preview": "插屏预览",
            "total_time_tips": "插屏将在项目加载完成且达到最小显示时间后关闭。该配置项在微信小程序及 iOS 平台上不生效",
            "display_ratio_tips": "该参数将在保持 logo 长宽比基础上调整 logo 展示大小。默认值为 100% ，此时 logo 高度为设计高度的 18.5%",
            "tips": "请先选择图片再启用自定义。\n支持jpg、png、jpeg 格式大小 5M 以内的图片",
            "select_image": "选择图片",
            "use_default_tip": "已配置自定义插屏，但构建时并未勾选，将使用默认插屏配置",
            "enable_custom_splash": "启用自定义插屏",
            "reset": "恢复默认",
            "preview_in_browser": "浏览器预览",
            "information_dialog_unusual": "网络异常，自定义插屏启用失败。"
        }
    },
    "example": "示例",
    "platforms": {
        "native": {
            "title": "原生",
            "encrypt": {
                "disable_tips": "加密禁用提示"
            }
        },
        "mac": {
            "title": "Mac",
            "error": {
                "m1_with_physic_x": "M1 芯片与 PhysX 的兼容性问题"
            }
        }
    }
}
