dsh-openup-lewis 1.4.2 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.cn.md CHANGED
@@ -54,6 +54,8 @@
54
54
 
55
55
  如果愿意帮助作者了解插件使用情况,可在插件设置最后一行点击“与开发者共享数据”,阅读说明后自行选择开启。数据共享默认关闭,不影响任何插件功能,可随时停止并请求删除。
56
56
 
57
+ 我们努力让更多人拥有更好的体验。但十分抱歉,由于种种原因,目前支持使用“与开发者共享数据”功能,仅限OpenAI支持的地区。详见:[OpenAI官方说明](https://help.openai.com/en/articles/7947663-chatgpt-supported-countries?utm_source=chatgpt.com)
58
+
57
59
  ## 产品基本信息
58
60
 
59
61
  | 项目 | 信息 |
@@ -63,7 +65,7 @@
63
65
  | 插件名称 | dsh-openup-lewis |
64
66
  | 作者 | 周奕辰 |
65
67
  | npm 当前版本 | 以[官方 npm 包页面](https://www.npmjs.com/package/dsh-openup-lewis)为准;安装和更新均以 npm `latest` 为准。 |
66
- | 最新版本 | v1.4.2 |
68
+ | 最新版本 | v1.4.3 |
67
69
  | 适用版本 | DeepSeek Harness ≥ 0.2.1-rc.2 且 < 0.3.0 |
68
70
  | 桌面平台 | Windows / macOS;已完成跨平台代码检查及 Chromium 播放验证,macOS 尚未进行真机测试|
69
71
  | 窗口按钮 | 当前 Harness 桌面版尚未提供插件单独隐藏原生关闭、最大化、最小化按钮的接口。因此无法做到完美适配全屏幕|
package/README.md CHANGED
@@ -54,6 +54,8 @@ Only the author can access this dashboard by signing in with their own OpenAI /
54
54
 
55
55
  To help the author understand plugin usage, select “Share data with the developer” on the last row of plugin settings and read the notice before choosing to enable it. Sharing is off by default, does not affect any plugin features, and can be stopped with a deletion request at any time.
56
56
 
57
+ We strive to offer more people a better experience. However, we apologize that, for various reasons, the “Share data with the developer” feature is currently available only in regions supported by OpenAI. For details, see [OpenAI’s official guidance](https://help.openai.com/en/articles/7947663-chatgpt-supported-countries?utm_source=chatgpt.com).
58
+
57
59
  ## Plugin Information
58
60
 
59
61
  | Item | Details |
@@ -63,7 +65,7 @@ To help the author understand plugin usage, select “Share data with the develo
63
65
  | Plugin name | dsh-openup-lewis |
64
66
  | Author | Zhou Yichen (周奕辰) |
65
67
  | Current npm version | See the [official npm package page](https://www.npmjs.com/package/dsh-openup-lewis); installations and updates follow npm `latest`. |
66
- | Latest version | v1.4.2 |
68
+ | Latest version | v1.4.3 |
67
69
  | Supported version | DeepSeek Harness ≥ 0.2.1-rc.2 and < 0.3.0 |
68
70
  | Desktop platforms | Windows / macOS. Cross-platform code checks and Chromium playback validation have been completed. Testing on a physical Mac has not yet been performed. |
69
71
  | Window controls | The current Harness desktop app does not provide an API that allows individual plugins to hide the native close, maximize, and minimize buttons, so a completely seamless full-screen experience is not currently possible. |
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.4.2",
2
+ "version": "1.4.3",
3
3
  "format": "DSH ModuleLoader CJS + Node ESM",
4
4
  "source": [
5
5
  "src/client.jsx",
package/lib/client.js CHANGED
@@ -1,5 +1,5 @@
1
1
  window.__ModuleLoader__.load({ id: "dsh-openup-lewis", factory: (require) => { var module = { exports: {} }; var exports = module.exports;
2
- var dr=Object.create;var hn=Object.defineProperty;var lr=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var ur=Object.getPrototypeOf,pr=Object.prototype.hasOwnProperty;var r=(e,n)=>hn(e,"name",{value:n,configurable:!0});var fr=(e,n)=>{for(var t in n)hn(e,t,{get:n[t],enumerable:!0})},ut=(e,n,t,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of cr(n))!pr.call(e,s)&&s!==t&&hn(e,s,{get:()=>n[s],enumerable:!(i=lr(n,s))||i.enumerable});return e};var ye=(e,n,t)=>(t=e!=null?dr(ur(e)):{},ut(n||!e||!e.__esModule?hn(t,"default",{value:e,enumerable:!0}):t,e)),br=e=>ut(hn({},"__esModule",{value:!0}),e);var Ur={};fr(Ur,{BootRoot:()=>dt,EndTitle:()=>Tn,Player:()=>jn,SettingsPanel:()=>mn,ShortcutAction:()=>lt,api:()=>te,apply:()=>Br,openSettings:()=>Bn,playbackStages:()=>sn});module.exports=br(Ur);var Cn=ye(require("react"),1);var ln="dsh-boot-studio",_e="dsh-openup-lewis",Ue=`/${ln}`;var Vr=80*1024*1024,Fr=Object.freeze(["https://registry.npmjs.org","https://registry.npmmirror.com"]),Ce=Object.freeze({telemetryWithdraw:25e3,request:7e3,updateCheck:2e4,updatePrepare:2100*1e3,uploadVideo:18e4,uploadImage:12e4,reset:18e4,install:12e4});var ft=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;function cn(e){if(typeof e!="string"||!ft.test(e))return null;let n=e.split(".").map(Number);return n.every(Number.isSafeInteger)?n:null}r(cn,"parseVersion");function pt(e){if(typeof e!="string"||!ft.test(e))throw Object.assign(new Error("\u7EF4\u62A4\u7248\u672C\u5FC5\u987B\u4F7F\u7528 X.Y.Z \u7A33\u5B9A\u7248\u672C\u53F7\u3002"),{code:"BOOT_VERSION_INVALID"});let n=cn(e);if(!n)throw Object.assign(new Error("\u7248\u672C\u53F7\u8FC7\u5927\u3002"),{code:"BOOT_VERSION_INVALID"});return n}r(pt,"versionParts");function mr(e,n){let t=pt(e),i=pt(n);for(let s=0;s<t.length;s++)if(t[s]!==i[s])return t[s]>i[s]?1:-1;return 0}r(mr,"compareVersions");function bt(e,n){return mr(e,n)>0}r(bt,"isNewerVersion");function he(e,n,t={}){return Object.assign(new Error(n),{code:e,...t})}r(he,"clientError");var mt=r(e=>/^(?:application\/json|application\/[\w.+-]+\+json)(?:\s*;|$)/i.test(String(e||"").trim()),"jsonType");function Nn(e,{status:n=200,contentType:t}={}){let i=n>=200&&n<300,s=r(()=>he(i?"BOOT_RESPONSE_INVALID":"BOOT_HTTP_ERROR",i?"\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6CD5\u8BC6\u522B\u7684\u5185\u5BB9\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":`\u8BF7\u6C42\u5931\u8D25 (${n})`,{status:n}),"fallback");if(!mt(t))throw s();let d;try{d=JSON.parse(e)}catch{throw s()}if(!i){let u=typeof d?.error=="string"&&d.error.trim()?d.error:`\u8BF7\u6C42\u5931\u8D25 (${n})`,f=typeof d?.code=="string"?d.code:typeof d?.errorCode=="string"?d.errorCode:"BOOT_HTTP_ERROR";throw he(f,u,{status:n,details:d?.details})}if(!d||typeof d!="object"||Array.isArray(d))throw s();return d}r(Nn,"parseJSONResponse");async function $n(e){let n=e.status,t=e.headers?.get?.("content-type");return mt(t)?Nn(await e.text(),{status:n,contentType:t}):Nn("",{status:n,contentType:t})}r($n,"readJSONResponse");function hr(e){return e==="/telemetry/withdraw"?Ce.telemetryWithdraw:e==="/updates/prepare"?Ce.updatePrepare:e==="/updates/check"?Ce.updateCheck:e==="/upload"?Ce.uploadVideo:e==="/end-images"?Ce.uploadImage:e==="/reset"?Ce.reset:Ce.request}r(hr,"requestTimeout");function gr({basePath:e=Ue,fetchImpl:n=r((...i)=>fetch(...i),"fetchImpl"),timeoutForPath:t=hr}={}){return r(async function(s,d={}){let u=new AbortController,f=!1,o=r(()=>u.abort(),"abort"),l=setTimeout(()=>{f=!0,u.abort()},t(s));d.signal?.aborted?u.abort():d.signal?.addEventListener("abort",o,{once:!0});try{let m=await n(e+s,{...d,signal:u.signal,headers:{"x-dsh-boot-studio":"1",...typeof d.body=="string"?{"content-type":"application/json"}:{},...d.headers}});return await $n(m)}catch(m){throw f?he("BOOT_REQUEST_TIMEOUT","\u8BF7\u6C42\u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u8FDE\u63A5\u540E\u91CD\u8BD5\u3002",{cause:m}):u.signal.aborted?he("BOOT_REQUEST_CANCELLED","\u8BF7\u6C42\u5DF2\u53D6\u6D88\u3002",{cause:m}):m?.code?m:he("BOOT_NETWORK_ERROR","\u65E0\u6CD5\u8FDE\u63A5\u5F00\u673A\u52A8\u753B\u670D\u52A1\uFF0C\u8BF7\u68C0\u67E5\u8FDE\u63A5\u6216\u91CD\u542F Harness \u540E\u91CD\u8BD5\u3002",{cause:m})}finally{clearTimeout(l),d.signal?.removeEventListener("abort",o)}},"api")}r(gr,"createAPIClient");var te=gr();var vr=new Set([_e,ln]);function Le(e){if(!e||e.available!==!0||e.channelReady!==!0||!vr.has(e.packageName))return!1;let n=cn(e.latestVersion),t=cn(e.currentVersion);return!n||!t||e.manifest&&e.manifest.version!==e.latestVersion?!1:bt(e.latestVersion,e.currentVersion)}r(Le,"isAvailableUpdate");function yr(){let e={checking:!1,checked:!1,status:null,dismissed:!1},n,t,i=new Set;function s(d){return e={...e,...d},i.forEach(u=>{try{u(e)}catch{}}),e}return r(s,"publish"),{getSnapshot:r(()=>e,"getSnapshot"),subscribe(d){return i.add(d),()=>i.delete(d)},check(d){return n||(s({checking:!0}),n=Promise.resolve().then(()=>d("/updates/check",{method:"POST",body:"{}"})).then(u=>{let f=t&&u?{...u,currentVersion:t}:u;return s({checking:!1,checked:!0,status:Le(f)?f:null}),e.status},()=>(s({checking:!1,checked:!0,status:null}),null)),n)},dismiss(){s({dismissed:!0})},updated(d){cn(d)&&(t=d,s({dismissed:!0,status:e.status?{...e.status,available:!1,currentVersion:d}:null}))}}}r(yr,"createStartupUpdateSession");var qe=yr();function gt(e){return typeof e=="string"&&e.length<8192&&!/[\u0000-\u001f\u007f]/.test(e)&&(/^[A-Za-z]:[\\/]/.test(e)||/^\/(?!\/)/.test(e)||/^\\\\[^\\/]+[\\/][^\\/]+[\\/]/.test(e))&&!e.split(/[\\/]/).includes("..")&&e.endsWith(".tgz")}r(gt,"absoluteArchivePath");function xr(e,n){if(!Le(n)||!e||e.version!==n.latestVersion||e.requiresRestart!==!0||!/^[a-f0-9]{64}$/.test(e.sha256||"")||!gt(e.spec))throw Error("\u66F4\u65B0\u5305\u51C6\u5907\u7ED3\u679C\u65E0\u6548\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002");let t=e.spec.split(/[\\/]/),i=`${n.packageName}-${e.version}-${e.sha256}.tgz`;if(t.at(-1)!==i||t.at(-2)!=="update-cache")throw Error("\u66F4\u65B0\u5305\u8DEF\u5F84\u4E0E\u5DF2\u6821\u9A8C\u7684\u540D\u79F0\u3001\u7248\u672C\u6216 SHA-256 \u4E0D\u4E00\u81F4\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002");return e}r(xr,"validatePreparedUpdate");var Zn=new Set;function Pn(e={}){let n={pluginManager:typeof e.pluginManager?.installBundle=="function"?e.pluginManager:null,pluginNavigation:typeof e.pluginNavigation?.openBundle=="function"||typeof e.pluginNavigation?.openList=="function"?e.pluginNavigation:null};return!n.pluginManager&&!n.pluginNavigation?()=>{}:(Zn.add(n),()=>Zn.delete(n))}r(Pn,"bindHarnessServices");function Jn(e){return[...Zn].reverse().find(n=>n[e])?.[e]||null}r(Jn,"harnessService");function vt(){return!!Jn("pluginNavigation")}r(vt,"canOpenHarnessPluginManager");function yt(e=_e){let n=Jn("pluginNavigation");return n?(typeof n.openBundle=="function"?n.openBundle(e):n.openList(),!0):!1}r(yt,"openHarnessPluginManager");var Kn=new WeakSet;function Re(e,n,t){let i=he(e,n,t);return Kn.add(i),i}r(Re,"installError");function Ln(e){return Re("BOOT_HARNESS_INSTALL_UNCERTAIN","\u66F4\u65B0\u54CD\u5E94\u8D85\u65F6\u3002\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u6838\u5BF9\u5B9E\u9645\u7248\u672C\u540E\u91CD\u8BD5\u3002",{...e,uncertain:!0})}r(Ln,"uncertainInstall");function ht(e,n){if(!e||e.ok!==!0)throw Ln({details:e?.error});let t=e.value;if(t&&["failed","cancelled"].includes(t.application))throw Re("BOOT_HARNESS_INSTALL_FAILED","\u66F4\u65B0\u672A\u5B8C\u6210\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u67E5\u770B\u8BE6\u60C5\u3002",{details:t?.error});if(!t||!["applied","restart-required"].includes(t.application)||t.error)throw Ln({details:t?.error});if(t.version&&t.version!==n)throw Re("BOOT_HARNESS_INSTALL_VERSION","Harness \u8FD4\u56DE\u7684\u7248\u672C\u4E0E\u66F4\u65B0\u76EE\u6807\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u67E5\u770B\u63D2\u4EF6\u7BA1\u7406\u3002",{uncertain:!0});return t}r(ht,"installedResult");async function xt(e,n,{fetchImpl:t=fetch,pluginManager:i=Jn("pluginManager"),timeout:s=Ce.install}={}){if(!gt(e)||!cn(n))throw Error("\u66F4\u65B0\u5305\u8DEF\u5F84\u6216\u7248\u672C\u65E0\u6548\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002");let d=globalThis.crypto?.randomUUID?.()||`lewis-enchant-${Date.now()}-${Math.random().toString(16).slice(2)}`,u=new AbortController,f,o=new Promise((l,m)=>{f=setTimeout(()=>{u.abort(),m(Re("BOOT_HARNESS_INSTALL_UNCERTAIN","\u66F4\u65B0\u54CD\u5E94\u8D85\u65F6\u3002\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u6838\u5BF9\u5B9E\u9645\u7248\u672C\u540E\u91CD\u8BD5\u3002",{uncertain:!0}))},s)});try{if(i){let c=await Promise.race([i.installBundle(e,{enabled:!0,saveExact:!0,requestId:d}),o]);return ht(c,n)}let l=await Promise.race([t("/api/pluginManager/installBundle",{method:"POST",credentials:"same-origin",signal:u.signal,headers:{"content-type":"application/json"},body:JSON.stringify({type:"client-request",rpcId:d,method:"pluginManager/installBundle",payload:{args:{spec:e,options:{enabled:!0,saveExact:!0,requestId:d}}}})}),o]);if(l.status===401||l.status===403)throw Re("BOOT_HARNESS_INSTALL_PERMISSION","\u5F53\u524D\u8FDE\u63A5\u6CA1\u6709\u7BA1\u7406\u63D2\u4EF6\u7684\u6743\u9650\uFF0C\u8BF7\u4F7F\u7528 Harness \u4E3B\u7A97\u53E3\u7684\u62E5\u6709\u8005\u8FDE\u63A5\u3002");if(l.status===404||l.status===405)throw Re("BOOT_HARNESS_INSTALL_UNAVAILABLE","\u5F53\u524D Harness \u4E0D\u652F\u6301\u81EA\u52A8\u5B89\u88C5\u6B64\u66F4\u65B0\uFF0C\u8BF7\u6253\u5F00\u63D2\u4EF6\u7BA1\u7406\u5B8C\u6210\u66F4\u65B0\u3002");if(!l.ok)throw Ln({status:l.status});let m;try{m=await Promise.race([$n(l),o])}catch(c){throw Kn.has(c)?c:Re("BOOT_HARNESS_INSTALL_RESPONSE","Harness \u672A\u63A5\u53D7\u66F4\u65B0\u8BF7\u6C42\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u67E5\u770B\u8BE6\u60C5\u3002",{cause:c,uncertain:!0})}if(m.type!=="server-response"||m.rpcId!==d||typeof m.result?.ok!="boolean")throw Re("BOOT_HARNESS_INSTALL_RESPONSE","Harness \u672A\u63A5\u53D7\u66F4\u65B0\u8BF7\u6C42\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u67E5\u770B\u8BE6\u60C5\u3002",{uncertain:!0});return ht(m.result,n)}catch(l){throw u.signal.aborted?Re("BOOT_HARNESS_INSTALL_UNCERTAIN","\u66F4\u65B0\u54CD\u5E94\u8D85\u65F6\u3002\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u6838\u5BF9\u5B9E\u9645\u7248\u672C\u540E\u91CD\u8BD5\u3002",{cause:l,uncertain:!0}):Kn.has(l)?l:Ln({cause:l})}finally{clearTimeout(f)}}r(xt,"installVerifiedUpdate");var Xe=new Map,In=new Map,Yn=new Map,_n=new Map,wt=r(e=>`${e?.packageName}@${e?.latestVersion}`,"updateKey");function St(e){return In.get(wt(e))||null}r(St,"appliedUpdate");async function Qn(e){for(let[n,t]of _n)t.promise||(t.promise=Promise.resolve().then(()=>e("/updates/installed",{method:"POST",body:JSON.stringify({version:t.version,spec:t.spec})})).then(()=>{t.value.cleanupPending=!1,_n.get(n)===t&&_n.delete(n)}).catch(()=>{}).finally(()=>{t.promise=null})),await t.promise}r(Qn,"retryUpdateAcknowledgements");function Et(){let e=0;for(let[n,t]of Xe)t.installStarted||t.canceled||(t.canceled=!0,t.stopPolling?.(),Xe.get(n)===t&&Xe.delete(n),e++);return e}r(Et,"cancelPendingUpdates");async function Xn(e,n,{onPhase:t,onProgress:i,install:s=xt,pollInterval:d=500}={}){if(!Le(n))throw Error("\u66F4\u65B0\u7248\u672C\u65E0\u6548\u6216\u5C1A\u672A\u516C\u5F00\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5\u66F4\u65B0\u3002");let u=wt(n);if(In.has(u))return In.get(u);if(Yn.has(u))throw Yn.get(u);let f=Xe.get(u);if(!f){f={observers:new Set,progressObservers:new Set,phase:"prepare",progress:{version:n.latestVersion,phase:"prepare",downloadedBytes:0,totalBytes:null,percent:null},promise:null,canceled:!1,installStarted:!1,stopPolling:null},Xe.set(u,f);let o=r(m=>{f.phase=m,f.observers.forEach(c=>{try{c(m)}catch{}})},"emit"),l=r(m=>{f.progress=m,f.progressObservers.forEach(c=>{try{c(m)}catch{}})},"emitProgress");f.promise=Promise.resolve().then(async()=>{let m=!1,c;f.stopPolling=()=>{m=!0,clearTimeout(c)};let w=r(()=>{if(f.canceled)throw Error("\u66F4\u65B0\u5DF2\u53D6\u6D88\uFF1A\u63D2\u4EF6\u5DF2\u505C\u7528\u6216\u5378\u8F7D\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002")},"assertActive");async function h(){try{let A=await e("/updates/progress");!m&&A?.version===n.latestVersion&&["checking","downloading","verifying","ready"].includes(A.phase)&&l(A)}catch{}m||(c=setTimeout(h,d))}r(h,"poll");try{w();let A=e("/updates/prepare",{method:"POST",body:JSON.stringify({version:n.latestVersion})});h();let I=xr(await A,n);w(),f.stopPolling(),o("install"),l({...f.progress,...Number.isSafeInteger(I.bytes)&&I.bytes>0?{downloadedBytes:I.bytes,totalBytes:I.bytes}:{},...typeof I.fromCache=="boolean"?{fromCache:I.fromCache}:{},phase:"install",percent:null}),w(),f.installStarted=!0;let y=await s(I.spec,I.version),R={version:I.version,result:y};return In.set(u,R),R.cleanupPending=!0,_n.set(u,{version:I.version,spec:I.spec,value:R}),Qn(e),o("complete"),l({...f.progress,phase:"complete",percent:100}),R}catch(A){throw A?.uncertain&&Yn.set(u,A),l({...f.progress,phase:f.canceled?"canceled":"error",percent:null}),A}finally{f.stopPolling()}}).finally(()=>{Xe.get(u)===f&&Xe.delete(u)})}if(typeof t=="function"){f.observers.add(t);try{t(f.phase)}catch{}}if(typeof i=="function"){f.progressObservers.add(i);try{i(f.progress)}catch{}}try{return await f.promise}finally{f.observers.delete(t),f.progressObservers.delete(i)}}r(Xn,"prepareAndInstallUpdate");var Tt=new WeakMap,Mn=Object.freeze({light:Object.freeze({labelPrimary:"#20242c",labelSecondary:"#5f6876",labelTertiary:"#7b8492",borderColor:"#c7ccd4",panelColor:"#ffffff",baseColor:"#f5f6f8",hoverColor:"#20242c0d",accent:"#4d6bfe",accentText:"#ffffff"}),dark:Object.freeze({labelPrimary:"#eef0f5",labelSecondary:"#b5bdc9",labelTertiary:"#8b95a5",borderColor:"#616b7b",panelColor:"#222832",baseColor:"#141820",hoverColor:"#ffffff14",accent:"#7c96ff",accentText:"#101827"})});function un(e,n){return e?.getPropertyValue(n).trim()||""}r(un,"property");function wr(e,n,t){return!n||/[;{}<>\u0000-\u001f]/.test(n)?t:!e?.CSS?.supports||e.CSS.supports("color",n)?n:t}r(wr,"safeColor");function et(e,n="#ffffff"){let t;return/^#[a-f\d]{6}(?:[a-f\d]{2})?$/i.test(e)?t=[1,3,5].map(i=>parseInt(e.slice(i,i+2),16)):/^#[a-f\d]{3}$/i.test(e)?t=[1,2,3].map(i=>parseInt(e[i]+e[i],16)):/^rgba?\(/i.test(e)&&(t=e.match(/[\d.]+/g)?.slice(0,3).map(Number)),!t||t.length!==3||!t.every(Number.isFinite)?n:t.reduce((i,s,d)=>i+s*[.299,.587,.114][d],0)>=155?"#142c2c":"#f4fbf8"}r(et,"contrastText");function kt(e){let n=e?.defaultView,t=e?.documentElement,i=e?.body,s=n?.getComputedStyle?.(i||t),d=n?.getComputedStyle?.(t),u=d?.colorScheme||s?.colorScheme||"",f=i?.hasAttribute("data-ds-dark-theme")||t?.hasAttribute("data-ds-dark-theme")||u==="dark"?"dark":u==="light"?"light":n?.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light",o=Mn[f],l=r((y,R)=>wr(n,un(s,y)||un(d,y),R),"get"),m=parseFloat(un(s,"--dsh-content-font-size")||un(d,"--dsh-content-font-size")),c=Number.isFinite(m)?Math.max(10,Math.min(22,m)):14,w=un(s,"--dsh-font-family-text"),h=un(s,"--dsw-font-family")||(w?`${w}, system-ui, sans-serif`:s?.fontFamily)||"system-ui, sans-serif",A=l("--dsw-alias-brand-primary-new-colorprimary-new-color",o.accent),I={colorScheme:f,fontSize:c,fontFamily:h,labelPrimary:l("--dsw-alias-label-primary",o.labelPrimary),labelSecondary:l("--dsw-alias-label-secondary",o.labelSecondary),labelTertiary:l("--dsw-alias-label-tertiary",o.labelTertiary),borderColor:l("--dsw-alias-border-l2",o.borderColor),panelColor:l("--dsw-alias-bg-layer-2",o.panelColor),baseColor:l("--dsw-alias-bg-base",l("--dsw-alias-bg-layer-1",o.baseColor)),hoverColor:l("--dsw-alias-interactive-bg-hover",o.hoverColor),accent:A,accentText:et(A,l("--dsw-alias-label-primary-foreground",o.accentText))};return Object.freeze(I)}r(kt,"readHostAppearance");function Sr(e){let n=kt(e),t,i=null,s,d=new Set,u=e?.defaultView;function f(){i=null;let c=kt(e);if(JSON.stringify(c)!==JSON.stringify(n)){n=c;for(let w of[...d])try{w()}catch{}}}r(f,"refresh");function o(){i===null&&(typeof u?.requestAnimationFrame=="function"?i=u.requestAnimationFrame(f):f())}r(o,"schedule");function l(){let c=u?.MutationObserver;if(typeof c=="function"){t=new c(o);for(let w of[e.documentElement,e.body].filter(Boolean))t.observe(w,{attributes:!0,attributeFilter:["style","class","data-ds-dark-theme"]});e.head&&t.observe(e.head,{subtree:!0,childList:!0,characterData:!0,attributes:!0})}s=u?.matchMedia?.("(prefers-color-scheme: dark)"),s?.addEventListener?.("change",o),u?.addEventListener?.("resize",o),e.fonts?.addEventListener?.("loadingdone",o),f()}r(l,"connect");function m(){t?.disconnect(),t=void 0,s?.removeEventListener?.("change",o),u?.removeEventListener?.("resize",o),e.fonts?.removeEventListener?.("loadingdone",o),i!==null&&u?.cancelAnimationFrame?.(i),i=null}return r(m,"disconnect"),Object.freeze({getSnapshot:r(()=>n,"getSnapshot"),subscribe(c){if(typeof c!="function")throw new TypeError("Host appearance listener must be a function.");d.add(c),d.size===1&&l();let w=!0;return()=>{w&&(w=!1,d.delete(c),d.size||m())}}})}r(Sr,"createStore");function Ct(e){if(!e||typeof e!="object")throw new TypeError("Host appearance needs a document.");let n=Tt.get(e);return n||(n=Sr(e),Tt.set(e,n)),n}r(Ct,"getHostAppearanceStore");var At=Symbol.for("dsh.lewis.enchant.v1"),zn=Object.freeze({appearanceMode:"follow-host",effect:"frosted",accent:null,surface:null,colorScheme:null,fontSize:null,fontFamily:null,blur:30,radius:30}),Er=/^[a-z0-9][a-z0-9._-]{0,127}$/,Tr=/^#[a-f0-9]{6}$/i,kr=new Set(["appearanceMode","effect","accent","surface","colorScheme","fontSize","fontFamily","blur","radius"]),Ot=new WeakMap;function vn(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let n=Object.getPrototypeOf(e);return n===null||n===Object.prototype}r(vn,"plain");function gn(e){if(typeof e!="string"||!Er.test(e))throw new TypeError("\u9644\u9B54\u53F0\u9700\u8981\u7A33\u5B9A\u7684\u63D2\u4EF6\u6216\u8BBE\u7F6E\u5165\u53E3 ID\u3002");return e}r(gn,"identifier");function Cr(e){if(typeof e!="string"||!e.trim()||e.length>256)return!1;let n=e.split(",");return n.length<=16&&n.every(t=>{let i=t.trim();if(i[0]==='"'||i[0]==="'"){if(i.at(-1)!==i[0])return!1;i=i.slice(1,-1)}return/^[-\p{L}\p{N} _]+$/u.test(i)&&new RegExp("\\p{L}","u").test(i)})}r(Cr,"validFontFamily");function Dn(e,n=zn){if(!vn(e))throw new TypeError("\u9644\u9B54\u53F0\u4E3B\u9898\u5FC5\u987B\u662F\u5BF9\u8C61\u3002");let t={...n};for(let[i,s]of Object.entries(e)){if(!kr.has(i))throw new TypeError("\u4E0D\u652F\u6301\u7684\u9644\u9B54\u53F0\u4E3B\u9898\u5C5E\u6027\u3002");if(i==="effect"&&!["frosted","liquid-glass"].includes(s))throw new TypeError("\u4E0D\u652F\u6301\u7684\u9644\u9B54\u53F0\u6750\u8D28\u3002");if(i==="appearanceMode"&&!["follow-host","custom"].includes(s))throw new TypeError("\u5916\u89C2\u6A21\u5F0F\u987B\u4E3A\u8DDF\u968F\u901A\u7528\u8BBE\u7F6E\u6216\u81EA\u5B9A\u4E49\u3002");if(i==="colorScheme"&&s!==null&&!["light","dark"].includes(s))throw new TypeError("\u81EA\u5B9A\u4E49\u914D\u8272\u987B\u4E3A\u6D45\u8272\u6216\u6DF1\u8272\u3002");if(i==="fontSize"&&s!==null&&!(Number.isInteger(s)&&s>=10&&s<=32))throw new TypeError("\u81EA\u5B9A\u4E49\u5B57\u53F7\u987B\u4E3A10\u523032\u4E4B\u95F4\u7684\u6574\u6570\u3002");if(i==="fontFamily"&&s!==null&&!Cr(s))throw new TypeError("\u81EA\u5B9A\u4E49\u5B57\u4F53\u987B\u4E3A\u6709\u6548\u7684\u5B57\u4F53\u540D\u79F0\u5217\u8868\u3002");if(["accent","surface"].includes(i)&&s!==null&&(typeof s!="string"||!Tr.test(s)))throw new TypeError("\u4E3B\u9898\u989C\u8272\u987B\u4E3A\u516D\u4F4D\u5341\u516D\u8FDB\u5236\u989C\u8272\u3002");if(i==="blur"&&!(Number.isInteger(s)&&s>=0&&s<=48))throw new TypeError("\u4E3B\u9898\u78E8\u7802\u5EA6\u987B\u4E3A 0 \u5230 48 \u7684\u6574\u6570\u3002");if(i==="radius"&&!(Number.isInteger(s)&&s>=12&&s<=40))throw new TypeError("\u4E3B\u9898\u5706\u89D2\u987B\u4E3A 12 \u5230 40 \u7684\u6574\u6570\u3002");t[i]=typeof s=="string"&&["accent","surface"].includes(i)?s.toLowerCase():s}return!Object.hasOwn(e,"appearanceMode")&&["accent","surface","colorScheme","fontSize","fontFamily"].some(i=>Object.hasOwn(e,i)&&e[i]!==null)&&(t.appearanceMode="custom"),Object.freeze(t)}r(Dn,"themeValue");function Nt(e=zn,n){let t=Dn(e),i={"--lewis-blur":`${t.blur}px`,"--lewis-radius":`${t.radius}px`},s=t.appearanceMode==="custom",d=s&&t.colorScheme?t.colorScheme:n?.colorScheme||"light",u=s&&t.colorScheme?Mn[d]:n||Mn[d],f=s&&t.accent?t.accent:u.accent,o=s&&t.surface?t.surface:u.panelColor;return Object.assign(i,{"--lewis-font-size":`${s&&t.fontSize!==null?t.fontSize:n?.fontSize||14}px`,"--lewis-font-family":s&&t.fontFamily?t.fontFamily:n?.fontFamily||"system-ui, sans-serif","--lewis-label-primary":u.labelPrimary,"--lewis-label-secondary":u.labelSecondary,"--lewis-label-tertiary":u.labelTertiary,"--lewis-border-color":u.borderColor,"--lewis-panel-color":o,"--lewis-base-color":u.baseColor,"--lewis-hover-color":u.hoverColor,"--lewis-accent":f,"--lewis-accent-text":s&&t.accent?et(t.accent):u.accentText}),s&&t.surface&&(i["--lewis-surface"]=t.surface),{"data-lewis-effect":t.effect,"data-lewis-appearance-mode":t.appearanceMode,"data-lewis-color-scheme":d,"data-lewis-themed":"true",style:i}}r(Nt,"themeAttributes");function Ar(){let e=new Map,n=new Set,t=null,i=0,s=Object.freeze({version:1,revision:i,theme:zn,controller:null,plugins:Object.freeze([])});function d(l=t){if(!l)return!1;try{return l.isEntryReady()===!0}catch{return!1}}r(d,"entryReady");function u(){let l=d();s=Object.freeze({version:1,revision:++i,theme:t&&l?t.theme:zn,controller:t?Object.freeze({id:t.id,sectionId:t.sectionId,ready:l}):null,plugins:Object.freeze([...e.values()].map(m=>[...m.values()].at(-1)))});for(let m of[...n])try{m()}catch{}}r(u,"publish");function f(){let l=d();!!s.controller?.ready!==l&&u()}r(f,"refresh");function o(l){return e.has(l)&&d()&&![...e.get(l).values()].some(m=>m.sectionId===t.sectionId)}return r(o,"shouldGroupSettings"),Object.freeze({version:1,appearanceModes:Object.freeze(["follow-host","custom"]),getSnapshot:r(()=>s,"getSnapshot"),subscribe(l){if(typeof l!="function")throw new TypeError("\u9644\u9B54\u53F0\u76D1\u542C\u5668\u5FC5\u987B\u662F\u51FD\u6570\u3002");n.add(l);let m=!0;return()=>{m&&(m=!1,n.delete(l))}},refresh:f,registerPlugin(l){if(!vn(l))throw new TypeError("\u9644\u9B54\u53F0\u63D2\u4EF6\u4FE1\u606F\u5FC5\u987B\u662F\u5BF9\u8C61\u3002");let{id:m,name:c,sectionId:w,renderSettings:h,openSettings:A}=l;if(gn(m),gn(w),typeof c!="string"||!c.trim()||c.length>80||/[\x00-\x1f\x7f]/.test(c))throw new TypeError("\u9644\u9B54\u53F0\u63D2\u4EF6\u540D\u79F0\u65E0\u6548\u3002");if(typeof h!="function"||typeof A!="function")throw new TypeError("\u9644\u9B54\u53F0\u63D2\u4EF6\u9700\u8981\u53EF\u7528\u7684\u8BBE\u7F6E\u7EC4\u4EF6\u4E0E\u6253\u5F00\u65B9\u6CD5\u3002");let I=e.get(m)||new Map,y=[...I.values()][0];if(y&&(y.name!==c||y.sectionId!==w))throw new Error("\u9644\u9B54\u53F0\u63D2\u4EF6 ID \u5DF2\u88AB\u53E6\u4E00\u9879\u5360\u7528\u3002");let R=Symbol(m);I.set(R,Object.freeze({id:m,name:c,sectionId:w,renderSettings:h,openSettings:A})),e.set(m,I),u();let B=!0;return()=>{B&&(B=!1,I.delete(R),I.size||e.delete(m),u())}},acquireController(l){if(t)throw new Error("\u9644\u9B54\u53F0\u5DF2\u7ECF\u6709\u4E00\u4E2A\u6D3B\u52A8\u7684\u63A7\u5236\u5668\u3002");if(!vn(l))throw new TypeError("\u9644\u9B54\u53F0\u63A7\u5236\u5668\u4FE1\u606F\u5FC5\u987B\u662F\u5BF9\u8C61\u3002");let{id:m,sectionId:c,openSettings:w,isEntryReady:h}=l;if(gn(m),gn(c),typeof w!="function"||typeof h!="function")throw new TypeError("\u63A7\u5236\u5668\u9700\u8981\u53EF\u7528\u4E14\u53EF\u9A8C\u8BC1\u7684\u8BBE\u7F6E\u5165\u53E3\u3002");if([...e.values()].some(B=>[...B.values()].some(O=>O.sectionId===c)))throw new Error("\u63A7\u5236\u5668\u5FC5\u987B\u4F7F\u7528\u72EC\u7ACB\u7684\u8BBE\u7F6E\u5165\u53E3\u3002");let A=Symbol(m);t={id:m,sectionId:c,openSettings:w,isEntryReady:h,token:A,theme:Dn(l.theme===void 0?{}:l.theme)},u();let y=!0,R=r(()=>{if(!y||t?.token!==A)throw new Error("\u9644\u9B54\u53F0\u63A7\u5236\u5668\u5DF2\u7ECF\u91CA\u653E\u3002")},"assertActive");return Object.freeze({setTheme(B){R();let O=Dn(B,t.theme);t.theme=O,u()},refresh(){R(),f()},release(){y&&(y=!1,t?.token===A&&(t=null,u()))}})},shouldGroupSettings:o,openControllerSettings(l){if(!o(l))return!1;try{return t.openSettings(l)!==!1}catch{return!1}}})}r(Ar,"createRegistry");function en(e=globalThis){if((!e||typeof e!="object")&&typeof e!="function")throw new TypeError("\u9644\u9B54\u53F0\u9700\u8981\u5171\u4EAB\u7A97\u53E3\u4F5C\u7528\u57DF\u3002");let n=e[At];if(n||(n=Ar(),Object.defineProperty(e,At,{value:n,enumerable:!1})),n.version!==1||!["getSnapshot","subscribe","registerPlugin","acquireController","shouldGroupSettings","openControllerSettings","refresh"].every(s=>typeof n[s]=="function"))throw new Error("\u9644\u9B54\u53F0\u5171\u4EAB\u534F\u8BAE\u4E0D\u517C\u5BB9\u3002");if(n.appearanceModes?.includes("custom"))return n;let t=Ot.get(n);if(t)return t;let i=r(s=>{if(!vn(s))throw new TypeError("\u9644\u9B54\u53F0\u4E3B\u9898\u5FC5\u987B\u662F\u5BF9\u8C61\u3002");if(Dn(s),s.appearanceMode==="custom"||!Object.hasOwn(s,"appearanceMode")&&["colorScheme","fontSize","fontFamily"].some(u=>Object.hasOwn(s,u)))throw new Error("\u8BF7\u91CD\u65B0\u6253\u5F00 Harness\uFF0C\u4EE5\u542F\u7528\u65B0\u7248\u672C\u7684\u81EA\u5B9A\u4E49\u5916\u89C2\u63A5\u53E3\u3002");let d=Object.fromEntries(Object.entries(s).filter(([u])=>["effect","accent","surface","blur","radius"].includes(u)));return s.appearanceMode==="follow-host"&&Object.assign(d,{accent:null,surface:null}),d},"legacyTheme");return t=Object.freeze({version:1,appearanceModes:Object.freeze(["follow-host"]),requiresReloadForCustomAppearance:!0,getSnapshot:n.getSnapshot.bind(n),subscribe:n.subscribe.bind(n),registerPlugin:n.registerPlugin.bind(n),refresh:n.refresh.bind(n),shouldGroupSettings:n.shouldGroupSettings.bind(n),openControllerSettings:n.openControllerSettings.bind(n),acquireController(s){if(!vn(s))throw new TypeError("\u9644\u9B54\u53F0\u63A7\u5236\u5668\u4FE1\u606F\u5FC5\u987B\u662F\u5BF9\u8C61\u3002");let d=n.acquireController({...s,theme:i(s.theme===void 0?{}:s.theme)});return Object.freeze({setTheme(u){d.setTheme(i(u))},refresh:d.refresh.bind(d),release:d.release.bind(d)})}}),Ot.set(n,t),t}r(en,"getEnchantRegistry");function It({slots:e,registry:n=en(),pluginId:t,register:i}){if(gn(t),typeof i!="function")throw new TypeError("\u9644\u9B54\u53F0\u9700\u8981\u8BBE\u7F6E\u5165\u53E3\u6CE8\u518C\u65B9\u6CD5\u3002");if(typeof e?.entries!="function"||typeof e?.subscribe!="function"){let c=i(),w=!0;return()=>{w&&(w=!1,typeof c=="function"&&c())}}let s=!0,d=null,u=!1;function f(){if(!n.shouldGroupSettings(t))return!1;let c=n.getSnapshot().controller;try{return e.entries("settings.section").some(w=>w.options?.id===c?.sectionId)}catch{return!1}}r(f,"shouldGroup");function o(){if(!(!s||u)){u=!0;try{if(n.refresh(),f()){if(d){let c=d;d=null,c()}}else if(!d){d=r(()=>{},"slot");let c=i();if(typeof c!="function")throw new TypeError("Harness \u8BBE\u7F6E\u5165\u53E3\u6CA1\u6709\u8FD4\u56DE\u6E05\u7406\u65B9\u6CD5\u3002");d=c}}finally{u=!1}}}r(o,"sync");let l=n.subscribe(o),m=e.subscribe("settings.section",o);try{o()}catch(c){throw s=!1,l(),m(),d?.(),c}return()=>{if(!s)return;s=!1,l(),m();let c=d;d=null,c?.()}}r(It,"bindSettingsEntry");var Dt=require("react");var _t=new WeakMap,nt=new Set,yn=null;function Lt(e){return/^zh(?:-|$)/i.test(String(e||""))?"zh":e?"en":null}r(Lt,"language");function Me(e=globalThis.document){try{let n=Lt(yn?.getSnapshot?.().active);if(n)return n}catch{}return Lt(e?.documentElement?.lang)||"zh"}r(Me,"readHostLocale");function xn(e){if(!e||typeof e.getSnapshot!="function"||typeof e.subscribe!="function")return()=>{};let n=yn;yn=e;let t=r(()=>{for(let d of[...nt])d()},"refresh"),i=e.subscribe(t);t();let s=!1;return()=>{s||(s=!0,i?.(),yn===e&&(yn=n,t()))}}r(xn,"bindHostLocale");function wn(e=globalThis.document){if(!e||typeof e!="object")return Or;let n=_t.get(e);if(n)return n;let t=new Set,i=Me(e),s,d=r(()=>{let u=Me(e);if(i!==u){i=u;for(let f of[...t])f()}},"refresh");return n=Object.freeze({getSnapshot:r(()=>Me(e),"getSnapshot"),subscribe(u){if(t.add(u),t.size===1){i=Me(e),nt.add(d);let o=e.defaultView?.MutationObserver;typeof o=="function"&&e.documentElement&&(s=new o(d),s.observe(e.documentElement,{attributes:!0,attributeFilter:["lang"]}))}let f=!1;return()=>{f||(f=!0,t.delete(u),t.size||(nt.delete(d),s?.disconnect(),s=null))}}}),_t.set(e,n),n}r(wn,"getHostLocaleStore");function Pt(e,n=globalThis.document){return wn(n).subscribe(e)}r(Pt,"subscribeHostLocale");var Or=Object.freeze({getSnapshot:r(()=>Me(),"getSnapshot"),subscribe:r(()=>()=>{},"subscribe")});function nn(e,n){return Me()==="en"?n:e}r(nn,"translate");var Mt=Object.freeze({brand:"Beginning",cyberpunk:"Digital Life",awakening:"Punk",startup:"Half Face","whale-girl":"Whale Girl","deepseek-title":"DeepSeek","deepseek-dance":"Dance","deepseek-sea":"Sea","startup-screen":"Rhine Lab",silver:"Distant Mountains",gold:"Black and Gold",ice:"Blue Mist","assassins-creed":"Assassin\u2019s Creed","cyberpunk-2077":"Cyberpunk 2077",gta6:"GTA6",horizon6:"Forza Horizon 6",horizon5:"Forza Horizon 5",horizon4:"Forza Horizon 4",classic:"Classic"});function fe(e){if(!e)return"";let n=e.source==="builtin"||!e.source&&Object.hasOwn(Mt,e.id);return Me()==="en"&&n&&Mt[e.id]||e.name}r(fe,"localizedName");var zt=Object.freeze({"\u6570\u636E\u5171\u4EAB\u6388\u6743\u5B57\u6BB5\u65E0\u6548\u3002":"The data-sharing authorization fields are invalid.","\u5F00\u53D1\u8005\u5C1A\u672A\u914D\u7F6E\u6570\u636E\u63A5\u6536\u670D\u52A1\uFF0C\u5F53\u524D\u4E0D\u4F1A\u53D1\u9001\u4EFB\u4F55\u6570\u636E\u3002":"The developer has not configured a collector. No data is currently sent.","\u6682\u65F6\u65E0\u6CD5\u8BFB\u53D6\u63D2\u4EF6\u7248\u672C\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The plugin version is unavailable. Please try again later.","\u8BF7\u9605\u8BFB\u5E76\u660E\u786E\u540C\u610F\u5F53\u524D\u7248\u672C\u7684\u6570\u636E\u5171\u4EAB\u8BF4\u660E\u3002":"Read and explicitly agree to the current data-sharing notice.","\u6B64\u524D\u7684\u6570\u636E\u5220\u9664\u8BF7\u6C42\u5C1A\u672A\u5B8C\u6210\uFF0C\u8BF7\u5148\u91CD\u8BD5\u5220\u9664\u3002":"The previous deletion request is incomplete. Retry deletion first.","\u6570\u636E\u63A5\u6536\u670D\u52A1\u5DF2\u53D8\u66F4\uFF0C\u8BF7\u5148\u505C\u6B62\u5171\u4EAB\u5E76\u5220\u9664\u539F\u670D\u52A1\u4E2D\u7684\u6570\u636E\u3002":"The collector has changed. Stop sharing and delete data from the previous collector first.","\u8BBE\u7F6E\u5DF2\u4FDD\u5B58\uFF0C\u4E0B\u6B21\u542F\u52A8\u751F\u6548":"Settings saved. Changes take effect on the next launch.","\u5DF2\u6062\u590D\u9ED8\u8BA4\uFF0C\u5168\u90E8\u4E0A\u4F20\u7684\u89C6\u9891\u548C\u56FE\u7247\u5DF2\u5220\u9664\u3002":"Defaults restored. All uploaded videos and images have been deleted.",\u89C6\u9891\u5DF2\u79FB\u9664:"Video removed.",\u7ED3\u675F\u753B\u9762\u5DF2\u79FB\u9664:"End screen removed.","\u8BF7\u9009\u62E9\u4E0D\u8D85\u8FC720 MB\u7684PNG\u3001JPEG\u6216WebP\u56FE\u7247\u3002":"Choose a PNG, JPEG or WebP image up to 20 MB.","\u6B63\u5728\u68C0\u67E5\u7ED3\u675F\u753B\u9762\u2026":"Checking the end screen\u2026","\u65E0\u6CD5\u8BFB\u53D6\u8FD9\u5F20\u56FE\u7247\uFF0C\u8BF7\u66F4\u6362\u6709\u6548\u7684PNG\u3001JPEG\u6216WebP\u3002":"Could not read this image. Choose a valid PNG, JPEG or WebP image.",\u4E0A\u4F20\u5931\u8D25:"Upload failed.",\u56FE\u7247\u5DF2\u4E0A\u4F20\u5E76\u8BBE\u4E3A\u7ED3\u675F\u753B\u9762:"Image uploaded and set as the end screen.","\u56FE\u7247\u4E0A\u4F20\u4E2D\u65AD\uFF0C\u8BF7\u91CD\u8BD5\u3002":"The image upload was interrupted. Please try again.","\u6B63\u5728\u4E0A\u4F20\u56FE\u7247\u2026":"Uploading the image\u2026","\u8BF7\u9009\u62E9 MP4\u3001M4V \u6216 WebM \u89C6\u9891\u3002\u63A8\u8350 MP4\uFF08H.264 / AAC\uFF09\u3002":"Choose an MP4, M4V or WebM video. MP4 (H.264 / AAC) is recommended.","\u89C6\u9891\u5E94\u5927\u4E8E 0 \u5B57\u8282\uFF0C\u4E14\u4E0D\u8D85\u8FC7 200 MB\u3002":"The video must be larger than 0 bytes and no larger than 200 MB.","\u6B63\u5728\u68C0\u67E5\u89C6\u9891\u2026":"Checking the video\u2026","\u6D4F\u89C8\u5668\u65E0\u6CD5\u8BFB\u53D6\u6B64\u89C6\u9891\u3002\u8BF7\u8F6C\u6362\u4E3A MP4\uFF08H.264 / AAC\uFF09\u540E\u91CD\u8BD5\u3002":"The browser could not read this video. Convert it to MP4 (H.264 / AAC) and try again.",\u89C6\u9891\u5DF2\u5BFC\u5165\u5E76\u8BBE\u4E3A\u5F00\u673A\u52A8\u753B:"Video imported and set as the startup animation.","\u4E0A\u4F20\u4E2D\u65AD\uFF0C\u8BF7\u91CD\u8BD5\u3002":"The upload was interrupted. Please try again.","\u6B63\u5728\u4E0A\u4F20\u2026":"Uploading\u2026","\u8BBE\u7F6E\u5FC5\u987B\u662F JSON \u5BF9\u8C61\u3002":"Settings must be a JSON object.","\u5DF2\u53D6\u6D88\u64AD\u653E\u65F6\u957F\u8BBE\u7F6E\uFF0C\u52A8\u753B\u6309\u539F\u59CB\u957F\u5EA6\u5B8C\u6574\u64AD\u653E\u3002":"Playback duration settings have been removed. Animations play at their full original length.","\u5DF2\u53D6\u6D88\u753B\u9762\u663E\u793A\u8BBE\u7F6E\uFF0C\u5F00\u673A\u52A8\u753B\u59CB\u7EC8\u94FA\u6EE1\u5F53\u524D\u7A97\u53E3\u3002":"Display settings have been removed. Startup animations always fill the current window.","\u66F4\u65B0\u63D0\u9192\u4F7F\u7528\u7EDF\u4E00\u5916\u89C2\uFF0C\u5DF2\u53D6\u6D88\u5355\u72EC\u8C03\u8282\u3002":"Update prompts use the shared appearance and no longer have separate controls.","\u97F3\u91CF\u987B\u5728 0 \u5230 1 \u4E4B\u95F4\u3002":"Volume must be between 0 and 1.","\u6240\u9009\u52A8\u753B\u4E0D\u5B58\u5728\uFF0C\u8BF7\u5237\u65B0\u7247\u5E93\u3002":"The selected animation is unavailable. Refresh the library.","\u7ED3\u675F\u5C01\u9762\u987B\u4E3A logo \u6216 image\u3002":"The end cover must be logo or image.","\u6240\u9009\u5C01\u9762\u56FE\u7247\u4E0D\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20\u3002":"The selected cover image is unavailable. Upload it again.","\u4E0D\u652F\u6301\u6B64\u7ED3\u675F\u753B\u9762\u3002":"This end screen is not supported.","\u5C01\u9762\u9002\u914D\u987B\u4E3A cover \u6216 contain\u3002":"Cover fit must be cover or contain.","\u8BF7\u5148\u4E0A\u4F20\u4E00\u5F20\u7ED3\u675F\u5C01\u9762\u56FE\u7247\u3002":"Upload an end cover image first.","\u5199\u5165\u8BF7\u6C42\u7F3A\u5C11\u63D2\u4EF6\u6807\u8BC6\u3002":"The write request is missing the plugin identifier.","\u65E0\u6548\u6765\u6E90\u3002":"Invalid request origin.","\u4E0D\u5141\u8BB8\u8DE8\u7AD9\u4FEE\u6539\u8BBE\u7F6E\u3002":"Settings cannot be changed from another site.","\u8BF7\u4F7F\u7528 application/json\u3002":"Use application/json.","\u8BBE\u7F6E\u5185\u5BB9\u8FC7\u5927\u3002":"The settings payload is too large.","JSON \u683C\u5F0F\u4E0D\u6B63\u786E\u3002":"Invalid JSON format.","\u6587\u4EF6\u4E0A\u4F20\u5DF2\u4E2D\u65AD\u3002":"The upload was interrupted.","\u4E0A\u4F20\u7B49\u5F85\u8D85\u65F6\uFF0C\u8BF7\u91CD\u8BD5\u3002":"The upload timed out. Please try again.","\u8BF7\u6C42\u5185\u5BB9\u8D85\u8FC7\u5927\u5C0F\u9650\u5236\u3002":"The request exceeds the size limit.","\u65E0\u6548\u7684\u89C6\u9891\u5B57\u8282\u8303\u56F4\u3002":"Invalid video byte range.","\u8BBE\u7F6E\u6587\u4EF6\u65E0\u6CD5\u8BFB\u53D6\u3002\u8BF7\u5907\u4EFD\u5E76\u68C0\u67E5 boot-studio/settings.json\u3002":"Could not read the settings file. Back up and check boot-studio/settings.json.","\u8BBE\u7F6E\u6587\u4EF6\u7248\u672C\u6216\u7247\u5E93\u683C\u5F0F\u4E0D\u6B63\u786E\u3002":"The settings file version or library format is invalid.","\u7ED3\u675F\u5C01\u9762\u7247\u5E93\u683C\u5F0F\u4E0D\u6B63\u786E\u3002":"The end cover library format is invalid.","\u5DF2\u4FDD\u5B58\u7684\u8BBE\u7F6E\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u5907\u4EFD\u5E76\u68C0\u67E5 settings.json\u3002":"The saved settings are invalid. Back up and check settings.json.","\u91CD\u7F6E\u6E05\u7406\u8DEF\u5F84\u8D85\u51FA\u6570\u636E\u76EE\u5F55\u3002":"The reset cleanup path is outside the data directory.","\u5185\u7F6E\u7D20\u6750\u76EE\u5F55\u4E0E\u81EA\u5B9A\u4E49\u6570\u636E\u6E05\u7406\u8303\u56F4\u91CD\u53E0\uFF0C\u672A\u4FEE\u6539\u8BBE\u7F6E\u6216\u7D20\u6750\u3002":"Built-in assets overlap the custom data cleanup path. Settings and assets were left unchanged.","\u91CD\u7F6E\u9694\u79BB\u76EE\u5F55\u4E0D\u662F\u5B89\u5168\u7684\u672C\u5730\u6587\u4EF6\u5939\uFF0C\u672A\u4FEE\u6539\u8BBE\u7F6E\u6216\u7D20\u6750\u3002":"The reset quarantine directory is not a safe local folder. Settings and assets were left unchanged.","\u91CD\u7F6E\u9694\u79BB\u76EE\u5F55\u8D85\u51FA\u6570\u636E\u76EE\u5F55\uFF0C\u672A\u4FEE\u6539\u8BBE\u7F6E\u6216\u7D20\u6750\u3002":"The reset quarantine directory is outside the data directory. Settings and assets were left unchanged.","\u6587\u4EF6\u540D\u7F16\u7801\u65E0\u6548\u3002":"Invalid filename encoding.","\u652F\u6301 PNG\u3001JPEG \u548C WebP \u56FE\u7247\uFF0C\u4E0D\u63A5\u53D7 SVG\u3002":"PNG, JPEG and WebP images are supported. SVG is not supported.","\u652F\u6301 MP4\u3001M4V \u548C WebM \u89C6\u9891\u3002":"MP4, M4V and WebM videos are supported.","\u56FE\u7247\u683C\u5F0F\u65E0\u6548\uFF0C\u8BF7\u4E0A\u4F20 PNG\u3001JPEG \u6216 WebP \u56FE\u7247\u3002":"Invalid image format. Upload a PNG, JPEG or WebP image.","\u6587\u4EF6\u4E0D\u662F\u6709\u6548\u7684 MP4 / WebM \u5BB9\u5668\u3002\u8BF7\u4F18\u5148\u4F7F\u7528 H.264 + AAC \u7684 MP4\u3002":"The file is not a valid MP4 / WebM container. An MP4 with H.264 + AAC is recommended.","\u5C01\u9762\u56FE\u7247\u4E0D\u5B58\u5728\u6216\u6587\u4EF6\u5DF2\u88AB\u79FB\u8D70\u3002":"The cover image is unavailable or its file has been moved.","\u52A8\u753B\u4E0D\u5B58\u5728\u6216\u6587\u4EF6\u5DF2\u88AB\u79FB\u8D70\u3002":"The animation is unavailable or its file has been moved.","\u63A5\u53E3\u4E0D\u5B58\u5728\u3002":"This endpoint does not exist.","\u8BF7\u5148\u68C0\u67E5\u5E76\u9009\u62E9\u66F4\u65B0\u7248\u672C\u3002":"Check for updates and select a version first.","\u66F4\u65B0\u5305\u51C6\u5907\u5931\u8D25\u3002":"Could not prepare the update package.","\u52A8\u753B\u4E0D\u5B58\u5728\u3002":"The animation does not exist.","\u5C01\u9762\u56FE\u7247\u4E0D\u5B58\u5728\u3002":"The cover image does not exist.","\u5185\u7F6E\u7ED3\u675F\u5C01\u9762\u4E0D\u5B58\u5728\u3002":"The built-in end cover does not exist.","\u4E0D\u652F\u6301\u6B64\u8BF7\u6C42\u65B9\u6CD5\u3002":"This request method is not supported.","\u8BF7\u5148\u786E\u8BA4\u5220\u9664\u5168\u90E8\u81EA\u5B9A\u4E49\u89C6\u9891\u3001\u56FE\u7247\u548C\u504F\u597D\u3002":"Confirm deletion of all custom videos, images and preferences first.","\u53EA\u80FD\u5220\u9664\u81EA\u5DF1\u4E0A\u4F20\u7684\u5C01\u9762\u56FE\u7247\u3002":"Only uploaded cover images can be deleted.","\u53EA\u80FD\u5220\u9664\u81EA\u5DF1\u4E0A\u4F20\u7684\u52A8\u753B\u3002":"Only uploaded animations can be deleted.","\u6587\u4EF6\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u76EE\u5F55\u6743\u9650\u548C\u53EF\u7528\u7A7A\u95F4\u3002":"The file operation failed. Check data directory permissions and available space.","\u66F4\u65B0\u5305\u4E0B\u8F7D\u8D85\u8FC7 15 \u5206\u949F\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002":"The update download exceeded 15 minutes. Check your connection and try again.","\u8FDE\u63A5\u66F4\u65B0\u4E0B\u8F7D\u670D\u52A1\u8D85\u65F6\u3002":"The update download connection timed out.","\u66F4\u65B0\u5305\u4E0B\u8F7D\u957F\u65F6\u95F4\u6CA1\u6709\u8FDB\u5C55\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002":"The update download has stalled. Check your connection and try again.","npm \u66F4\u65B0\u8BF7\u6C42\u79BB\u5F00\u4E86\u5141\u8BB8\u7684\u6CE8\u518C\u8868\u3002":"The npm update request left the allowed registries.","\u8FDE\u63A5 npm \u6CE8\u518C\u8868\u8D85\u65F6\u3002":"The npm registry connection timed out.","\u65E0\u6CD5\u8FDE\u63A5 npm \u6CE8\u518C\u8868\u3002":"Could not connect to the npm registry.","npm \u6CE8\u518C\u8868\u8FD4\u56DE\u4E86\u65E0\u6548\u8DF3\u8F6C\u3002":"The npm registry returned an invalid redirect.","npm \u6CE8\u518C\u8868\u8DF3\u8F6C\u6B21\u6570\u8FC7\u591A\u3002":"The npm registry returned too many redirects.","\u8BFB\u53D6 npm \u6CE8\u518C\u8868\u5185\u5BB9\u5931\u8D25\u3002":"Could not read the npm registry response.","npm \u66F4\u65B0\u5305\u6807\u8BC6\u4E0E\u5F53\u524D\u63D2\u4EF6\u4E0D\u4E00\u81F4\u3002":"The npm package identifier does not match this plugin.","npm \u66F4\u65B0\u5305\u7684\u4ED3\u5E93\u6807\u8BC6\u4E0D\u5C5E\u4E8E\u672C\u9879\u76EE\u3002":"The npm package repository does not belong to this project.","\u4E0D\u652F\u6301\u7684 npm \u6CE8\u518C\u8868\u3002":"This npm registry is not supported.","npm \u66F4\u65B0\u5305\u5730\u5740\u4E0D\u5C5E\u4E8E\u5141\u8BB8\u7684\u6CE8\u518C\u8868\u548C\u7248\u672C\u3002":"The npm package URL does not match an allowed registry and version.","npm \u66F4\u65B0\u5305\u7F3A\u5C11\u6709\u6548\u7684 SHA-512 \u5B8C\u6574\u6027\u4FE1\u606F\u3002":"The npm package is missing valid SHA-512 integrity information.","npm \u66F4\u65B0\u5305 SHA-512 \u6821\u9A8C\u5931\u8D25\uFF0C\u672A\u6267\u884C\u66F4\u65B0\u3002":"The npm package failed SHA-512 verification. The update was not applied.","\u7EF4\u62A4\u7248\u672C\u5FC5\u987B\u4F7F\u7528 X.Y.Z \u7A33\u5B9A\u7248\u672C\u53F7\u3002":"Release versions must use a stable X.Y.Z version number.","\u7248\u672C\u53F7\u8FC7\u5927\u3002":"The version number is too large.","\u7EF4\u62A4\u6E05\u5355\u683C\u5F0F\u4E0D\u6B63\u786E\u3002":"The update manifest format is invalid.","\u66F4\u65B0\u5305\u6807\u8BC6\u4E0E\u5F53\u524D\u63D2\u4EF6\u4E0D\u4E00\u81F4\u3002":"The update package identifier does not match this plugin.","\u66F4\u65B0\u63D0\u4EA4\u6216 SHA-256 \u65E0\u6548\u3002":"The update commit or SHA-256 is invalid.","\u66F4\u65B0\u5305\u5927\u5C0F\u8D85\u51FA\u9650\u5236\u3002":"The update package exceeds the size limit.","\u7EF4\u62A4\u6E05\u5355\u7F3A\u5C11\u53D1\u5E03\u65F6\u95F4\u6216\u91CD\u542F\u58F0\u660E\u3002":"The update manifest is missing its publication time or restart declaration.","\u53EA\u63A5\u53D7\u672C\u9879\u76EE\u56FA\u5B9A\u7248\u672C\u7684 GitHub Release \u66F4\u65B0\u5305\u3002":"Only versioned GitHub Release packages from this project are accepted.","\u66F4\u65B0\u5305 TAR \u6821\u9A8C\u5931\u8D25\u3002":"The update package failed TAR verification.","\u66F4\u65B0\u5305 TAR \u957F\u5EA6\u65E0\u6548\u3002":"The update package TAR length is invalid.","\u66F4\u65B0\u5305\u5185\u5BB9\u4E0D\u5B8C\u6574\u3002":"The update package is incomplete.","\u66F4\u65B0\u5305\u6269\u5C55\u5934\u65E0\u6548\u3002":"The update package extension header is invalid.","\u66F4\u65B0\u5305\u6269\u5C55\u5934\u957F\u5EA6\u65E0\u6548\u3002":"The update package extension header length is invalid.","\u66F4\u65B0\u5305\u542B\u91CD\u590D package.json\uFF0C\u672A\u6267\u884C\u66F4\u65B0\u3002":"The update package contains duplicate package.json entries. The update was not applied.","\u66F4\u65B0\u5305 package.json \u65E0\u6548\u3002":"The update package package.json is invalid.","\u66F4\u65B0\u5305\u5305\u542B\u8FC7\u591A TAR \u6761\u76EE\uFF0C\u672A\u6267\u884C\u66F4\u65B0\u3002":"The update package contains too many TAR entries. The update was not applied.","\u66F4\u65B0\u5305\u4E2D\u6CA1\u6709 package/package.json\u3002":"The update package is missing package/package.json.","\u7EF4\u62A4\u6587\u4EF6\u8BFB\u53D6\u5DF2\u4E2D\u65AD\u3002":"Reading the update file was interrupted.","\u7EF4\u62A4\u6587\u4EF6\u8D85\u8FC7\u5141\u8BB8\u5927\u5C0F\u3002":"The update file exceeds the size limit.","\u7EF4\u62A4\u6587\u4EF6\u5185\u5BB9\u4E3A\u7A7A\u3002":"The update file is empty.","\u66F4\u65B0\u5305\u672A\u5B8C\u6574\u4E0B\u8F7D\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002":"The update download is incomplete. Check your connection and try again.","npm \u7248\u672C\u5C1A\u672A\u53D1\u5E03\uFF0C\u5F53\u524D\u7248\u672C\u53EF\u4EE5\u7EE7\u7EED\u4F7F\u7528\u3002":"The npm version is not published yet. You can keep using the current version.","\u6709\u65B0\u7248\u672C\u53EF\u7528\u3002":"A new version is available.","\u5F53\u524D\u5DF2\u662F\u6700\u65B0\u7248\u672C\u3002":"You are up to date.","\u7EF4\u62A4\u901A\u9053\u5C1A\u672A\u53D1\u5E03\uFF0C\u5F53\u524D\u7248\u672C\u53EF\u4EE5\u7EE7\u7EED\u4F7F\u7528\u3002":"The update channel is not published yet. You can keep using the current version.","\u8FDE\u63A5\u7EF4\u62A4\u901A\u9053\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The update channel connection timed out. Please try again later.","\u53E6\u4E00\u4E2A\u7248\u672C\u6B63\u5728\u51C6\u5907\uFF0C\u8BF7\u7A0D\u540E\u91CD\u65B0\u68C0\u67E5\u3002":"Another version is being prepared. Check again later.","\u66F4\u65B0\u7248\u672C\u5DF2\u53D8\u5316\u6216\u5C1A\u672A\u53D1\u5E03\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5\u66F4\u65B0\u3002":"The update version has changed or is not published yet. Check for updates again.","\u66F4\u65B0\u5305 SHA-256 \u6216\u5927\u5C0F\u6821\u9A8C\u5931\u8D25\uFF0C\u672A\u6267\u884C\u66F4\u65B0\u3002":"The update package failed SHA-256 or size verification. The update was not applied.","\u66F4\u65B0\u5305\u7684\u540D\u79F0\u3001\u7248\u672C\u6216\u63D2\u4EF6\u58F0\u660E\u4E0D\u5339\u914D\u3002":"The update package name, version or plugin declaration does not match.","\u66F4\u65B0\u5305\u4E2D\u7684\u4F5C\u8005\u8BF4\u660E\u4E0E\u672C\u6B21\u68C0\u67E5\u7ED3\u679C\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5\u66F4\u65B0\u3002":"The update package release notes do not match the checked version. Check for updates again.","\u7EF4\u62A4\u5305\u5305\u542B\u5B89\u88C5\u811A\u672C\uFF0C\u8BF7\u901A\u8FC7 Harness \u63D2\u4EF6\u7BA1\u7406\u5668\u4EBA\u5DE5\u68C0\u67E5\u3002":"The update package contains installation scripts. Review it in the Harness plugin manager.","npm \u66F4\u65B0\u5305\u5FC5\u987B\u5C5E\u4E8E\u672C\u9879\u76EE\u4E14\u4E0D\u542B\u8FD0\u884C\u4F9D\u8D56\u3002":"The npm update package must belong to this project and contain no runtime dependencies.","\u66F4\u65B0\u5305\u51C6\u5907\u7ED3\u679C\u65E0\u6548\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002":"The prepared update is invalid. Installation was not requested.","\u66F4\u65B0\u5305\u8DEF\u5F84\u4E0E\u5DF2\u6821\u9A8C\u7684\u540D\u79F0\u3001\u7248\u672C\u6216 SHA-256 \u4E0D\u4E00\u81F4\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002":"The update path does not match the verified name, version or SHA-256. Installation was not requested.","\u66F4\u65B0\u5305\u8DEF\u5F84\u6216\u7248\u672C\u65E0\u6548\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002":"The update path or version is invalid. Installation was not requested.","\u5F53\u524D\u8FDE\u63A5\u6CA1\u6709\u7BA1\u7406\u63D2\u4EF6\u7684\u6743\u9650\uFF0C\u8BF7\u4F7F\u7528 Harness \u4E3B\u7A97\u53E3\u7684\u62E5\u6709\u8005\u8FDE\u63A5\u3002":"This connection cannot manage plugins. Use the owner connection in the main Harness window.","Harness \u672A\u63A5\u53D7\u66F4\u65B0\u8BF7\u6C42\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u67E5\u770B\u8BE6\u60C5\u3002":"Harness did not accept the update request. See the plugin manager for details.","\u66F4\u65B0\u672A\u5B8C\u6210\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u67E5\u770B\u8BE6\u60C5\u3002":"The update did not complete. See the plugin manager for details.","Harness \u8FD4\u56DE\u7684\u7248\u672C\u4E0E\u66F4\u65B0\u76EE\u6807\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u67E5\u770B\u63D2\u4EF6\u7BA1\u7406\u3002":"The version returned by Harness does not match the update target. Check the plugin manager.","\u66F4\u65B0\u54CD\u5E94\u8D85\u65F6\u3002\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u6838\u5BF9\u5B9E\u9645\u7248\u672C\u540E\u91CD\u8BD5\u3002":"The update response timed out. Check the installed version in the plugin manager before retrying.","\u66F4\u65B0\u7248\u672C\u65E0\u6548\u6216\u5C1A\u672A\u516C\u5F00\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5\u66F4\u65B0\u3002":"The update version is invalid or not public yet. Check for updates again.","\u66F4\u65B0\u5DF2\u53D6\u6D88\uFF1A\u63D2\u4EF6\u5DF2\u505C\u7528\u6216\u5378\u8F7D\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002":"The update was canceled because the plugin was disabled or uninstalled. Installation was not requested.","\u6682\u65F6\u65E0\u6CD5\u6062\u590D\u9ED8\u8BA4\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not restore defaults. Please try again later.","\u6062\u590D\u9ED8\u8BA4\u672A\u5B8C\u6210\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Restoring defaults did not complete. Please try again later.","\u6682\u65F6\u65E0\u6CD5\u68C0\u67E5\u66F4\u65B0\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not check for updates. Please try again later.","\u66F4\u65B0\u672A\u5B8C\u6210\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The update did not complete. Please try again later.","\u53D1\u5E03\u524D\u8BF7\u5148\u8BE2\u95EE\u4F5C\u8005\u5E76\u586B\u5199\u672C\u7248\u672C\u7ED9\u7528\u6237\u5C55\u793A\u7684\u66F4\u65B0\u8BF4\u660E\u3002":"Ask the author for this version\u2019s release notes before publishing.","\u66F4\u65B0\u8BF4\u660E\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B version \u548C notes\u3002":"Release notes must contain only version and notes.","\u4F5C\u8005\u66F4\u65B0\u8BF4\u660E\u7684\u7248\u672C\u5FC5\u987B\u4E0E\u5B9E\u9645\u5B89\u88C5\u5305\u7248\u672C\u5B8C\u5168\u4E00\u81F4\u3002":"The release notes version must match the package version exactly.","\u4F5C\u8005\u66F4\u65B0\u8BF4\u660E\u987B\u4E3A 1 \u5230 2000 \u5B57\u7684\u7EAF\u6587\u672C\uFF0C\u4E0D\u63A5\u53D7\u63A7\u5236\u5B57\u7B26\u3002":"Release notes must contain 1 to 2000 plain-text characters without control characters.","\u5B89\u88C5\u5305\u5143\u6570\u636E\u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5\u6838\u5BF9\u4F5C\u8005\u66F4\u65B0\u8BF4\u660E\u3002":"Package metadata is unavailable. Release notes could not be verified."}),tt=Object.freeze({BOOT_SETTINGS_OBJECT:["\u8BBE\u7F6E\u5FC5\u987B\u662F JSON \u5BF9\u8C61\u3002","Settings must be a JSON object."],BOOT_SETTING_RETIRED_DURATION:["\u5DF2\u53D6\u6D88\u64AD\u653E\u65F6\u957F\u8BBE\u7F6E\uFF0C\u52A8\u753B\u6309\u539F\u59CB\u957F\u5EA6\u5B8C\u6574\u64AD\u653E\u3002","Playback duration settings have been removed. Animations play at their full original length."],BOOT_SETTING_RETIRED_FIT:["\u5DF2\u53D6\u6D88\u753B\u9762\u663E\u793A\u8BBE\u7F6E\uFF0C\u5F00\u673A\u52A8\u753B\u59CB\u7EC8\u94FA\u6EE1\u5F53\u524D\u7A97\u53E3\u3002","Display settings have been removed. Startup animations always fill the current window."],BOOT_SETTING_RETIRED_UPDATE_APPEARANCE:["\u66F4\u65B0\u63D0\u9192\u4F7F\u7528\u7EDF\u4E00\u5916\u89C2\uFF0C\u5DF2\u53D6\u6D88\u5355\u72EC\u8C03\u8282\u3002","Update prompts use the shared appearance and no longer have separate controls."],BOOT_SETTING_UNSUPPORTED:["\u4E0D\u652F\u6301\u6B64\u8BBE\u7F6E\uFF0C\u8BF7\u5237\u65B0\u8BBE\u7F6E\u9875\u540E\u91CD\u8BD5\u3002","This setting is not supported. Refresh Settings and try again."],BOOT_SETTING_BOOLEAN:["\u8BBE\u7F6E\u503C\u5FC5\u987B\u662F\u5F00\u5173\u3002","The setting must be a boolean."],BOOT_SETTING_VOLUME:["\u97F3\u91CF\u987B\u5728 0 \u5230 1 \u4E4B\u95F4\u3002","Volume must be between 0 and 1."],BOOT_SETTING_VIDEO_MISSING:["\u6240\u9009\u52A8\u753B\u4E0D\u5B58\u5728\uFF0C\u8BF7\u5237\u65B0\u7247\u5E93\u3002","The selected animation is unavailable. Refresh the library."],BOOT_SETTING_END_SCREEN:["\u7ED3\u675F\u5C01\u9762\u987B\u4E3A logo \u6216 image\u3002","The end cover must be logo or image."],BOOT_SETTING_IMAGE_MISSING:["\u6240\u9009\u5C01\u9762\u56FE\u7247\u4E0D\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20\u3002","The selected cover image is unavailable. Upload it again."],BOOT_SETTING_LOGO:["\u4E0D\u652F\u6301\u6B64\u7ED3\u675F\u753B\u9762\u3002","This end screen is not supported."],BOOT_SETTING_END_FIT:["\u5C01\u9762\u9002\u914D\u987B\u4E3A cover \u6216 contain\u3002","Cover fit must be cover or contain."],BOOT_SETTING_IMAGE_REQUIRED:["\u8BF7\u5148\u4E0A\u4F20\u4E00\u5F20\u7ED3\u675F\u5C01\u9762\u56FE\u7247\u3002","Upload an end cover image first."],BOOT_WRITE_IDENTIFIER:["\u5199\u5165\u8BF7\u6C42\u7F3A\u5C11\u63D2\u4EF6\u6807\u8BC6\u3002","The write request is missing the plugin identifier."],BOOT_WRITE_ORIGIN_INVALID:["\u65E0\u6548\u6765\u6E90\u3002","Invalid request origin."],BOOT_WRITE_CROSS_SITE:["\u4E0D\u5141\u8BB8\u8DE8\u7AD9\u4FEE\u6539\u8BBE\u7F6E\u3002","Settings cannot be changed from another site."],BOOT_JSON_CONTENT_TYPE:["\u8BF7\u4F7F\u7528 application/json\u3002","Use application/json."],BOOT_SETTINGS_TOO_LARGE:["\u8BBE\u7F6E\u5185\u5BB9\u8FC7\u5927\u3002","The settings payload is too large."],BOOT_JSON_INVALID:["JSON \u683C\u5F0F\u4E0D\u6B63\u786E\u3002","Invalid JSON format."],BOOT_UPLOAD_INTERRUPTED:["\u4E0A\u4F20\u4E2D\u65AD\uFF0C\u8BF7\u91CD\u8BD5\u3002","The upload was interrupted. Please try again."],BOOT_UPLOAD_TIMEOUT:["\u4E0A\u4F20\u7B49\u5F85\u8D85\u65F6\uFF0C\u8BF7\u91CD\u8BD5\u3002","The upload timed out. Please try again."],BOOT_BODY_TOO_LARGE:["\u8BF7\u6C42\u5185\u5BB9\u8D85\u8FC7\u5927\u5C0F\u9650\u5236\u3002","The request exceeds the size limit."],BOOT_RANGE_INVALID:["\u65E0\u6548\u7684\u89C6\u9891\u5B57\u8282\u8303\u56F4\u3002","Invalid video byte range."],BOOT_SETTINGS_READ:["\u8BBE\u7F6E\u6587\u4EF6\u65E0\u6CD5\u8BFB\u53D6\u3002\u8BF7\u5907\u4EFD\u5E76\u68C0\u67E5 boot-studio/settings.json\u3002","Could not read the settings file. Back up and check boot-studio/settings.json."],BOOT_LIBRARY_FORMAT:["\u8BBE\u7F6E\u6587\u4EF6\u7248\u672C\u6216\u7247\u5E93\u683C\u5F0F\u4E0D\u6B63\u786E\u3002","The settings file version or library format is invalid."],BOOT_IMAGE_LIBRARY_FORMAT:["\u7ED3\u675F\u5C01\u9762\u7247\u5E93\u683C\u5F0F\u4E0D\u6B63\u786E\u3002","The end cover library format is invalid."],BOOT_SAVED_SETTINGS_INVALID:["\u5DF2\u4FDD\u5B58\u7684\u8BBE\u7F6E\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u5907\u4EFD\u5E76\u68C0\u67E5 settings.json\u3002","The saved settings are invalid. Back up and check settings.json."],BOOT_RESET_PATH:["\u91CD\u7F6E\u6E05\u7406\u8DEF\u5F84\u8D85\u51FA\u6570\u636E\u76EE\u5F55\u3002","The reset cleanup path is outside the data directory."],BOOT_RESET_ASSETS_OVERLAP:["\u5185\u7F6E\u7D20\u6750\u76EE\u5F55\u4E0E\u81EA\u5B9A\u4E49\u6570\u636E\u6E05\u7406\u8303\u56F4\u91CD\u53E0\uFF0C\u672A\u4FEE\u6539\u8BBE\u7F6E\u6216\u7D20\u6750\u3002","Built-in assets overlap the custom data cleanup path. Settings and assets were left unchanged."],BOOT_RESET_QUARANTINE:["\u91CD\u7F6E\u9694\u79BB\u76EE\u5F55\u4E0D\u662F\u5B89\u5168\u7684\u672C\u5730\u6587\u4EF6\u5939\uFF0C\u672A\u4FEE\u6539\u8BBE\u7F6E\u6216\u7D20\u6750\u3002","The reset quarantine directory is not a safe local folder. Settings and assets were left unchanged."],BOOT_RESET_CLEANUP:["\u9ED8\u8BA4\u8BBE\u7F6E\u5DF2\u6062\u590D\uFF0C\u4F46\u81EA\u5B9A\u4E49\u6587\u4EF6\u5C1A\u672A\u5168\u90E8\u6E05\u7406\u3002\u8BF7\u518D\u6B21\u6062\u590D\u9ED8\u8BA4\u91CD\u8BD5\u3002","Defaults were restored, but some custom files remain. Restore defaults again to retry cleanup."],BOOT_FILENAME_ENCODING:["\u6587\u4EF6\u540D\u7F16\u7801\u65E0\u6548\u3002","Invalid filename encoding."],BOOT_IMAGE_TYPE:["\u652F\u6301 PNG\u3001JPEG \u548C WebP \u56FE\u7247\uFF0C\u4E0D\u63A5\u53D7 SVG\u3002","PNG, JPEG and WebP images are supported. SVG is not supported."],BOOT_VIDEO_TYPE:["\u652F\u6301 MP4\u3001M4V \u548C WebM \u89C6\u9891\u3002","MP4, M4V and WebM videos are supported."],BOOT_IMAGE_TOO_LARGE:["\u56FE\u7247\u5E94\u5927\u4E8E 0 \u5B57\u8282\uFF0C\u4E14\u4E0D\u8D85\u8FC7 20 MB\u3002","The image must be larger than 0 bytes and no larger than 20 MB."],BOOT_VIDEO_TOO_LARGE:["\u89C6\u9891\u5E94\u5927\u4E8E 0 \u5B57\u8282\uFF0C\u4E14\u4E0D\u8D85\u8FC7 200 MB\u3002","The video must be larger than 0 bytes and no larger than 200 MB."],BOOT_IMAGE_INVALID:["\u56FE\u7247\u683C\u5F0F\u65E0\u6548\uFF0C\u8BF7\u4E0A\u4F20 PNG\u3001JPEG \u6216 WebP \u56FE\u7247\u3002","Invalid image format. Upload a PNG, JPEG or WebP image."],BOOT_VIDEO_INVALID:["\u6587\u4EF6\u4E0D\u662F\u6709\u6548\u7684 MP4 / WebM \u5BB9\u5668\u3002\u8BF7\u4F18\u5148\u4F7F\u7528 H.264 + AAC \u7684 MP4\u3002","The file is not a valid MP4 / WebM container. An MP4 with H.264 + AAC is recommended."],BOOT_IMAGE_DECODE:["\u65E0\u6CD5\u8BFB\u53D6\u8FD9\u5F20\u56FE\u7247\uFF0C\u8BF7\u66F4\u6362\u6709\u6548\u7684PNG\u3001JPEG\u6216WebP\u3002","Could not read this image. Choose a valid PNG, JPEG or WebP image."],BOOT_VIDEO_DECODE:["\u6D4F\u89C8\u5668\u65E0\u6CD5\u8BFB\u53D6\u6B64\u89C6\u9891\u3002\u8BF7\u8F6C\u6362\u4E3A MP4\uFF08H.264 / AAC\uFF09\u540E\u91CD\u8BD5\u3002","The browser could not read this video. Convert it to MP4 (H.264 / AAC) and try again."],BOOT_IMAGE_NOT_FOUND:["\u5C01\u9762\u56FE\u7247\u4E0D\u5B58\u5728\u3002","The cover image does not exist."],BOOT_VIDEO_NOT_FOUND:["\u52A8\u753B\u4E0D\u5B58\u5728\u3002","The animation does not exist."],BOOT_LOGO_NOT_FOUND:["\u5185\u7F6E\u7ED3\u675F\u5C01\u9762\u4E0D\u5B58\u5728\u3002","The built-in end cover does not exist."],BOOT_ROUTE_NOT_FOUND:["\u63A5\u53E3\u4E0D\u5B58\u5728\u3002","This endpoint does not exist."],BOOT_METHOD_NOT_ALLOWED:["\u4E0D\u652F\u6301\u6B64\u8BF7\u6C42\u65B9\u6CD5\u3002","This request method is not supported."],BOOT_UPDATE_VERSION_REQUIRED:["\u8BF7\u5148\u68C0\u67E5\u5E76\u9009\u62E9\u66F4\u65B0\u7248\u672C\u3002","Check for updates and select a version first."],BOOT_UPDATE_PREPARE_FAILED:["\u66F4\u65B0\u5305\u51C6\u5907\u5931\u8D25\u3002","Could not prepare the update package."],BOOT_UPDATE_INVALID:["\u66F4\u65B0\u4FE1\u606F\u6216\u5B89\u88C5\u5305\u58F0\u660E\u65E0\u6548\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5\u66F4\u65B0\u3002","The update information or package declaration is invalid. Check for updates again."],BOOT_UPDATE_NETWORK:["\u65E0\u6CD5\u8FDE\u63A5\u66F4\u65B0\u670D\u52A1\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002","Could not connect to the update service. Check your connection and try again."],BOOT_UPDATE_TIMEOUT:["\u68C0\u67E5\u66F4\u65B0\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002","The update check timed out. Please try again later."],BOOT_UPDATE_INTEGRITY:["\u66F4\u65B0\u5305\u5B8C\u6574\u6027\u6821\u9A8C\u5931\u8D25\uFF0C\u672A\u6267\u884C\u66F4\u65B0\u3002","The update package failed integrity verification. The update was not applied."],BOOT_UPDATE_ARCHIVE:["\u66F4\u65B0\u5305\u65E0\u6CD5\u5B89\u5168\u8BFB\u53D6\uFF0C\u672A\u6267\u884C\u66F4\u65B0\u3002","The update package could not be read safely. The update was not applied."],BOOT_UPDATE_CACHE:["\u66F4\u65B0\u7F13\u5B58\u76EE\u5F55\u4E0D\u53EF\u7528\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u76EE\u5F55\u6743\u9650\u548C\u53EF\u7528\u7A7A\u95F4\u3002","The update cache is unavailable. Check data directory permissions and available space."],BOOT_UPDATE_INSTALL_ACK_INVALID:["\u65E0\u6CD5\u786E\u8BA4\u66F4\u65B0\u7F13\u5B58\u7684\u6E05\u7406\u8BF7\u6C42\u3002","The update cache cleanup request could not be acknowledged."],BOOT_RESET_CONFIRM:["\u8BF7\u5148\u786E\u8BA4\u5220\u9664\u5168\u90E8\u81EA\u5B9A\u4E49\u89C6\u9891\u3001\u56FE\u7247\u548C\u504F\u597D\u3002","Confirm deletion of all custom videos, images and preferences first."],BOOT_IMAGE_DELETE_ONLY:["\u53EA\u80FD\u5220\u9664\u81EA\u5DF1\u4E0A\u4F20\u7684\u5C01\u9762\u56FE\u7247\u3002","Only uploaded cover images can be deleted."],BOOT_VIDEO_DELETE_ONLY:["\u53EA\u80FD\u5220\u9664\u81EA\u5DF1\u4E0A\u4F20\u7684\u52A8\u753B\u3002","Only uploaded animations can be deleted."],BOOT_MEDIA_STORAGE_LIMIT:["\u81EA\u5B9A\u4E49\u7D20\u6750\u603B\u5927\u5C0F\u5DF2\u8FBE\u4E0A\u9650\uFF0C\u8BF7\u5148\u79FB\u9664\u4E0D\u9700\u8981\u7684\u89C6\u9891\u6216\u56FE\u7247\u3002","Custom media has reached its storage limit. Remove unused videos or images first."],BOOT_MEDIA_COUNT_LIMIT:["\u81EA\u5B9A\u4E49\u7D20\u6750\u6570\u91CF\u5DF2\u8FBE\u4E0A\u9650\uFF0C\u8BF7\u5148\u79FB\u9664\u4E0D\u9700\u8981\u7684\u89C6\u9891\u6216\u56FE\u7247\u3002","Custom media has reached its file limit. Remove unused videos or images first."],BOOT_FILE_OPERATION_FAILED:["\u6587\u4EF6\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u76EE\u5F55\u6743\u9650\u548C\u53EF\u7528\u7A7A\u95F4\u3002","The file operation failed. Check data directory permissions and available space."],BOOT_HTTP_ERROR:["\u8BF7\u6C42\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002","The request failed. Please try again later."],BOOT_RESPONSE_INVALID:["\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6CD5\u8BC6\u522B\u7684\u5185\u5BB9\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002","The service returned an unrecognized response. Please try again later."],BOOT_REQUEST_TIMEOUT:["\u8BF7\u6C42\u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u8FDE\u63A5\u540E\u91CD\u8BD5\u3002","The request timed out. Check your connection and try again."],BOOT_REQUEST_CANCELLED:["\u8BF7\u6C42\u5DF2\u53D6\u6D88\u3002","The request was canceled."],BOOT_NETWORK_ERROR:["\u65E0\u6CD5\u8FDE\u63A5\u5F00\u673A\u52A8\u753B\u670D\u52A1\uFF0C\u8BF7\u68C0\u67E5\u8FDE\u63A5\u6216\u91CD\u542F Harness \u540E\u91CD\u8BD5\u3002","Could not connect to the startup animation service. Check your connection or restart Harness and try again."],BOOT_HARNESS_INSTALL_PERMISSION:["\u5F53\u524D\u8FDE\u63A5\u6CA1\u6709\u7BA1\u7406\u63D2\u4EF6\u7684\u6743\u9650\uFF0C\u8BF7\u4F7F\u7528 Harness \u4E3B\u7A97\u53E3\u7684\u62E5\u6709\u8005\u8FDE\u63A5\u3002","This connection cannot manage plugins. Use the owner connection in the main Harness window."],BOOT_HARNESS_INSTALL_UNAVAILABLE:["\u5F53\u524D Harness \u4E0D\u652F\u6301\u81EA\u52A8\u5B89\u88C5\u6B64\u66F4\u65B0\uFF0C\u8BF7\u6253\u5F00\u63D2\u4EF6\u7BA1\u7406\u5B8C\u6210\u66F4\u65B0\u3002","This Harness version cannot install this update automatically. Open the plugin manager to update."],BOOT_HARNESS_INSTALL_FAILED:["\u66F4\u65B0\u672A\u5B8C\u6210\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u67E5\u770B\u8BE6\u60C5\u3002","The update did not complete. See the plugin manager for details."],BOOT_HARNESS_INSTALL_RESPONSE:["Harness \u672A\u63A5\u53D7\u66F4\u65B0\u8BF7\u6C42\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u67E5\u770B\u8BE6\u60C5\u3002","Harness did not accept the update request. See the plugin manager for details."],BOOT_HARNESS_INSTALL_VERSION:["Harness \u8FD4\u56DE\u7684\u7248\u672C\u4E0E\u66F4\u65B0\u76EE\u6807\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u67E5\u770B\u63D2\u4EF6\u7BA1\u7406\u3002","The version returned by Harness does not match the update target. Check the plugin manager."],BOOT_HARNESS_INSTALL_UNCERTAIN:["\u66F4\u65B0\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u6838\u5BF9\u5B9E\u9645\u7248\u672C\u540E\u518D\u64CD\u4F5C\u3002","The update result could not be confirmed. Check the installed version in the plugin manager before continuing."],BOOT_VERSION_INVALID:["\u7EF4\u62A4\u7248\u672C\u5FC5\u987B\u4F7F\u7528 X.Y.Z \u7A33\u5B9A\u7248\u672C\u53F7\u3002","Release versions must use a stable X.Y.Z version number."],BOOT_TELEMETRY_CONSENT_FIELDS:["\u6570\u636E\u5171\u4EAB\u6388\u6743\u5B57\u6BB5\u65E0\u6548\u3002","The data-sharing authorization fields are invalid."],BOOT_TELEMETRY_UNCONFIGURED:["\u5F00\u53D1\u8005\u5C1A\u672A\u914D\u7F6E\u6570\u636E\u63A5\u6536\u670D\u52A1\uFF0C\u5F53\u524D\u4E0D\u4F1A\u53D1\u9001\u4EFB\u4F55\u6570\u636E\u3002","The developer has not configured a collector. No data is currently sent."],BOOT_TELEMETRY_VERSION_UNAVAILABLE:["\u6682\u65F6\u65E0\u6CD5\u8BFB\u53D6\u63D2\u4EF6\u7248\u672C\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002","The plugin version is unavailable. Please try again later."],BOOT_TELEMETRY_AUTHORIZATION_REQUIRED:["\u8BF7\u9605\u8BFB\u5E76\u660E\u786E\u540C\u610F\u5F53\u524D\u7248\u672C\u7684\u6570\u636E\u5171\u4EAB\u8BF4\u660E\u3002","Read and explicitly agree to the current data-sharing notice."],BOOT_TELEMETRY_DELETION_PENDING:["\u6B64\u524D\u7684\u6570\u636E\u5220\u9664\u8BF7\u6C42\u5C1A\u672A\u5B8C\u6210\uFF0C\u8BF7\u5148\u91CD\u8BD5\u5220\u9664\u3002","The previous deletion request is incomplete. Retry deletion first."],BOOT_TELEMETRY_COLLECTOR_CHANGED:["\u6570\u636E\u63A5\u6536\u670D\u52A1\u5DF2\u53D8\u66F4\uFF0C\u8BF7\u5148\u505C\u6B62\u5171\u4EAB\u5E76\u5220\u9664\u539F\u670D\u52A1\u4E2D\u7684\u6570\u636E\u3002","The collector has changed. Stop sharing and delete data from the previous collector first."],BOOT_TELEMETRY_CONSENT:["\u6570\u636E\u5171\u4EAB\u6388\u6743\u672A\u5B8C\u6210\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002","Data-sharing authorization did not complete. Please try again later."]}),ls=Object.freeze(Object.keys(tt));function rt(e){if(Object.hasOwn(zt,e))return zt[e];let n;return(n=/^不支持的设置:(.+)$/.exec(e))?`Unsupported setting: ${n[1]}`:(n=/^(.+) 必须是开关。$/.exec(e))?`${n[1]} must be a boolean.`:(n=/^(图片|视频)不能超过 (\d+) MB。$/.exec(e))?`${n[1]==="\u56FE\u7247"?"Images":"Videos"} cannot exceed ${n[2]} MB.`:(n=/^默认设置已恢复,但自定义文件尚未全部清理。请再次恢复默认重试(?:((.+)))?。$/.exec(e))?`Default settings were restored, but some custom files remain. Restore defaults again${n[1]?` (${n[1]})`:""}.`:(n=/^暂时无法检查更新:([\s\S]+)$/.exec(e))?`Could not check for updates: ${rt(n[1])}`:(n=/^npm 注册表返回 HTTP (\d+)。$/.exec(e))?`The npm registry returned HTTP ${n[1]}.`:(n=/^维护服务返回 HTTP (\d+)。$/.exec(e))?`The update service returned HTTP ${n[1]}.`:(n=/^(npm )?更新包下载失败(HTTP (\d+))。$/.exec(e))?`${n[1]?"The npm update package":"The update package"} download failed (HTTP ${n[2]}).`:(n=/^Harness 更新请求失败(HTTP (\d+))。$/.exec(e))?`The Harness update request failed (HTTP ${n[1]}).`:(n=/^请求失败 \((\d+)\)$/.exec(e))?`Request failed (${n[1]})`:(n=/^连接失败:([\s\S]+)。请重启 Harness 后重试。$/.exec(e))?`Connection failed: ${rt(n[1])}. Restart Harness and try again.`:e}r(rt,"englishMessage");function ze(e){let n=e&&typeof e=="object"?e.code||e.errorCode:null,t=Object.hasOwn(tt,n)?tt[n]:null,i=String(e&&typeof e=="object"?e.message||e.error||"":e??"");if(t){let[s,d]=t;return Me()==="en"?d:s}return Me()==="en"?rt(i):i}r(ze,"localizeMessage");function ne(){let e=wn(),n=(0,Dt.useSyncExternalStore)(e.subscribe,e.getSnapshot,()=>"zh");return(t,i)=>n==="en"?i:t}r(ne,"useI18n");var pn=`${ln}:open`,Hn=`${ln}:play`,Pe={bootClaimed:!1,request:null,telemetryRequest:null,decisionSettled:!1},Ve=null,De=new Set,st="1.4.2";function ke(e){return Ve=e,De.forEach(n=>n(e)),e}r(ke,"publish");function Bn(){en().openControllerSettings(_e)||window.dispatchEvent(new Event(pn))}r(Bn,"openSettings");function Un(e,n,t=!1,i=!1){window.dispatchEvent(new CustomEvent(Hn,{detail:{clip:e,settings:n,endOnly:t,clipOnly:i}}))}r(Un,"preview");var E=ye(require("react"),1);var Rt=require("react");var Rn=`
2
+ var dr=Object.create;var hn=Object.defineProperty;var lr=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var ur=Object.getPrototypeOf,pr=Object.prototype.hasOwnProperty;var r=(e,n)=>hn(e,"name",{value:n,configurable:!0});var fr=(e,n)=>{for(var t in n)hn(e,t,{get:n[t],enumerable:!0})},ut=(e,n,t,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of cr(n))!pr.call(e,s)&&s!==t&&hn(e,s,{get:()=>n[s],enumerable:!(i=lr(n,s))||i.enumerable});return e};var ye=(e,n,t)=>(t=e!=null?dr(ur(e)):{},ut(n||!e||!e.__esModule?hn(t,"default",{value:e,enumerable:!0}):t,e)),br=e=>ut(hn({},"__esModule",{value:!0}),e);var Ur={};fr(Ur,{BootRoot:()=>dt,EndTitle:()=>Tn,Player:()=>jn,SettingsPanel:()=>mn,ShortcutAction:()=>lt,api:()=>te,apply:()=>Br,openSettings:()=>Bn,playbackStages:()=>sn});module.exports=br(Ur);var Cn=ye(require("react"),1);var ln="dsh-boot-studio",_e="dsh-openup-lewis",Ue=`/${ln}`;var Vr=80*1024*1024,Fr=Object.freeze(["https://registry.npmjs.org","https://registry.npmmirror.com"]),Ce=Object.freeze({telemetryWithdraw:25e3,request:7e3,updateCheck:2e4,updatePrepare:2100*1e3,uploadVideo:18e4,uploadImage:12e4,reset:18e4,install:12e4});var ft=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;function cn(e){if(typeof e!="string"||!ft.test(e))return null;let n=e.split(".").map(Number);return n.every(Number.isSafeInteger)?n:null}r(cn,"parseVersion");function pt(e){if(typeof e!="string"||!ft.test(e))throw Object.assign(new Error("\u7EF4\u62A4\u7248\u672C\u5FC5\u987B\u4F7F\u7528 X.Y.Z \u7A33\u5B9A\u7248\u672C\u53F7\u3002"),{code:"BOOT_VERSION_INVALID"});let n=cn(e);if(!n)throw Object.assign(new Error("\u7248\u672C\u53F7\u8FC7\u5927\u3002"),{code:"BOOT_VERSION_INVALID"});return n}r(pt,"versionParts");function mr(e,n){let t=pt(e),i=pt(n);for(let s=0;s<t.length;s++)if(t[s]!==i[s])return t[s]>i[s]?1:-1;return 0}r(mr,"compareVersions");function bt(e,n){return mr(e,n)>0}r(bt,"isNewerVersion");function he(e,n,t={}){return Object.assign(new Error(n),{code:e,...t})}r(he,"clientError");var mt=r(e=>/^(?:application\/json|application\/[\w.+-]+\+json)(?:\s*;|$)/i.test(String(e||"").trim()),"jsonType");function Nn(e,{status:n=200,contentType:t}={}){let i=n>=200&&n<300,s=r(()=>he(i?"BOOT_RESPONSE_INVALID":"BOOT_HTTP_ERROR",i?"\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6CD5\u8BC6\u522B\u7684\u5185\u5BB9\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":`\u8BF7\u6C42\u5931\u8D25 (${n})`,{status:n}),"fallback");if(!mt(t))throw s();let d;try{d=JSON.parse(e)}catch{throw s()}if(!i){let u=typeof d?.error=="string"&&d.error.trim()?d.error:`\u8BF7\u6C42\u5931\u8D25 (${n})`,f=typeof d?.code=="string"?d.code:typeof d?.errorCode=="string"?d.errorCode:"BOOT_HTTP_ERROR";throw he(f,u,{status:n,details:d?.details})}if(!d||typeof d!="object"||Array.isArray(d))throw s();return d}r(Nn,"parseJSONResponse");async function $n(e){let n=e.status,t=e.headers?.get?.("content-type");return mt(t)?Nn(await e.text(),{status:n,contentType:t}):Nn("",{status:n,contentType:t})}r($n,"readJSONResponse");function hr(e){return e==="/telemetry/withdraw"?Ce.telemetryWithdraw:e==="/updates/prepare"?Ce.updatePrepare:e==="/updates/check"?Ce.updateCheck:e==="/upload"?Ce.uploadVideo:e==="/end-images"?Ce.uploadImage:e==="/reset"?Ce.reset:Ce.request}r(hr,"requestTimeout");function gr({basePath:e=Ue,fetchImpl:n=r((...i)=>fetch(...i),"fetchImpl"),timeoutForPath:t=hr}={}){return r(async function(s,d={}){let u=new AbortController,f=!1,o=r(()=>u.abort(),"abort"),l=setTimeout(()=>{f=!0,u.abort()},t(s));d.signal?.aborted?u.abort():d.signal?.addEventListener("abort",o,{once:!0});try{let m=await n(e+s,{...d,signal:u.signal,headers:{"x-dsh-boot-studio":"1",...typeof d.body=="string"?{"content-type":"application/json"}:{},...d.headers}});return await $n(m)}catch(m){throw f?he("BOOT_REQUEST_TIMEOUT","\u8BF7\u6C42\u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u8FDE\u63A5\u540E\u91CD\u8BD5\u3002",{cause:m}):u.signal.aborted?he("BOOT_REQUEST_CANCELLED","\u8BF7\u6C42\u5DF2\u53D6\u6D88\u3002",{cause:m}):m?.code?m:he("BOOT_NETWORK_ERROR","\u65E0\u6CD5\u8FDE\u63A5\u5F00\u673A\u52A8\u753B\u670D\u52A1\uFF0C\u8BF7\u68C0\u67E5\u8FDE\u63A5\u6216\u91CD\u542F Harness \u540E\u91CD\u8BD5\u3002",{cause:m})}finally{clearTimeout(l),d.signal?.removeEventListener("abort",o)}},"api")}r(gr,"createAPIClient");var te=gr();var vr=new Set([_e,ln]);function Le(e){if(!e||e.available!==!0||e.channelReady!==!0||!vr.has(e.packageName))return!1;let n=cn(e.latestVersion),t=cn(e.currentVersion);return!n||!t||e.manifest&&e.manifest.version!==e.latestVersion?!1:bt(e.latestVersion,e.currentVersion)}r(Le,"isAvailableUpdate");function yr(){let e={checking:!1,checked:!1,status:null,dismissed:!1},n,t,i=new Set;function s(d){return e={...e,...d},i.forEach(u=>{try{u(e)}catch{}}),e}return r(s,"publish"),{getSnapshot:r(()=>e,"getSnapshot"),subscribe(d){return i.add(d),()=>i.delete(d)},check(d){return n||(s({checking:!0}),n=Promise.resolve().then(()=>d("/updates/check",{method:"POST",body:"{}"})).then(u=>{let f=t&&u?{...u,currentVersion:t}:u;return s({checking:!1,checked:!0,status:Le(f)?f:null}),e.status},()=>(s({checking:!1,checked:!0,status:null}),null)),n)},dismiss(){s({dismissed:!0})},updated(d){cn(d)&&(t=d,s({dismissed:!0,status:e.status?{...e.status,available:!1,currentVersion:d}:null}))}}}r(yr,"createStartupUpdateSession");var qe=yr();function gt(e){return typeof e=="string"&&e.length<8192&&!/[\u0000-\u001f\u007f]/.test(e)&&(/^[A-Za-z]:[\\/]/.test(e)||/^\/(?!\/)/.test(e)||/^\\\\[^\\/]+[\\/][^\\/]+[\\/]/.test(e))&&!e.split(/[\\/]/).includes("..")&&e.endsWith(".tgz")}r(gt,"absoluteArchivePath");function xr(e,n){if(!Le(n)||!e||e.version!==n.latestVersion||e.requiresRestart!==!0||!/^[a-f0-9]{64}$/.test(e.sha256||"")||!gt(e.spec))throw Error("\u66F4\u65B0\u5305\u51C6\u5907\u7ED3\u679C\u65E0\u6548\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002");let t=e.spec.split(/[\\/]/),i=`${n.packageName}-${e.version}-${e.sha256}.tgz`;if(t.at(-1)!==i||t.at(-2)!=="update-cache")throw Error("\u66F4\u65B0\u5305\u8DEF\u5F84\u4E0E\u5DF2\u6821\u9A8C\u7684\u540D\u79F0\u3001\u7248\u672C\u6216 SHA-256 \u4E0D\u4E00\u81F4\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002");return e}r(xr,"validatePreparedUpdate");var Zn=new Set;function Pn(e={}){let n={pluginManager:typeof e.pluginManager?.installBundle=="function"?e.pluginManager:null,pluginNavigation:typeof e.pluginNavigation?.openBundle=="function"||typeof e.pluginNavigation?.openList=="function"?e.pluginNavigation:null};return!n.pluginManager&&!n.pluginNavigation?()=>{}:(Zn.add(n),()=>Zn.delete(n))}r(Pn,"bindHarnessServices");function Jn(e){return[...Zn].reverse().find(n=>n[e])?.[e]||null}r(Jn,"harnessService");function vt(){return!!Jn("pluginNavigation")}r(vt,"canOpenHarnessPluginManager");function yt(e=_e){let n=Jn("pluginNavigation");return n?(typeof n.openBundle=="function"?n.openBundle(e):n.openList(),!0):!1}r(yt,"openHarnessPluginManager");var Kn=new WeakSet;function Re(e,n,t){let i=he(e,n,t);return Kn.add(i),i}r(Re,"installError");function Ln(e){return Re("BOOT_HARNESS_INSTALL_UNCERTAIN","\u66F4\u65B0\u54CD\u5E94\u8D85\u65F6\u3002\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u6838\u5BF9\u5B9E\u9645\u7248\u672C\u540E\u91CD\u8BD5\u3002",{...e,uncertain:!0})}r(Ln,"uncertainInstall");function ht(e,n){if(!e||e.ok!==!0)throw Ln({details:e?.error});let t=e.value;if(t&&["failed","cancelled"].includes(t.application))throw Re("BOOT_HARNESS_INSTALL_FAILED","\u66F4\u65B0\u672A\u5B8C\u6210\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u67E5\u770B\u8BE6\u60C5\u3002",{details:t?.error});if(!t||!["applied","restart-required"].includes(t.application)||t.error)throw Ln({details:t?.error});if(t.version&&t.version!==n)throw Re("BOOT_HARNESS_INSTALL_VERSION","Harness \u8FD4\u56DE\u7684\u7248\u672C\u4E0E\u66F4\u65B0\u76EE\u6807\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u67E5\u770B\u63D2\u4EF6\u7BA1\u7406\u3002",{uncertain:!0});return t}r(ht,"installedResult");async function xt(e,n,{fetchImpl:t=fetch,pluginManager:i=Jn("pluginManager"),timeout:s=Ce.install}={}){if(!gt(e)||!cn(n))throw Error("\u66F4\u65B0\u5305\u8DEF\u5F84\u6216\u7248\u672C\u65E0\u6548\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002");let d=globalThis.crypto?.randomUUID?.()||`lewis-enchant-${Date.now()}-${Math.random().toString(16).slice(2)}`,u=new AbortController,f,o=new Promise((l,m)=>{f=setTimeout(()=>{u.abort(),m(Re("BOOT_HARNESS_INSTALL_UNCERTAIN","\u66F4\u65B0\u54CD\u5E94\u8D85\u65F6\u3002\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u6838\u5BF9\u5B9E\u9645\u7248\u672C\u540E\u91CD\u8BD5\u3002",{uncertain:!0}))},s)});try{if(i){let c=await Promise.race([i.installBundle(e,{enabled:!0,saveExact:!0,requestId:d}),o]);return ht(c,n)}let l=await Promise.race([t("/api/pluginManager/installBundle",{method:"POST",credentials:"same-origin",signal:u.signal,headers:{"content-type":"application/json"},body:JSON.stringify({type:"client-request",rpcId:d,method:"pluginManager/installBundle",payload:{args:{spec:e,options:{enabled:!0,saveExact:!0,requestId:d}}}})}),o]);if(l.status===401||l.status===403)throw Re("BOOT_HARNESS_INSTALL_PERMISSION","\u5F53\u524D\u8FDE\u63A5\u6CA1\u6709\u7BA1\u7406\u63D2\u4EF6\u7684\u6743\u9650\uFF0C\u8BF7\u4F7F\u7528 Harness \u4E3B\u7A97\u53E3\u7684\u62E5\u6709\u8005\u8FDE\u63A5\u3002");if(l.status===404||l.status===405)throw Re("BOOT_HARNESS_INSTALL_UNAVAILABLE","\u5F53\u524D Harness \u4E0D\u652F\u6301\u81EA\u52A8\u5B89\u88C5\u6B64\u66F4\u65B0\uFF0C\u8BF7\u6253\u5F00\u63D2\u4EF6\u7BA1\u7406\u5B8C\u6210\u66F4\u65B0\u3002");if(!l.ok)throw Ln({status:l.status});let m;try{m=await Promise.race([$n(l),o])}catch(c){throw Kn.has(c)?c:Re("BOOT_HARNESS_INSTALL_RESPONSE","Harness \u672A\u63A5\u53D7\u66F4\u65B0\u8BF7\u6C42\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u67E5\u770B\u8BE6\u60C5\u3002",{cause:c,uncertain:!0})}if(m.type!=="server-response"||m.rpcId!==d||typeof m.result?.ok!="boolean")throw Re("BOOT_HARNESS_INSTALL_RESPONSE","Harness \u672A\u63A5\u53D7\u66F4\u65B0\u8BF7\u6C42\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u67E5\u770B\u8BE6\u60C5\u3002",{uncertain:!0});return ht(m.result,n)}catch(l){throw u.signal.aborted?Re("BOOT_HARNESS_INSTALL_UNCERTAIN","\u66F4\u65B0\u54CD\u5E94\u8D85\u65F6\u3002\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u6838\u5BF9\u5B9E\u9645\u7248\u672C\u540E\u91CD\u8BD5\u3002",{cause:l,uncertain:!0}):Kn.has(l)?l:Ln({cause:l})}finally{clearTimeout(f)}}r(xt,"installVerifiedUpdate");var Xe=new Map,In=new Map,Yn=new Map,_n=new Map,wt=r(e=>`${e?.packageName}@${e?.latestVersion}`,"updateKey");function St(e){return In.get(wt(e))||null}r(St,"appliedUpdate");async function Qn(e){for(let[n,t]of _n)t.promise||(t.promise=Promise.resolve().then(()=>e("/updates/installed",{method:"POST",body:JSON.stringify({version:t.version,spec:t.spec})})).then(()=>{t.value.cleanupPending=!1,_n.get(n)===t&&_n.delete(n)}).catch(()=>{}).finally(()=>{t.promise=null})),await t.promise}r(Qn,"retryUpdateAcknowledgements");function Et(){let e=0;for(let[n,t]of Xe)t.installStarted||t.canceled||(t.canceled=!0,t.stopPolling?.(),Xe.get(n)===t&&Xe.delete(n),e++);return e}r(Et,"cancelPendingUpdates");async function Xn(e,n,{onPhase:t,onProgress:i,install:s=xt,pollInterval:d=500}={}){if(!Le(n))throw Error("\u66F4\u65B0\u7248\u672C\u65E0\u6548\u6216\u5C1A\u672A\u516C\u5F00\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5\u66F4\u65B0\u3002");let u=wt(n);if(In.has(u))return In.get(u);if(Yn.has(u))throw Yn.get(u);let f=Xe.get(u);if(!f){f={observers:new Set,progressObservers:new Set,phase:"prepare",progress:{version:n.latestVersion,phase:"prepare",downloadedBytes:0,totalBytes:null,percent:null},promise:null,canceled:!1,installStarted:!1,stopPolling:null},Xe.set(u,f);let o=r(m=>{f.phase=m,f.observers.forEach(c=>{try{c(m)}catch{}})},"emit"),l=r(m=>{f.progress=m,f.progressObservers.forEach(c=>{try{c(m)}catch{}})},"emitProgress");f.promise=Promise.resolve().then(async()=>{let m=!1,c;f.stopPolling=()=>{m=!0,clearTimeout(c)};let w=r(()=>{if(f.canceled)throw Error("\u66F4\u65B0\u5DF2\u53D6\u6D88\uFF1A\u63D2\u4EF6\u5DF2\u505C\u7528\u6216\u5378\u8F7D\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002")},"assertActive");async function h(){try{let A=await e("/updates/progress");!m&&A?.version===n.latestVersion&&["checking","downloading","verifying","ready"].includes(A.phase)&&l(A)}catch{}m||(c=setTimeout(h,d))}r(h,"poll");try{w();let A=e("/updates/prepare",{method:"POST",body:JSON.stringify({version:n.latestVersion})});h();let I=xr(await A,n);w(),f.stopPolling(),o("install"),l({...f.progress,...Number.isSafeInteger(I.bytes)&&I.bytes>0?{downloadedBytes:I.bytes,totalBytes:I.bytes}:{},...typeof I.fromCache=="boolean"?{fromCache:I.fromCache}:{},phase:"install",percent:null}),w(),f.installStarted=!0;let y=await s(I.spec,I.version),R={version:I.version,result:y};return In.set(u,R),R.cleanupPending=!0,_n.set(u,{version:I.version,spec:I.spec,value:R}),Qn(e),o("complete"),l({...f.progress,phase:"complete",percent:100}),R}catch(A){throw A?.uncertain&&Yn.set(u,A),l({...f.progress,phase:f.canceled?"canceled":"error",percent:null}),A}finally{f.stopPolling()}}).finally(()=>{Xe.get(u)===f&&Xe.delete(u)})}if(typeof t=="function"){f.observers.add(t);try{t(f.phase)}catch{}}if(typeof i=="function"){f.progressObservers.add(i);try{i(f.progress)}catch{}}try{return await f.promise}finally{f.observers.delete(t),f.progressObservers.delete(i)}}r(Xn,"prepareAndInstallUpdate");var Tt=new WeakMap,Mn=Object.freeze({light:Object.freeze({labelPrimary:"#20242c",labelSecondary:"#5f6876",labelTertiary:"#7b8492",borderColor:"#c7ccd4",panelColor:"#ffffff",baseColor:"#f5f6f8",hoverColor:"#20242c0d",accent:"#4d6bfe",accentText:"#ffffff"}),dark:Object.freeze({labelPrimary:"#eef0f5",labelSecondary:"#b5bdc9",labelTertiary:"#8b95a5",borderColor:"#616b7b",panelColor:"#222832",baseColor:"#141820",hoverColor:"#ffffff14",accent:"#7c96ff",accentText:"#101827"})});function un(e,n){return e?.getPropertyValue(n).trim()||""}r(un,"property");function wr(e,n,t){return!n||/[;{}<>\u0000-\u001f]/.test(n)?t:!e?.CSS?.supports||e.CSS.supports("color",n)?n:t}r(wr,"safeColor");function et(e,n="#ffffff"){let t;return/^#[a-f\d]{6}(?:[a-f\d]{2})?$/i.test(e)?t=[1,3,5].map(i=>parseInt(e.slice(i,i+2),16)):/^#[a-f\d]{3}$/i.test(e)?t=[1,2,3].map(i=>parseInt(e[i]+e[i],16)):/^rgba?\(/i.test(e)&&(t=e.match(/[\d.]+/g)?.slice(0,3).map(Number)),!t||t.length!==3||!t.every(Number.isFinite)?n:t.reduce((i,s,d)=>i+s*[.299,.587,.114][d],0)>=155?"#142c2c":"#f4fbf8"}r(et,"contrastText");function kt(e){let n=e?.defaultView,t=e?.documentElement,i=e?.body,s=n?.getComputedStyle?.(i||t),d=n?.getComputedStyle?.(t),u=d?.colorScheme||s?.colorScheme||"",f=i?.hasAttribute("data-ds-dark-theme")||t?.hasAttribute("data-ds-dark-theme")||u==="dark"?"dark":u==="light"?"light":n?.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light",o=Mn[f],l=r((y,R)=>wr(n,un(s,y)||un(d,y),R),"get"),m=parseFloat(un(s,"--dsh-content-font-size")||un(d,"--dsh-content-font-size")),c=Number.isFinite(m)?Math.max(10,Math.min(22,m)):14,w=un(s,"--dsh-font-family-text"),h=un(s,"--dsw-font-family")||(w?`${w}, system-ui, sans-serif`:s?.fontFamily)||"system-ui, sans-serif",A=l("--dsw-alias-brand-primary-new-colorprimary-new-color",o.accent),I={colorScheme:f,fontSize:c,fontFamily:h,labelPrimary:l("--dsw-alias-label-primary",o.labelPrimary),labelSecondary:l("--dsw-alias-label-secondary",o.labelSecondary),labelTertiary:l("--dsw-alias-label-tertiary",o.labelTertiary),borderColor:l("--dsw-alias-border-l2",o.borderColor),panelColor:l("--dsw-alias-bg-layer-2",o.panelColor),baseColor:l("--dsw-alias-bg-base",l("--dsw-alias-bg-layer-1",o.baseColor)),hoverColor:l("--dsw-alias-interactive-bg-hover",o.hoverColor),accent:A,accentText:et(A,l("--dsw-alias-label-primary-foreground",o.accentText))};return Object.freeze(I)}r(kt,"readHostAppearance");function Sr(e){let n=kt(e),t,i=null,s,d=new Set,u=e?.defaultView;function f(){i=null;let c=kt(e);if(JSON.stringify(c)!==JSON.stringify(n)){n=c;for(let w of[...d])try{w()}catch{}}}r(f,"refresh");function o(){i===null&&(typeof u?.requestAnimationFrame=="function"?i=u.requestAnimationFrame(f):f())}r(o,"schedule");function l(){let c=u?.MutationObserver;if(typeof c=="function"){t=new c(o);for(let w of[e.documentElement,e.body].filter(Boolean))t.observe(w,{attributes:!0,attributeFilter:["style","class","data-ds-dark-theme"]});e.head&&t.observe(e.head,{subtree:!0,childList:!0,characterData:!0,attributes:!0})}s=u?.matchMedia?.("(prefers-color-scheme: dark)"),s?.addEventListener?.("change",o),u?.addEventListener?.("resize",o),e.fonts?.addEventListener?.("loadingdone",o),f()}r(l,"connect");function m(){t?.disconnect(),t=void 0,s?.removeEventListener?.("change",o),u?.removeEventListener?.("resize",o),e.fonts?.removeEventListener?.("loadingdone",o),i!==null&&u?.cancelAnimationFrame?.(i),i=null}return r(m,"disconnect"),Object.freeze({getSnapshot:r(()=>n,"getSnapshot"),subscribe(c){if(typeof c!="function")throw new TypeError("Host appearance listener must be a function.");d.add(c),d.size===1&&l();let w=!0;return()=>{w&&(w=!1,d.delete(c),d.size||m())}}})}r(Sr,"createStore");function Ct(e){if(!e||typeof e!="object")throw new TypeError("Host appearance needs a document.");let n=Tt.get(e);return n||(n=Sr(e),Tt.set(e,n)),n}r(Ct,"getHostAppearanceStore");var At=Symbol.for("dsh.lewis.enchant.v1"),zn=Object.freeze({appearanceMode:"follow-host",effect:"frosted",accent:null,surface:null,colorScheme:null,fontSize:null,fontFamily:null,blur:30,radius:30}),Er=/^[a-z0-9][a-z0-9._-]{0,127}$/,Tr=/^#[a-f0-9]{6}$/i,kr=new Set(["appearanceMode","effect","accent","surface","colorScheme","fontSize","fontFamily","blur","radius"]),Ot=new WeakMap;function vn(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let n=Object.getPrototypeOf(e);return n===null||n===Object.prototype}r(vn,"plain");function gn(e){if(typeof e!="string"||!Er.test(e))throw new TypeError("\u9644\u9B54\u53F0\u9700\u8981\u7A33\u5B9A\u7684\u63D2\u4EF6\u6216\u8BBE\u7F6E\u5165\u53E3 ID\u3002");return e}r(gn,"identifier");function Cr(e){if(typeof e!="string"||!e.trim()||e.length>256)return!1;let n=e.split(",");return n.length<=16&&n.every(t=>{let i=t.trim();if(i[0]==='"'||i[0]==="'"){if(i.at(-1)!==i[0])return!1;i=i.slice(1,-1)}return/^[-\p{L}\p{N} _]+$/u.test(i)&&new RegExp("\\p{L}","u").test(i)})}r(Cr,"validFontFamily");function Dn(e,n=zn){if(!vn(e))throw new TypeError("\u9644\u9B54\u53F0\u4E3B\u9898\u5FC5\u987B\u662F\u5BF9\u8C61\u3002");let t={...n};for(let[i,s]of Object.entries(e)){if(!kr.has(i))throw new TypeError("\u4E0D\u652F\u6301\u7684\u9644\u9B54\u53F0\u4E3B\u9898\u5C5E\u6027\u3002");if(i==="effect"&&!["frosted","liquid-glass"].includes(s))throw new TypeError("\u4E0D\u652F\u6301\u7684\u9644\u9B54\u53F0\u6750\u8D28\u3002");if(i==="appearanceMode"&&!["follow-host","custom"].includes(s))throw new TypeError("\u5916\u89C2\u6A21\u5F0F\u987B\u4E3A\u8DDF\u968F\u901A\u7528\u8BBE\u7F6E\u6216\u81EA\u5B9A\u4E49\u3002");if(i==="colorScheme"&&s!==null&&!["light","dark"].includes(s))throw new TypeError("\u81EA\u5B9A\u4E49\u914D\u8272\u987B\u4E3A\u6D45\u8272\u6216\u6DF1\u8272\u3002");if(i==="fontSize"&&s!==null&&!(Number.isInteger(s)&&s>=10&&s<=32))throw new TypeError("\u81EA\u5B9A\u4E49\u5B57\u53F7\u987B\u4E3A10\u523032\u4E4B\u95F4\u7684\u6574\u6570\u3002");if(i==="fontFamily"&&s!==null&&!Cr(s))throw new TypeError("\u81EA\u5B9A\u4E49\u5B57\u4F53\u987B\u4E3A\u6709\u6548\u7684\u5B57\u4F53\u540D\u79F0\u5217\u8868\u3002");if(["accent","surface"].includes(i)&&s!==null&&(typeof s!="string"||!Tr.test(s)))throw new TypeError("\u4E3B\u9898\u989C\u8272\u987B\u4E3A\u516D\u4F4D\u5341\u516D\u8FDB\u5236\u989C\u8272\u3002");if(i==="blur"&&!(Number.isInteger(s)&&s>=0&&s<=48))throw new TypeError("\u4E3B\u9898\u78E8\u7802\u5EA6\u987B\u4E3A 0 \u5230 48 \u7684\u6574\u6570\u3002");if(i==="radius"&&!(Number.isInteger(s)&&s>=12&&s<=40))throw new TypeError("\u4E3B\u9898\u5706\u89D2\u987B\u4E3A 12 \u5230 40 \u7684\u6574\u6570\u3002");t[i]=typeof s=="string"&&["accent","surface"].includes(i)?s.toLowerCase():s}return!Object.hasOwn(e,"appearanceMode")&&["accent","surface","colorScheme","fontSize","fontFamily"].some(i=>Object.hasOwn(e,i)&&e[i]!==null)&&(t.appearanceMode="custom"),Object.freeze(t)}r(Dn,"themeValue");function Nt(e=zn,n){let t=Dn(e),i={"--lewis-blur":`${t.blur}px`,"--lewis-radius":`${t.radius}px`},s=t.appearanceMode==="custom",d=s&&t.colorScheme?t.colorScheme:n?.colorScheme||"light",u=s&&t.colorScheme?Mn[d]:n||Mn[d],f=s&&t.accent?t.accent:u.accent,o=s&&t.surface?t.surface:u.panelColor;return Object.assign(i,{"--lewis-font-size":`${s&&t.fontSize!==null?t.fontSize:n?.fontSize||14}px`,"--lewis-font-family":s&&t.fontFamily?t.fontFamily:n?.fontFamily||"system-ui, sans-serif","--lewis-label-primary":u.labelPrimary,"--lewis-label-secondary":u.labelSecondary,"--lewis-label-tertiary":u.labelTertiary,"--lewis-border-color":u.borderColor,"--lewis-panel-color":o,"--lewis-base-color":u.baseColor,"--lewis-hover-color":u.hoverColor,"--lewis-accent":f,"--lewis-accent-text":s&&t.accent?et(t.accent):u.accentText}),s&&t.surface&&(i["--lewis-surface"]=t.surface),{"data-lewis-effect":t.effect,"data-lewis-appearance-mode":t.appearanceMode,"data-lewis-color-scheme":d,"data-lewis-themed":"true",style:i}}r(Nt,"themeAttributes");function Ar(){let e=new Map,n=new Set,t=null,i=0,s=Object.freeze({version:1,revision:i,theme:zn,controller:null,plugins:Object.freeze([])});function d(l=t){if(!l)return!1;try{return l.isEntryReady()===!0}catch{return!1}}r(d,"entryReady");function u(){let l=d();s=Object.freeze({version:1,revision:++i,theme:t&&l?t.theme:zn,controller:t?Object.freeze({id:t.id,sectionId:t.sectionId,ready:l}):null,plugins:Object.freeze([...e.values()].map(m=>[...m.values()].at(-1)))});for(let m of[...n])try{m()}catch{}}r(u,"publish");function f(){let l=d();!!s.controller?.ready!==l&&u()}r(f,"refresh");function o(l){return e.has(l)&&d()&&![...e.get(l).values()].some(m=>m.sectionId===t.sectionId)}return r(o,"shouldGroupSettings"),Object.freeze({version:1,appearanceModes:Object.freeze(["follow-host","custom"]),getSnapshot:r(()=>s,"getSnapshot"),subscribe(l){if(typeof l!="function")throw new TypeError("\u9644\u9B54\u53F0\u76D1\u542C\u5668\u5FC5\u987B\u662F\u51FD\u6570\u3002");n.add(l);let m=!0;return()=>{m&&(m=!1,n.delete(l))}},refresh:f,registerPlugin(l){if(!vn(l))throw new TypeError("\u9644\u9B54\u53F0\u63D2\u4EF6\u4FE1\u606F\u5FC5\u987B\u662F\u5BF9\u8C61\u3002");let{id:m,name:c,sectionId:w,renderSettings:h,openSettings:A}=l;if(gn(m),gn(w),typeof c!="string"||!c.trim()||c.length>80||/[\x00-\x1f\x7f]/.test(c))throw new TypeError("\u9644\u9B54\u53F0\u63D2\u4EF6\u540D\u79F0\u65E0\u6548\u3002");if(typeof h!="function"||typeof A!="function")throw new TypeError("\u9644\u9B54\u53F0\u63D2\u4EF6\u9700\u8981\u53EF\u7528\u7684\u8BBE\u7F6E\u7EC4\u4EF6\u4E0E\u6253\u5F00\u65B9\u6CD5\u3002");let I=e.get(m)||new Map,y=[...I.values()][0];if(y&&(y.name!==c||y.sectionId!==w))throw new Error("\u9644\u9B54\u53F0\u63D2\u4EF6 ID \u5DF2\u88AB\u53E6\u4E00\u9879\u5360\u7528\u3002");let R=Symbol(m);I.set(R,Object.freeze({id:m,name:c,sectionId:w,renderSettings:h,openSettings:A})),e.set(m,I),u();let B=!0;return()=>{B&&(B=!1,I.delete(R),I.size||e.delete(m),u())}},acquireController(l){if(t)throw new Error("\u9644\u9B54\u53F0\u5DF2\u7ECF\u6709\u4E00\u4E2A\u6D3B\u52A8\u7684\u63A7\u5236\u5668\u3002");if(!vn(l))throw new TypeError("\u9644\u9B54\u53F0\u63A7\u5236\u5668\u4FE1\u606F\u5FC5\u987B\u662F\u5BF9\u8C61\u3002");let{id:m,sectionId:c,openSettings:w,isEntryReady:h}=l;if(gn(m),gn(c),typeof w!="function"||typeof h!="function")throw new TypeError("\u63A7\u5236\u5668\u9700\u8981\u53EF\u7528\u4E14\u53EF\u9A8C\u8BC1\u7684\u8BBE\u7F6E\u5165\u53E3\u3002");if([...e.values()].some(B=>[...B.values()].some(O=>O.sectionId===c)))throw new Error("\u63A7\u5236\u5668\u5FC5\u987B\u4F7F\u7528\u72EC\u7ACB\u7684\u8BBE\u7F6E\u5165\u53E3\u3002");let A=Symbol(m);t={id:m,sectionId:c,openSettings:w,isEntryReady:h,token:A,theme:Dn(l.theme===void 0?{}:l.theme)},u();let y=!0,R=r(()=>{if(!y||t?.token!==A)throw new Error("\u9644\u9B54\u53F0\u63A7\u5236\u5668\u5DF2\u7ECF\u91CA\u653E\u3002")},"assertActive");return Object.freeze({setTheme(B){R();let O=Dn(B,t.theme);t.theme=O,u()},refresh(){R(),f()},release(){y&&(y=!1,t?.token===A&&(t=null,u()))}})},shouldGroupSettings:o,openControllerSettings(l){if(!o(l))return!1;try{return t.openSettings(l)!==!1}catch{return!1}}})}r(Ar,"createRegistry");function en(e=globalThis){if((!e||typeof e!="object")&&typeof e!="function")throw new TypeError("\u9644\u9B54\u53F0\u9700\u8981\u5171\u4EAB\u7A97\u53E3\u4F5C\u7528\u57DF\u3002");let n=e[At];if(n||(n=Ar(),Object.defineProperty(e,At,{value:n,enumerable:!1})),n.version!==1||!["getSnapshot","subscribe","registerPlugin","acquireController","shouldGroupSettings","openControllerSettings","refresh"].every(s=>typeof n[s]=="function"))throw new Error("\u9644\u9B54\u53F0\u5171\u4EAB\u534F\u8BAE\u4E0D\u517C\u5BB9\u3002");if(n.appearanceModes?.includes("custom"))return n;let t=Ot.get(n);if(t)return t;let i=r(s=>{if(!vn(s))throw new TypeError("\u9644\u9B54\u53F0\u4E3B\u9898\u5FC5\u987B\u662F\u5BF9\u8C61\u3002");if(Dn(s),s.appearanceMode==="custom"||!Object.hasOwn(s,"appearanceMode")&&["colorScheme","fontSize","fontFamily"].some(u=>Object.hasOwn(s,u)))throw new Error("\u8BF7\u91CD\u65B0\u6253\u5F00 Harness\uFF0C\u4EE5\u542F\u7528\u65B0\u7248\u672C\u7684\u81EA\u5B9A\u4E49\u5916\u89C2\u63A5\u53E3\u3002");let d=Object.fromEntries(Object.entries(s).filter(([u])=>["effect","accent","surface","blur","radius"].includes(u)));return s.appearanceMode==="follow-host"&&Object.assign(d,{accent:null,surface:null}),d},"legacyTheme");return t=Object.freeze({version:1,appearanceModes:Object.freeze(["follow-host"]),requiresReloadForCustomAppearance:!0,getSnapshot:n.getSnapshot.bind(n),subscribe:n.subscribe.bind(n),registerPlugin:n.registerPlugin.bind(n),refresh:n.refresh.bind(n),shouldGroupSettings:n.shouldGroupSettings.bind(n),openControllerSettings:n.openControllerSettings.bind(n),acquireController(s){if(!vn(s))throw new TypeError("\u9644\u9B54\u53F0\u63A7\u5236\u5668\u4FE1\u606F\u5FC5\u987B\u662F\u5BF9\u8C61\u3002");let d=n.acquireController({...s,theme:i(s.theme===void 0?{}:s.theme)});return Object.freeze({setTheme(u){d.setTheme(i(u))},refresh:d.refresh.bind(d),release:d.release.bind(d)})}}),Ot.set(n,t),t}r(en,"getEnchantRegistry");function It({slots:e,registry:n=en(),pluginId:t,register:i}){if(gn(t),typeof i!="function")throw new TypeError("\u9644\u9B54\u53F0\u9700\u8981\u8BBE\u7F6E\u5165\u53E3\u6CE8\u518C\u65B9\u6CD5\u3002");if(typeof e?.entries!="function"||typeof e?.subscribe!="function"){let c=i(),w=!0;return()=>{w&&(w=!1,typeof c=="function"&&c())}}let s=!0,d=null,u=!1;function f(){if(!n.shouldGroupSettings(t))return!1;let c=n.getSnapshot().controller;try{return e.entries("settings.section").some(w=>w.options?.id===c?.sectionId)}catch{return!1}}r(f,"shouldGroup");function o(){if(!(!s||u)){u=!0;try{if(n.refresh(),f()){if(d){let c=d;d=null,c()}}else if(!d){d=r(()=>{},"slot");let c=i();if(typeof c!="function")throw new TypeError("Harness \u8BBE\u7F6E\u5165\u53E3\u6CA1\u6709\u8FD4\u56DE\u6E05\u7406\u65B9\u6CD5\u3002");d=c}}finally{u=!1}}}r(o,"sync");let l=n.subscribe(o),m=e.subscribe("settings.section",o);try{o()}catch(c){throw s=!1,l(),m(),d?.(),c}return()=>{if(!s)return;s=!1,l(),m();let c=d;d=null,c?.()}}r(It,"bindSettingsEntry");var Dt=require("react");var _t=new WeakMap,nt=new Set,yn=null;function Lt(e){return/^zh(?:-|$)/i.test(String(e||""))?"zh":e?"en":null}r(Lt,"language");function Me(e=globalThis.document){try{let n=Lt(yn?.getSnapshot?.().active);if(n)return n}catch{}return Lt(e?.documentElement?.lang)||"zh"}r(Me,"readHostLocale");function xn(e){if(!e||typeof e.getSnapshot!="function"||typeof e.subscribe!="function")return()=>{};let n=yn;yn=e;let t=r(()=>{for(let d of[...nt])d()},"refresh"),i=e.subscribe(t);t();let s=!1;return()=>{s||(s=!0,i?.(),yn===e&&(yn=n,t()))}}r(xn,"bindHostLocale");function wn(e=globalThis.document){if(!e||typeof e!="object")return Or;let n=_t.get(e);if(n)return n;let t=new Set,i=Me(e),s,d=r(()=>{let u=Me(e);if(i!==u){i=u;for(let f of[...t])f()}},"refresh");return n=Object.freeze({getSnapshot:r(()=>Me(e),"getSnapshot"),subscribe(u){if(t.add(u),t.size===1){i=Me(e),nt.add(d);let o=e.defaultView?.MutationObserver;typeof o=="function"&&e.documentElement&&(s=new o(d),s.observe(e.documentElement,{attributes:!0,attributeFilter:["lang"]}))}let f=!1;return()=>{f||(f=!0,t.delete(u),t.size||(nt.delete(d),s?.disconnect(),s=null))}}}),_t.set(e,n),n}r(wn,"getHostLocaleStore");function Pt(e,n=globalThis.document){return wn(n).subscribe(e)}r(Pt,"subscribeHostLocale");var Or=Object.freeze({getSnapshot:r(()=>Me(),"getSnapshot"),subscribe:r(()=>()=>{},"subscribe")});function nn(e,n){return Me()==="en"?n:e}r(nn,"translate");var Mt=Object.freeze({brand:"Beginning",cyberpunk:"Digital Life",awakening:"Punk",startup:"Half Face","whale-girl":"Whale Girl","deepseek-title":"DeepSeek","deepseek-dance":"Dance","deepseek-sea":"Sea","startup-screen":"Rhine Lab",silver:"Distant Mountains",gold:"Black and Gold",ice:"Blue Mist","assassins-creed":"Assassin\u2019s Creed","cyberpunk-2077":"Cyberpunk 2077",gta6:"GTA6",horizon6:"Forza Horizon 6",horizon5:"Forza Horizon 5",horizon4:"Forza Horizon 4",classic:"Classic"});function fe(e){if(!e)return"";let n=e.source==="builtin"||!e.source&&Object.hasOwn(Mt,e.id);return Me()==="en"&&n&&Mt[e.id]||e.name}r(fe,"localizedName");var zt=Object.freeze({"\u6570\u636E\u5171\u4EAB\u6388\u6743\u5B57\u6BB5\u65E0\u6548\u3002":"The data-sharing authorization fields are invalid.","\u5F00\u53D1\u8005\u5C1A\u672A\u914D\u7F6E\u6570\u636E\u63A5\u6536\u670D\u52A1\uFF0C\u5F53\u524D\u4E0D\u4F1A\u53D1\u9001\u4EFB\u4F55\u6570\u636E\u3002":"The developer has not configured a collector. No data is currently sent.","\u6682\u65F6\u65E0\u6CD5\u8BFB\u53D6\u63D2\u4EF6\u7248\u672C\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The plugin version is unavailable. Please try again later.","\u8BF7\u9605\u8BFB\u5E76\u660E\u786E\u540C\u610F\u5F53\u524D\u7248\u672C\u7684\u6570\u636E\u5171\u4EAB\u8BF4\u660E\u3002":"Read and explicitly agree to the current data-sharing notice.","\u6B64\u524D\u7684\u6570\u636E\u5220\u9664\u8BF7\u6C42\u5C1A\u672A\u5B8C\u6210\uFF0C\u8BF7\u5148\u91CD\u8BD5\u5220\u9664\u3002":"The previous deletion request is incomplete. Retry deletion first.","\u6570\u636E\u63A5\u6536\u670D\u52A1\u5DF2\u53D8\u66F4\uFF0C\u8BF7\u5148\u505C\u6B62\u5171\u4EAB\u5E76\u5220\u9664\u539F\u670D\u52A1\u4E2D\u7684\u6570\u636E\u3002":"The collector has changed. Stop sharing and delete data from the previous collector first.","\u8BBE\u7F6E\u5DF2\u4FDD\u5B58\uFF0C\u4E0B\u6B21\u542F\u52A8\u751F\u6548":"Settings saved. Changes take effect on the next launch.","\u5DF2\u6062\u590D\u9ED8\u8BA4\uFF0C\u5168\u90E8\u4E0A\u4F20\u7684\u89C6\u9891\u548C\u56FE\u7247\u5DF2\u5220\u9664\u3002":"Defaults restored. All uploaded videos and images have been deleted.",\u89C6\u9891\u5DF2\u79FB\u9664:"Video removed.",\u7ED3\u675F\u753B\u9762\u5DF2\u79FB\u9664:"End screen removed.","\u8BF7\u9009\u62E9\u4E0D\u8D85\u8FC720 MB\u7684PNG\u3001JPEG\u6216WebP\u56FE\u7247\u3002":"Choose a PNG, JPEG or WebP image up to 20 MB.","\u6B63\u5728\u68C0\u67E5\u7ED3\u675F\u753B\u9762\u2026":"Checking the end screen\u2026","\u65E0\u6CD5\u8BFB\u53D6\u8FD9\u5F20\u56FE\u7247\uFF0C\u8BF7\u66F4\u6362\u6709\u6548\u7684PNG\u3001JPEG\u6216WebP\u3002":"Could not read this image. Choose a valid PNG, JPEG or WebP image.",\u4E0A\u4F20\u5931\u8D25:"Upload failed.",\u56FE\u7247\u5DF2\u4E0A\u4F20\u5E76\u8BBE\u4E3A\u7ED3\u675F\u753B\u9762:"Image uploaded and set as the end screen.","\u56FE\u7247\u4E0A\u4F20\u4E2D\u65AD\uFF0C\u8BF7\u91CD\u8BD5\u3002":"The image upload was interrupted. Please try again.","\u6B63\u5728\u4E0A\u4F20\u56FE\u7247\u2026":"Uploading the image\u2026","\u8BF7\u9009\u62E9 MP4\u3001M4V \u6216 WebM \u89C6\u9891\u3002\u63A8\u8350 MP4\uFF08H.264 / AAC\uFF09\u3002":"Choose an MP4, M4V or WebM video. MP4 (H.264 / AAC) is recommended.","\u89C6\u9891\u5E94\u5927\u4E8E 0 \u5B57\u8282\uFF0C\u4E14\u4E0D\u8D85\u8FC7 200 MB\u3002":"The video must be larger than 0 bytes and no larger than 200 MB.","\u6B63\u5728\u68C0\u67E5\u89C6\u9891\u2026":"Checking the video\u2026","\u6D4F\u89C8\u5668\u65E0\u6CD5\u8BFB\u53D6\u6B64\u89C6\u9891\u3002\u8BF7\u8F6C\u6362\u4E3A MP4\uFF08H.264 / AAC\uFF09\u540E\u91CD\u8BD5\u3002":"The browser could not read this video. Convert it to MP4 (H.264 / AAC) and try again.",\u89C6\u9891\u5DF2\u5BFC\u5165\u5E76\u8BBE\u4E3A\u5F00\u673A\u52A8\u753B:"Video imported and set as the startup animation.","\u4E0A\u4F20\u4E2D\u65AD\uFF0C\u8BF7\u91CD\u8BD5\u3002":"The upload was interrupted. Please try again.","\u6B63\u5728\u4E0A\u4F20\u2026":"Uploading\u2026","\u8BBE\u7F6E\u5FC5\u987B\u662F JSON \u5BF9\u8C61\u3002":"Settings must be a JSON object.","\u5DF2\u53D6\u6D88\u64AD\u653E\u65F6\u957F\u8BBE\u7F6E\uFF0C\u52A8\u753B\u6309\u539F\u59CB\u957F\u5EA6\u5B8C\u6574\u64AD\u653E\u3002":"Playback duration settings have been removed. Animations play at their full original length.","\u5DF2\u53D6\u6D88\u753B\u9762\u663E\u793A\u8BBE\u7F6E\uFF0C\u5F00\u673A\u52A8\u753B\u59CB\u7EC8\u94FA\u6EE1\u5F53\u524D\u7A97\u53E3\u3002":"Display settings have been removed. Startup animations always fill the current window.","\u66F4\u65B0\u63D0\u9192\u4F7F\u7528\u7EDF\u4E00\u5916\u89C2\uFF0C\u5DF2\u53D6\u6D88\u5355\u72EC\u8C03\u8282\u3002":"Update prompts use the shared appearance and no longer have separate controls.","\u97F3\u91CF\u987B\u5728 0 \u5230 1 \u4E4B\u95F4\u3002":"Volume must be between 0 and 1.","\u6240\u9009\u52A8\u753B\u4E0D\u5B58\u5728\uFF0C\u8BF7\u5237\u65B0\u7247\u5E93\u3002":"The selected animation is unavailable. Refresh the library.","\u7ED3\u675F\u5C01\u9762\u987B\u4E3A logo \u6216 image\u3002":"The end cover must be logo or image.","\u6240\u9009\u5C01\u9762\u56FE\u7247\u4E0D\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20\u3002":"The selected cover image is unavailable. Upload it again.","\u4E0D\u652F\u6301\u6B64\u7ED3\u675F\u753B\u9762\u3002":"This end screen is not supported.","\u5C01\u9762\u9002\u914D\u987B\u4E3A cover \u6216 contain\u3002":"Cover fit must be cover or contain.","\u8BF7\u5148\u4E0A\u4F20\u4E00\u5F20\u7ED3\u675F\u5C01\u9762\u56FE\u7247\u3002":"Upload an end cover image first.","\u5199\u5165\u8BF7\u6C42\u7F3A\u5C11\u63D2\u4EF6\u6807\u8BC6\u3002":"The write request is missing the plugin identifier.","\u65E0\u6548\u6765\u6E90\u3002":"Invalid request origin.","\u4E0D\u5141\u8BB8\u8DE8\u7AD9\u4FEE\u6539\u8BBE\u7F6E\u3002":"Settings cannot be changed from another site.","\u8BF7\u4F7F\u7528 application/json\u3002":"Use application/json.","\u8BBE\u7F6E\u5185\u5BB9\u8FC7\u5927\u3002":"The settings payload is too large.","JSON \u683C\u5F0F\u4E0D\u6B63\u786E\u3002":"Invalid JSON format.","\u6587\u4EF6\u4E0A\u4F20\u5DF2\u4E2D\u65AD\u3002":"The upload was interrupted.","\u4E0A\u4F20\u7B49\u5F85\u8D85\u65F6\uFF0C\u8BF7\u91CD\u8BD5\u3002":"The upload timed out. Please try again.","\u8BF7\u6C42\u5185\u5BB9\u8D85\u8FC7\u5927\u5C0F\u9650\u5236\u3002":"The request exceeds the size limit.","\u65E0\u6548\u7684\u89C6\u9891\u5B57\u8282\u8303\u56F4\u3002":"Invalid video byte range.","\u8BBE\u7F6E\u6587\u4EF6\u65E0\u6CD5\u8BFB\u53D6\u3002\u8BF7\u5907\u4EFD\u5E76\u68C0\u67E5 boot-studio/settings.json\u3002":"Could not read the settings file. Back up and check boot-studio/settings.json.","\u8BBE\u7F6E\u6587\u4EF6\u7248\u672C\u6216\u7247\u5E93\u683C\u5F0F\u4E0D\u6B63\u786E\u3002":"The settings file version or library format is invalid.","\u7ED3\u675F\u5C01\u9762\u7247\u5E93\u683C\u5F0F\u4E0D\u6B63\u786E\u3002":"The end cover library format is invalid.","\u5DF2\u4FDD\u5B58\u7684\u8BBE\u7F6E\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u5907\u4EFD\u5E76\u68C0\u67E5 settings.json\u3002":"The saved settings are invalid. Back up and check settings.json.","\u91CD\u7F6E\u6E05\u7406\u8DEF\u5F84\u8D85\u51FA\u6570\u636E\u76EE\u5F55\u3002":"The reset cleanup path is outside the data directory.","\u5185\u7F6E\u7D20\u6750\u76EE\u5F55\u4E0E\u81EA\u5B9A\u4E49\u6570\u636E\u6E05\u7406\u8303\u56F4\u91CD\u53E0\uFF0C\u672A\u4FEE\u6539\u8BBE\u7F6E\u6216\u7D20\u6750\u3002":"Built-in assets overlap the custom data cleanup path. Settings and assets were left unchanged.","\u91CD\u7F6E\u9694\u79BB\u76EE\u5F55\u4E0D\u662F\u5B89\u5168\u7684\u672C\u5730\u6587\u4EF6\u5939\uFF0C\u672A\u4FEE\u6539\u8BBE\u7F6E\u6216\u7D20\u6750\u3002":"The reset quarantine directory is not a safe local folder. Settings and assets were left unchanged.","\u91CD\u7F6E\u9694\u79BB\u76EE\u5F55\u8D85\u51FA\u6570\u636E\u76EE\u5F55\uFF0C\u672A\u4FEE\u6539\u8BBE\u7F6E\u6216\u7D20\u6750\u3002":"The reset quarantine directory is outside the data directory. Settings and assets were left unchanged.","\u6587\u4EF6\u540D\u7F16\u7801\u65E0\u6548\u3002":"Invalid filename encoding.","\u652F\u6301 PNG\u3001JPEG \u548C WebP \u56FE\u7247\uFF0C\u4E0D\u63A5\u53D7 SVG\u3002":"PNG, JPEG and WebP images are supported. SVG is not supported.","\u652F\u6301 MP4\u3001M4V \u548C WebM \u89C6\u9891\u3002":"MP4, M4V and WebM videos are supported.","\u56FE\u7247\u683C\u5F0F\u65E0\u6548\uFF0C\u8BF7\u4E0A\u4F20 PNG\u3001JPEG \u6216 WebP \u56FE\u7247\u3002":"Invalid image format. Upload a PNG, JPEG or WebP image.","\u6587\u4EF6\u4E0D\u662F\u6709\u6548\u7684 MP4 / WebM \u5BB9\u5668\u3002\u8BF7\u4F18\u5148\u4F7F\u7528 H.264 + AAC \u7684 MP4\u3002":"The file is not a valid MP4 / WebM container. An MP4 with H.264 + AAC is recommended.","\u5C01\u9762\u56FE\u7247\u4E0D\u5B58\u5728\u6216\u6587\u4EF6\u5DF2\u88AB\u79FB\u8D70\u3002":"The cover image is unavailable or its file has been moved.","\u52A8\u753B\u4E0D\u5B58\u5728\u6216\u6587\u4EF6\u5DF2\u88AB\u79FB\u8D70\u3002":"The animation is unavailable or its file has been moved.","\u63A5\u53E3\u4E0D\u5B58\u5728\u3002":"This endpoint does not exist.","\u8BF7\u5148\u68C0\u67E5\u5E76\u9009\u62E9\u66F4\u65B0\u7248\u672C\u3002":"Check for updates and select a version first.","\u66F4\u65B0\u5305\u51C6\u5907\u5931\u8D25\u3002":"Could not prepare the update package.","\u52A8\u753B\u4E0D\u5B58\u5728\u3002":"The animation does not exist.","\u5C01\u9762\u56FE\u7247\u4E0D\u5B58\u5728\u3002":"The cover image does not exist.","\u5185\u7F6E\u7ED3\u675F\u5C01\u9762\u4E0D\u5B58\u5728\u3002":"The built-in end cover does not exist.","\u4E0D\u652F\u6301\u6B64\u8BF7\u6C42\u65B9\u6CD5\u3002":"This request method is not supported.","\u8BF7\u5148\u786E\u8BA4\u5220\u9664\u5168\u90E8\u81EA\u5B9A\u4E49\u89C6\u9891\u3001\u56FE\u7247\u548C\u504F\u597D\u3002":"Confirm deletion of all custom videos, images and preferences first.","\u53EA\u80FD\u5220\u9664\u81EA\u5DF1\u4E0A\u4F20\u7684\u5C01\u9762\u56FE\u7247\u3002":"Only uploaded cover images can be deleted.","\u53EA\u80FD\u5220\u9664\u81EA\u5DF1\u4E0A\u4F20\u7684\u52A8\u753B\u3002":"Only uploaded animations can be deleted.","\u6587\u4EF6\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u76EE\u5F55\u6743\u9650\u548C\u53EF\u7528\u7A7A\u95F4\u3002":"The file operation failed. Check data directory permissions and available space.","\u66F4\u65B0\u5305\u4E0B\u8F7D\u8D85\u8FC7 15 \u5206\u949F\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002":"The update download exceeded 15 minutes. Check your connection and try again.","\u8FDE\u63A5\u66F4\u65B0\u4E0B\u8F7D\u670D\u52A1\u8D85\u65F6\u3002":"The update download connection timed out.","\u66F4\u65B0\u5305\u4E0B\u8F7D\u957F\u65F6\u95F4\u6CA1\u6709\u8FDB\u5C55\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002":"The update download has stalled. Check your connection and try again.","npm \u66F4\u65B0\u8BF7\u6C42\u79BB\u5F00\u4E86\u5141\u8BB8\u7684\u6CE8\u518C\u8868\u3002":"The npm update request left the allowed registries.","\u8FDE\u63A5 npm \u6CE8\u518C\u8868\u8D85\u65F6\u3002":"The npm registry connection timed out.","\u65E0\u6CD5\u8FDE\u63A5 npm \u6CE8\u518C\u8868\u3002":"Could not connect to the npm registry.","npm \u6CE8\u518C\u8868\u8FD4\u56DE\u4E86\u65E0\u6548\u8DF3\u8F6C\u3002":"The npm registry returned an invalid redirect.","npm \u6CE8\u518C\u8868\u8DF3\u8F6C\u6B21\u6570\u8FC7\u591A\u3002":"The npm registry returned too many redirects.","\u8BFB\u53D6 npm \u6CE8\u518C\u8868\u5185\u5BB9\u5931\u8D25\u3002":"Could not read the npm registry response.","npm \u66F4\u65B0\u5305\u6807\u8BC6\u4E0E\u5F53\u524D\u63D2\u4EF6\u4E0D\u4E00\u81F4\u3002":"The npm package identifier does not match this plugin.","npm \u66F4\u65B0\u5305\u7684\u4ED3\u5E93\u6807\u8BC6\u4E0D\u5C5E\u4E8E\u672C\u9879\u76EE\u3002":"The npm package repository does not belong to this project.","\u4E0D\u652F\u6301\u7684 npm \u6CE8\u518C\u8868\u3002":"This npm registry is not supported.","npm \u66F4\u65B0\u5305\u5730\u5740\u4E0D\u5C5E\u4E8E\u5141\u8BB8\u7684\u6CE8\u518C\u8868\u548C\u7248\u672C\u3002":"The npm package URL does not match an allowed registry and version.","npm \u66F4\u65B0\u5305\u7F3A\u5C11\u6709\u6548\u7684 SHA-512 \u5B8C\u6574\u6027\u4FE1\u606F\u3002":"The npm package is missing valid SHA-512 integrity information.","npm \u66F4\u65B0\u5305 SHA-512 \u6821\u9A8C\u5931\u8D25\uFF0C\u672A\u6267\u884C\u66F4\u65B0\u3002":"The npm package failed SHA-512 verification. The update was not applied.","\u7EF4\u62A4\u7248\u672C\u5FC5\u987B\u4F7F\u7528 X.Y.Z \u7A33\u5B9A\u7248\u672C\u53F7\u3002":"Release versions must use a stable X.Y.Z version number.","\u7248\u672C\u53F7\u8FC7\u5927\u3002":"The version number is too large.","\u7EF4\u62A4\u6E05\u5355\u683C\u5F0F\u4E0D\u6B63\u786E\u3002":"The update manifest format is invalid.","\u66F4\u65B0\u5305\u6807\u8BC6\u4E0E\u5F53\u524D\u63D2\u4EF6\u4E0D\u4E00\u81F4\u3002":"The update package identifier does not match this plugin.","\u66F4\u65B0\u63D0\u4EA4\u6216 SHA-256 \u65E0\u6548\u3002":"The update commit or SHA-256 is invalid.","\u66F4\u65B0\u5305\u5927\u5C0F\u8D85\u51FA\u9650\u5236\u3002":"The update package exceeds the size limit.","\u7EF4\u62A4\u6E05\u5355\u7F3A\u5C11\u53D1\u5E03\u65F6\u95F4\u6216\u91CD\u542F\u58F0\u660E\u3002":"The update manifest is missing its publication time or restart declaration.","\u53EA\u63A5\u53D7\u672C\u9879\u76EE\u56FA\u5B9A\u7248\u672C\u7684 GitHub Release \u66F4\u65B0\u5305\u3002":"Only versioned GitHub Release packages from this project are accepted.","\u66F4\u65B0\u5305 TAR \u6821\u9A8C\u5931\u8D25\u3002":"The update package failed TAR verification.","\u66F4\u65B0\u5305 TAR \u957F\u5EA6\u65E0\u6548\u3002":"The update package TAR length is invalid.","\u66F4\u65B0\u5305\u5185\u5BB9\u4E0D\u5B8C\u6574\u3002":"The update package is incomplete.","\u66F4\u65B0\u5305\u6269\u5C55\u5934\u65E0\u6548\u3002":"The update package extension header is invalid.","\u66F4\u65B0\u5305\u6269\u5C55\u5934\u957F\u5EA6\u65E0\u6548\u3002":"The update package extension header length is invalid.","\u66F4\u65B0\u5305\u542B\u91CD\u590D package.json\uFF0C\u672A\u6267\u884C\u66F4\u65B0\u3002":"The update package contains duplicate package.json entries. The update was not applied.","\u66F4\u65B0\u5305 package.json \u65E0\u6548\u3002":"The update package package.json is invalid.","\u66F4\u65B0\u5305\u5305\u542B\u8FC7\u591A TAR \u6761\u76EE\uFF0C\u672A\u6267\u884C\u66F4\u65B0\u3002":"The update package contains too many TAR entries. The update was not applied.","\u66F4\u65B0\u5305\u4E2D\u6CA1\u6709 package/package.json\u3002":"The update package is missing package/package.json.","\u7EF4\u62A4\u6587\u4EF6\u8BFB\u53D6\u5DF2\u4E2D\u65AD\u3002":"Reading the update file was interrupted.","\u7EF4\u62A4\u6587\u4EF6\u8D85\u8FC7\u5141\u8BB8\u5927\u5C0F\u3002":"The update file exceeds the size limit.","\u7EF4\u62A4\u6587\u4EF6\u5185\u5BB9\u4E3A\u7A7A\u3002":"The update file is empty.","\u66F4\u65B0\u5305\u672A\u5B8C\u6574\u4E0B\u8F7D\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002":"The update download is incomplete. Check your connection and try again.","npm \u7248\u672C\u5C1A\u672A\u53D1\u5E03\uFF0C\u5F53\u524D\u7248\u672C\u53EF\u4EE5\u7EE7\u7EED\u4F7F\u7528\u3002":"The npm version is not published yet. You can keep using the current version.","\u6709\u65B0\u7248\u672C\u53EF\u7528\u3002":"A new version is available.","\u5F53\u524D\u5DF2\u662F\u6700\u65B0\u7248\u672C\u3002":"You are up to date.","\u7EF4\u62A4\u901A\u9053\u5C1A\u672A\u53D1\u5E03\uFF0C\u5F53\u524D\u7248\u672C\u53EF\u4EE5\u7EE7\u7EED\u4F7F\u7528\u3002":"The update channel is not published yet. You can keep using the current version.","\u8FDE\u63A5\u7EF4\u62A4\u901A\u9053\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The update channel connection timed out. Please try again later.","\u53E6\u4E00\u4E2A\u7248\u672C\u6B63\u5728\u51C6\u5907\uFF0C\u8BF7\u7A0D\u540E\u91CD\u65B0\u68C0\u67E5\u3002":"Another version is being prepared. Check again later.","\u66F4\u65B0\u7248\u672C\u5DF2\u53D8\u5316\u6216\u5C1A\u672A\u53D1\u5E03\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5\u66F4\u65B0\u3002":"The update version has changed or is not published yet. Check for updates again.","\u66F4\u65B0\u5305 SHA-256 \u6216\u5927\u5C0F\u6821\u9A8C\u5931\u8D25\uFF0C\u672A\u6267\u884C\u66F4\u65B0\u3002":"The update package failed SHA-256 or size verification. The update was not applied.","\u66F4\u65B0\u5305\u7684\u540D\u79F0\u3001\u7248\u672C\u6216\u63D2\u4EF6\u58F0\u660E\u4E0D\u5339\u914D\u3002":"The update package name, version or plugin declaration does not match.","\u66F4\u65B0\u5305\u4E2D\u7684\u4F5C\u8005\u8BF4\u660E\u4E0E\u672C\u6B21\u68C0\u67E5\u7ED3\u679C\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5\u66F4\u65B0\u3002":"The update package release notes do not match the checked version. Check for updates again.","\u7EF4\u62A4\u5305\u5305\u542B\u5B89\u88C5\u811A\u672C\uFF0C\u8BF7\u901A\u8FC7 Harness \u63D2\u4EF6\u7BA1\u7406\u5668\u4EBA\u5DE5\u68C0\u67E5\u3002":"The update package contains installation scripts. Review it in the Harness plugin manager.","npm \u66F4\u65B0\u5305\u5FC5\u987B\u5C5E\u4E8E\u672C\u9879\u76EE\u4E14\u4E0D\u542B\u8FD0\u884C\u4F9D\u8D56\u3002":"The npm update package must belong to this project and contain no runtime dependencies.","\u66F4\u65B0\u5305\u51C6\u5907\u7ED3\u679C\u65E0\u6548\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002":"The prepared update is invalid. Installation was not requested.","\u66F4\u65B0\u5305\u8DEF\u5F84\u4E0E\u5DF2\u6821\u9A8C\u7684\u540D\u79F0\u3001\u7248\u672C\u6216 SHA-256 \u4E0D\u4E00\u81F4\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002":"The update path does not match the verified name, version or SHA-256. Installation was not requested.","\u66F4\u65B0\u5305\u8DEF\u5F84\u6216\u7248\u672C\u65E0\u6548\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002":"The update path or version is invalid. Installation was not requested.","\u5F53\u524D\u8FDE\u63A5\u6CA1\u6709\u7BA1\u7406\u63D2\u4EF6\u7684\u6743\u9650\uFF0C\u8BF7\u4F7F\u7528 Harness \u4E3B\u7A97\u53E3\u7684\u62E5\u6709\u8005\u8FDE\u63A5\u3002":"This connection cannot manage plugins. Use the owner connection in the main Harness window.","Harness \u672A\u63A5\u53D7\u66F4\u65B0\u8BF7\u6C42\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u67E5\u770B\u8BE6\u60C5\u3002":"Harness did not accept the update request. See the plugin manager for details.","\u66F4\u65B0\u672A\u5B8C\u6210\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u67E5\u770B\u8BE6\u60C5\u3002":"The update did not complete. See the plugin manager for details.","Harness \u8FD4\u56DE\u7684\u7248\u672C\u4E0E\u66F4\u65B0\u76EE\u6807\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u67E5\u770B\u63D2\u4EF6\u7BA1\u7406\u3002":"The version returned by Harness does not match the update target. Check the plugin manager.","\u66F4\u65B0\u54CD\u5E94\u8D85\u65F6\u3002\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u6838\u5BF9\u5B9E\u9645\u7248\u672C\u540E\u91CD\u8BD5\u3002":"The update response timed out. Check the installed version in the plugin manager before retrying.","\u66F4\u65B0\u7248\u672C\u65E0\u6548\u6216\u5C1A\u672A\u516C\u5F00\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5\u66F4\u65B0\u3002":"The update version is invalid or not public yet. Check for updates again.","\u66F4\u65B0\u5DF2\u53D6\u6D88\uFF1A\u63D2\u4EF6\u5DF2\u505C\u7528\u6216\u5378\u8F7D\uFF0C\u672A\u8BF7\u6C42\u5B89\u88C5\u3002":"The update was canceled because the plugin was disabled or uninstalled. Installation was not requested.","\u6682\u65F6\u65E0\u6CD5\u6062\u590D\u9ED8\u8BA4\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not restore defaults. Please try again later.","\u6062\u590D\u9ED8\u8BA4\u672A\u5B8C\u6210\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Restoring defaults did not complete. Please try again later.","\u6682\u65F6\u65E0\u6CD5\u68C0\u67E5\u66F4\u65B0\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not check for updates. Please try again later.","\u66F4\u65B0\u672A\u5B8C\u6210\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The update did not complete. Please try again later.","\u53D1\u5E03\u524D\u8BF7\u5148\u8BE2\u95EE\u4F5C\u8005\u5E76\u586B\u5199\u672C\u7248\u672C\u7ED9\u7528\u6237\u5C55\u793A\u7684\u66F4\u65B0\u8BF4\u660E\u3002":"Ask the author for this version\u2019s release notes before publishing.","\u66F4\u65B0\u8BF4\u660E\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B version \u548C notes\u3002":"Release notes must contain only version and notes.","\u4F5C\u8005\u66F4\u65B0\u8BF4\u660E\u7684\u7248\u672C\u5FC5\u987B\u4E0E\u5B9E\u9645\u5B89\u88C5\u5305\u7248\u672C\u5B8C\u5168\u4E00\u81F4\u3002":"The release notes version must match the package version exactly.","\u4F5C\u8005\u66F4\u65B0\u8BF4\u660E\u987B\u4E3A 1 \u5230 2000 \u5B57\u7684\u7EAF\u6587\u672C\uFF0C\u4E0D\u63A5\u53D7\u63A7\u5236\u5B57\u7B26\u3002":"Release notes must contain 1 to 2000 plain-text characters without control characters.","\u5B89\u88C5\u5305\u5143\u6570\u636E\u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5\u6838\u5BF9\u4F5C\u8005\u66F4\u65B0\u8BF4\u660E\u3002":"Package metadata is unavailable. Release notes could not be verified."}),tt=Object.freeze({BOOT_SETTINGS_OBJECT:["\u8BBE\u7F6E\u5FC5\u987B\u662F JSON \u5BF9\u8C61\u3002","Settings must be a JSON object."],BOOT_SETTING_RETIRED_DURATION:["\u5DF2\u53D6\u6D88\u64AD\u653E\u65F6\u957F\u8BBE\u7F6E\uFF0C\u52A8\u753B\u6309\u539F\u59CB\u957F\u5EA6\u5B8C\u6574\u64AD\u653E\u3002","Playback duration settings have been removed. Animations play at their full original length."],BOOT_SETTING_RETIRED_FIT:["\u5DF2\u53D6\u6D88\u753B\u9762\u663E\u793A\u8BBE\u7F6E\uFF0C\u5F00\u673A\u52A8\u753B\u59CB\u7EC8\u94FA\u6EE1\u5F53\u524D\u7A97\u53E3\u3002","Display settings have been removed. Startup animations always fill the current window."],BOOT_SETTING_RETIRED_UPDATE_APPEARANCE:["\u66F4\u65B0\u63D0\u9192\u4F7F\u7528\u7EDF\u4E00\u5916\u89C2\uFF0C\u5DF2\u53D6\u6D88\u5355\u72EC\u8C03\u8282\u3002","Update prompts use the shared appearance and no longer have separate controls."],BOOT_SETTING_UNSUPPORTED:["\u4E0D\u652F\u6301\u6B64\u8BBE\u7F6E\uFF0C\u8BF7\u5237\u65B0\u8BBE\u7F6E\u9875\u540E\u91CD\u8BD5\u3002","This setting is not supported. Refresh Settings and try again."],BOOT_SETTING_BOOLEAN:["\u8BBE\u7F6E\u503C\u5FC5\u987B\u662F\u5F00\u5173\u3002","The setting must be a boolean."],BOOT_SETTING_VOLUME:["\u97F3\u91CF\u987B\u5728 0 \u5230 1 \u4E4B\u95F4\u3002","Volume must be between 0 and 1."],BOOT_SETTING_VIDEO_MISSING:["\u6240\u9009\u52A8\u753B\u4E0D\u5B58\u5728\uFF0C\u8BF7\u5237\u65B0\u7247\u5E93\u3002","The selected animation is unavailable. Refresh the library."],BOOT_SETTING_END_SCREEN:["\u7ED3\u675F\u5C01\u9762\u987B\u4E3A logo \u6216 image\u3002","The end cover must be logo or image."],BOOT_SETTING_IMAGE_MISSING:["\u6240\u9009\u5C01\u9762\u56FE\u7247\u4E0D\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20\u3002","The selected cover image is unavailable. Upload it again."],BOOT_SETTING_LOGO:["\u4E0D\u652F\u6301\u6B64\u7ED3\u675F\u753B\u9762\u3002","This end screen is not supported."],BOOT_SETTING_END_FIT:["\u5C01\u9762\u9002\u914D\u987B\u4E3A cover \u6216 contain\u3002","Cover fit must be cover or contain."],BOOT_SETTING_IMAGE_REQUIRED:["\u8BF7\u5148\u4E0A\u4F20\u4E00\u5F20\u7ED3\u675F\u5C01\u9762\u56FE\u7247\u3002","Upload an end cover image first."],BOOT_WRITE_IDENTIFIER:["\u5199\u5165\u8BF7\u6C42\u7F3A\u5C11\u63D2\u4EF6\u6807\u8BC6\u3002","The write request is missing the plugin identifier."],BOOT_WRITE_ORIGIN_INVALID:["\u65E0\u6548\u6765\u6E90\u3002","Invalid request origin."],BOOT_WRITE_CROSS_SITE:["\u4E0D\u5141\u8BB8\u8DE8\u7AD9\u4FEE\u6539\u8BBE\u7F6E\u3002","Settings cannot be changed from another site."],BOOT_JSON_CONTENT_TYPE:["\u8BF7\u4F7F\u7528 application/json\u3002","Use application/json."],BOOT_SETTINGS_TOO_LARGE:["\u8BBE\u7F6E\u5185\u5BB9\u8FC7\u5927\u3002","The settings payload is too large."],BOOT_JSON_INVALID:["JSON \u683C\u5F0F\u4E0D\u6B63\u786E\u3002","Invalid JSON format."],BOOT_UPLOAD_INTERRUPTED:["\u4E0A\u4F20\u4E2D\u65AD\uFF0C\u8BF7\u91CD\u8BD5\u3002","The upload was interrupted. Please try again."],BOOT_UPLOAD_TIMEOUT:["\u4E0A\u4F20\u7B49\u5F85\u8D85\u65F6\uFF0C\u8BF7\u91CD\u8BD5\u3002","The upload timed out. Please try again."],BOOT_BODY_TOO_LARGE:["\u8BF7\u6C42\u5185\u5BB9\u8D85\u8FC7\u5927\u5C0F\u9650\u5236\u3002","The request exceeds the size limit."],BOOT_RANGE_INVALID:["\u65E0\u6548\u7684\u89C6\u9891\u5B57\u8282\u8303\u56F4\u3002","Invalid video byte range."],BOOT_SETTINGS_READ:["\u8BBE\u7F6E\u6587\u4EF6\u65E0\u6CD5\u8BFB\u53D6\u3002\u8BF7\u5907\u4EFD\u5E76\u68C0\u67E5 boot-studio/settings.json\u3002","Could not read the settings file. Back up and check boot-studio/settings.json."],BOOT_LIBRARY_FORMAT:["\u8BBE\u7F6E\u6587\u4EF6\u7248\u672C\u6216\u7247\u5E93\u683C\u5F0F\u4E0D\u6B63\u786E\u3002","The settings file version or library format is invalid."],BOOT_IMAGE_LIBRARY_FORMAT:["\u7ED3\u675F\u5C01\u9762\u7247\u5E93\u683C\u5F0F\u4E0D\u6B63\u786E\u3002","The end cover library format is invalid."],BOOT_SAVED_SETTINGS_INVALID:["\u5DF2\u4FDD\u5B58\u7684\u8BBE\u7F6E\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u5907\u4EFD\u5E76\u68C0\u67E5 settings.json\u3002","The saved settings are invalid. Back up and check settings.json."],BOOT_RESET_PATH:["\u91CD\u7F6E\u6E05\u7406\u8DEF\u5F84\u8D85\u51FA\u6570\u636E\u76EE\u5F55\u3002","The reset cleanup path is outside the data directory."],BOOT_RESET_ASSETS_OVERLAP:["\u5185\u7F6E\u7D20\u6750\u76EE\u5F55\u4E0E\u81EA\u5B9A\u4E49\u6570\u636E\u6E05\u7406\u8303\u56F4\u91CD\u53E0\uFF0C\u672A\u4FEE\u6539\u8BBE\u7F6E\u6216\u7D20\u6750\u3002","Built-in assets overlap the custom data cleanup path. Settings and assets were left unchanged."],BOOT_RESET_QUARANTINE:["\u91CD\u7F6E\u9694\u79BB\u76EE\u5F55\u4E0D\u662F\u5B89\u5168\u7684\u672C\u5730\u6587\u4EF6\u5939\uFF0C\u672A\u4FEE\u6539\u8BBE\u7F6E\u6216\u7D20\u6750\u3002","The reset quarantine directory is not a safe local folder. Settings and assets were left unchanged."],BOOT_RESET_CLEANUP:["\u9ED8\u8BA4\u8BBE\u7F6E\u5DF2\u6062\u590D\uFF0C\u4F46\u81EA\u5B9A\u4E49\u6587\u4EF6\u5C1A\u672A\u5168\u90E8\u6E05\u7406\u3002\u8BF7\u518D\u6B21\u6062\u590D\u9ED8\u8BA4\u91CD\u8BD5\u3002","Defaults were restored, but some custom files remain. Restore defaults again to retry cleanup."],BOOT_FILENAME_ENCODING:["\u6587\u4EF6\u540D\u7F16\u7801\u65E0\u6548\u3002","Invalid filename encoding."],BOOT_IMAGE_TYPE:["\u652F\u6301 PNG\u3001JPEG \u548C WebP \u56FE\u7247\uFF0C\u4E0D\u63A5\u53D7 SVG\u3002","PNG, JPEG and WebP images are supported. SVG is not supported."],BOOT_VIDEO_TYPE:["\u652F\u6301 MP4\u3001M4V \u548C WebM \u89C6\u9891\u3002","MP4, M4V and WebM videos are supported."],BOOT_IMAGE_TOO_LARGE:["\u56FE\u7247\u5E94\u5927\u4E8E 0 \u5B57\u8282\uFF0C\u4E14\u4E0D\u8D85\u8FC7 20 MB\u3002","The image must be larger than 0 bytes and no larger than 20 MB."],BOOT_VIDEO_TOO_LARGE:["\u89C6\u9891\u5E94\u5927\u4E8E 0 \u5B57\u8282\uFF0C\u4E14\u4E0D\u8D85\u8FC7 200 MB\u3002","The video must be larger than 0 bytes and no larger than 200 MB."],BOOT_IMAGE_INVALID:["\u56FE\u7247\u683C\u5F0F\u65E0\u6548\uFF0C\u8BF7\u4E0A\u4F20 PNG\u3001JPEG \u6216 WebP \u56FE\u7247\u3002","Invalid image format. Upload a PNG, JPEG or WebP image."],BOOT_VIDEO_INVALID:["\u6587\u4EF6\u4E0D\u662F\u6709\u6548\u7684 MP4 / WebM \u5BB9\u5668\u3002\u8BF7\u4F18\u5148\u4F7F\u7528 H.264 + AAC \u7684 MP4\u3002","The file is not a valid MP4 / WebM container. An MP4 with H.264 + AAC is recommended."],BOOT_IMAGE_DECODE:["\u65E0\u6CD5\u8BFB\u53D6\u8FD9\u5F20\u56FE\u7247\uFF0C\u8BF7\u66F4\u6362\u6709\u6548\u7684PNG\u3001JPEG\u6216WebP\u3002","Could not read this image. Choose a valid PNG, JPEG or WebP image."],BOOT_VIDEO_DECODE:["\u6D4F\u89C8\u5668\u65E0\u6CD5\u8BFB\u53D6\u6B64\u89C6\u9891\u3002\u8BF7\u8F6C\u6362\u4E3A MP4\uFF08H.264 / AAC\uFF09\u540E\u91CD\u8BD5\u3002","The browser could not read this video. Convert it to MP4 (H.264 / AAC) and try again."],BOOT_IMAGE_NOT_FOUND:["\u5C01\u9762\u56FE\u7247\u4E0D\u5B58\u5728\u3002","The cover image does not exist."],BOOT_VIDEO_NOT_FOUND:["\u52A8\u753B\u4E0D\u5B58\u5728\u3002","The animation does not exist."],BOOT_LOGO_NOT_FOUND:["\u5185\u7F6E\u7ED3\u675F\u5C01\u9762\u4E0D\u5B58\u5728\u3002","The built-in end cover does not exist."],BOOT_ROUTE_NOT_FOUND:["\u63A5\u53E3\u4E0D\u5B58\u5728\u3002","This endpoint does not exist."],BOOT_METHOD_NOT_ALLOWED:["\u4E0D\u652F\u6301\u6B64\u8BF7\u6C42\u65B9\u6CD5\u3002","This request method is not supported."],BOOT_UPDATE_VERSION_REQUIRED:["\u8BF7\u5148\u68C0\u67E5\u5E76\u9009\u62E9\u66F4\u65B0\u7248\u672C\u3002","Check for updates and select a version first."],BOOT_UPDATE_PREPARE_FAILED:["\u66F4\u65B0\u5305\u51C6\u5907\u5931\u8D25\u3002","Could not prepare the update package."],BOOT_UPDATE_INVALID:["\u66F4\u65B0\u4FE1\u606F\u6216\u5B89\u88C5\u5305\u58F0\u660E\u65E0\u6548\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5\u66F4\u65B0\u3002","The update information or package declaration is invalid. Check for updates again."],BOOT_UPDATE_NETWORK:["\u65E0\u6CD5\u8FDE\u63A5\u66F4\u65B0\u670D\u52A1\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002","Could not connect to the update service. Check your connection and try again."],BOOT_UPDATE_TIMEOUT:["\u68C0\u67E5\u66F4\u65B0\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002","The update check timed out. Please try again later."],BOOT_UPDATE_INTEGRITY:["\u66F4\u65B0\u5305\u5B8C\u6574\u6027\u6821\u9A8C\u5931\u8D25\uFF0C\u672A\u6267\u884C\u66F4\u65B0\u3002","The update package failed integrity verification. The update was not applied."],BOOT_UPDATE_ARCHIVE:["\u66F4\u65B0\u5305\u65E0\u6CD5\u5B89\u5168\u8BFB\u53D6\uFF0C\u672A\u6267\u884C\u66F4\u65B0\u3002","The update package could not be read safely. The update was not applied."],BOOT_UPDATE_CACHE:["\u66F4\u65B0\u7F13\u5B58\u76EE\u5F55\u4E0D\u53EF\u7528\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u76EE\u5F55\u6743\u9650\u548C\u53EF\u7528\u7A7A\u95F4\u3002","The update cache is unavailable. Check data directory permissions and available space."],BOOT_UPDATE_INSTALL_ACK_INVALID:["\u65E0\u6CD5\u786E\u8BA4\u66F4\u65B0\u7F13\u5B58\u7684\u6E05\u7406\u8BF7\u6C42\u3002","The update cache cleanup request could not be acknowledged."],BOOT_RESET_CONFIRM:["\u8BF7\u5148\u786E\u8BA4\u5220\u9664\u5168\u90E8\u81EA\u5B9A\u4E49\u89C6\u9891\u3001\u56FE\u7247\u548C\u504F\u597D\u3002","Confirm deletion of all custom videos, images and preferences first."],BOOT_IMAGE_DELETE_ONLY:["\u53EA\u80FD\u5220\u9664\u81EA\u5DF1\u4E0A\u4F20\u7684\u5C01\u9762\u56FE\u7247\u3002","Only uploaded cover images can be deleted."],BOOT_VIDEO_DELETE_ONLY:["\u53EA\u80FD\u5220\u9664\u81EA\u5DF1\u4E0A\u4F20\u7684\u52A8\u753B\u3002","Only uploaded animations can be deleted."],BOOT_MEDIA_STORAGE_LIMIT:["\u81EA\u5B9A\u4E49\u7D20\u6750\u603B\u5927\u5C0F\u5DF2\u8FBE\u4E0A\u9650\uFF0C\u8BF7\u5148\u79FB\u9664\u4E0D\u9700\u8981\u7684\u89C6\u9891\u6216\u56FE\u7247\u3002","Custom media has reached its storage limit. Remove unused videos or images first."],BOOT_MEDIA_COUNT_LIMIT:["\u81EA\u5B9A\u4E49\u7D20\u6750\u6570\u91CF\u5DF2\u8FBE\u4E0A\u9650\uFF0C\u8BF7\u5148\u79FB\u9664\u4E0D\u9700\u8981\u7684\u89C6\u9891\u6216\u56FE\u7247\u3002","Custom media has reached its file limit. Remove unused videos or images first."],BOOT_FILE_OPERATION_FAILED:["\u6587\u4EF6\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u76EE\u5F55\u6743\u9650\u548C\u53EF\u7528\u7A7A\u95F4\u3002","The file operation failed. Check data directory permissions and available space."],BOOT_HTTP_ERROR:["\u8BF7\u6C42\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002","The request failed. Please try again later."],BOOT_RESPONSE_INVALID:["\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6CD5\u8BC6\u522B\u7684\u5185\u5BB9\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002","The service returned an unrecognized response. Please try again later."],BOOT_REQUEST_TIMEOUT:["\u8BF7\u6C42\u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u8FDE\u63A5\u540E\u91CD\u8BD5\u3002","The request timed out. Check your connection and try again."],BOOT_REQUEST_CANCELLED:["\u8BF7\u6C42\u5DF2\u53D6\u6D88\u3002","The request was canceled."],BOOT_NETWORK_ERROR:["\u65E0\u6CD5\u8FDE\u63A5\u5F00\u673A\u52A8\u753B\u670D\u52A1\uFF0C\u8BF7\u68C0\u67E5\u8FDE\u63A5\u6216\u91CD\u542F Harness \u540E\u91CD\u8BD5\u3002","Could not connect to the startup animation service. Check your connection or restart Harness and try again."],BOOT_HARNESS_INSTALL_PERMISSION:["\u5F53\u524D\u8FDE\u63A5\u6CA1\u6709\u7BA1\u7406\u63D2\u4EF6\u7684\u6743\u9650\uFF0C\u8BF7\u4F7F\u7528 Harness \u4E3B\u7A97\u53E3\u7684\u62E5\u6709\u8005\u8FDE\u63A5\u3002","This connection cannot manage plugins. Use the owner connection in the main Harness window."],BOOT_HARNESS_INSTALL_UNAVAILABLE:["\u5F53\u524D Harness \u4E0D\u652F\u6301\u81EA\u52A8\u5B89\u88C5\u6B64\u66F4\u65B0\uFF0C\u8BF7\u6253\u5F00\u63D2\u4EF6\u7BA1\u7406\u5B8C\u6210\u66F4\u65B0\u3002","This Harness version cannot install this update automatically. Open the plugin manager to update."],BOOT_HARNESS_INSTALL_FAILED:["\u66F4\u65B0\u672A\u5B8C\u6210\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u67E5\u770B\u8BE6\u60C5\u3002","The update did not complete. See the plugin manager for details."],BOOT_HARNESS_INSTALL_RESPONSE:["Harness \u672A\u63A5\u53D7\u66F4\u65B0\u8BF7\u6C42\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u67E5\u770B\u8BE6\u60C5\u3002","Harness did not accept the update request. See the plugin manager for details."],BOOT_HARNESS_INSTALL_VERSION:["Harness \u8FD4\u56DE\u7684\u7248\u672C\u4E0E\u66F4\u65B0\u76EE\u6807\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u67E5\u770B\u63D2\u4EF6\u7BA1\u7406\u3002","The version returned by Harness does not match the update target. Check the plugin manager."],BOOT_HARNESS_INSTALL_UNCERTAIN:["\u66F4\u65B0\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\uFF0C\u8BF7\u5728\u63D2\u4EF6\u7BA1\u7406\u4E2D\u6838\u5BF9\u5B9E\u9645\u7248\u672C\u540E\u518D\u64CD\u4F5C\u3002","The update result could not be confirmed. Check the installed version in the plugin manager before continuing."],BOOT_VERSION_INVALID:["\u7EF4\u62A4\u7248\u672C\u5FC5\u987B\u4F7F\u7528 X.Y.Z \u7A33\u5B9A\u7248\u672C\u53F7\u3002","Release versions must use a stable X.Y.Z version number."],BOOT_TELEMETRY_CONSENT_FIELDS:["\u6570\u636E\u5171\u4EAB\u6388\u6743\u5B57\u6BB5\u65E0\u6548\u3002","The data-sharing authorization fields are invalid."],BOOT_TELEMETRY_UNCONFIGURED:["\u5F00\u53D1\u8005\u5C1A\u672A\u914D\u7F6E\u6570\u636E\u63A5\u6536\u670D\u52A1\uFF0C\u5F53\u524D\u4E0D\u4F1A\u53D1\u9001\u4EFB\u4F55\u6570\u636E\u3002","The developer has not configured a collector. No data is currently sent."],BOOT_TELEMETRY_VERSION_UNAVAILABLE:["\u6682\u65F6\u65E0\u6CD5\u8BFB\u53D6\u63D2\u4EF6\u7248\u672C\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002","The plugin version is unavailable. Please try again later."],BOOT_TELEMETRY_AUTHORIZATION_REQUIRED:["\u8BF7\u9605\u8BFB\u5E76\u660E\u786E\u540C\u610F\u5F53\u524D\u7248\u672C\u7684\u6570\u636E\u5171\u4EAB\u8BF4\u660E\u3002","Read and explicitly agree to the current data-sharing notice."],BOOT_TELEMETRY_DELETION_PENDING:["\u6B64\u524D\u7684\u6570\u636E\u5220\u9664\u8BF7\u6C42\u5C1A\u672A\u5B8C\u6210\uFF0C\u8BF7\u5148\u91CD\u8BD5\u5220\u9664\u3002","The previous deletion request is incomplete. Retry deletion first."],BOOT_TELEMETRY_COLLECTOR_CHANGED:["\u6570\u636E\u63A5\u6536\u670D\u52A1\u5DF2\u53D8\u66F4\uFF0C\u8BF7\u5148\u505C\u6B62\u5171\u4EAB\u5E76\u5220\u9664\u539F\u670D\u52A1\u4E2D\u7684\u6570\u636E\u3002","The collector has changed. Stop sharing and delete data from the previous collector first."],BOOT_TELEMETRY_CONSENT:["\u6570\u636E\u5171\u4EAB\u6388\u6743\u672A\u5B8C\u6210\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002","Data-sharing authorization did not complete. Please try again later."]}),ls=Object.freeze(Object.keys(tt));function rt(e){if(Object.hasOwn(zt,e))return zt[e];let n;return(n=/^不支持的设置:(.+)$/.exec(e))?`Unsupported setting: ${n[1]}`:(n=/^(.+) 必须是开关。$/.exec(e))?`${n[1]} must be a boolean.`:(n=/^(图片|视频)不能超过 (\d+) MB。$/.exec(e))?`${n[1]==="\u56FE\u7247"?"Images":"Videos"} cannot exceed ${n[2]} MB.`:(n=/^默认设置已恢复,但自定义文件尚未全部清理。请再次恢复默认重试(?:((.+)))?。$/.exec(e))?`Default settings were restored, but some custom files remain. Restore defaults again${n[1]?` (${n[1]})`:""}.`:(n=/^暂时无法检查更新:([\s\S]+)$/.exec(e))?`Could not check for updates: ${rt(n[1])}`:(n=/^npm 注册表返回 HTTP (\d+)。$/.exec(e))?`The npm registry returned HTTP ${n[1]}.`:(n=/^维护服务返回 HTTP (\d+)。$/.exec(e))?`The update service returned HTTP ${n[1]}.`:(n=/^(npm )?更新包下载失败(HTTP (\d+))。$/.exec(e))?`${n[1]?"The npm update package":"The update package"} download failed (HTTP ${n[2]}).`:(n=/^Harness 更新请求失败(HTTP (\d+))。$/.exec(e))?`The Harness update request failed (HTTP ${n[1]}).`:(n=/^请求失败 \((\d+)\)$/.exec(e))?`Request failed (${n[1]})`:(n=/^连接失败:([\s\S]+)。请重启 Harness 后重试。$/.exec(e))?`Connection failed: ${rt(n[1])}. Restart Harness and try again.`:e}r(rt,"englishMessage");function ze(e){let n=e&&typeof e=="object"?e.code||e.errorCode:null,t=Object.hasOwn(tt,n)?tt[n]:null,i=String(e&&typeof e=="object"?e.message||e.error||"":e??"");if(t){let[s,d]=t;return Me()==="en"?d:s}return Me()==="en"?rt(i):i}r(ze,"localizeMessage");function ne(){let e=wn(),n=(0,Dt.useSyncExternalStore)(e.subscribe,e.getSnapshot,()=>"zh");return(t,i)=>n==="en"?i:t}r(ne,"useI18n");var pn=`${ln}:open`,Hn=`${ln}:play`,Pe={bootClaimed:!1,request:null,telemetryRequest:null,decisionSettled:!1},Ve=null,De=new Set,st="1.4.3";function ke(e){return Ve=e,De.forEach(n=>n(e)),e}r(ke,"publish");function Bn(){en().openControllerSettings(_e)||window.dispatchEvent(new Event(pn))}r(Bn,"openSettings");function Un(e,n,t=!1,i=!1){window.dispatchEvent(new CustomEvent(Hn,{detail:{clip:e,settings:n,endOnly:t,clipOnly:i}}))}r(Un,"preview");var E=ye(require("react"),1);var Rt=require("react");var Rn=`
3
3
 
4
4
  /* ENCHANTMENT UI reads the host's resolved theme and typography. Media is below. */
5
5
  :is(.bs-studio,.bs-startup-update,.bs-modal,.bs-toast) {
@@ -386,7 +386,7 @@ html[data-lewis-player="true"]::-webkit-scrollbar,html[data-lewis-player="true"]
386
386
  .bs-player button{font:inherit;font-size:calc(var(--lewis-font-size,14px) * .86)}
387
387
  .bs-player .bs-intro-prompt{font-size:calc(var(--lewis-font-size,14px) * .86)}
388
388
  .bs-player>.bs-end-title>.bs-enter-prompt{bottom:2.5%;font-family:var(--lewis-font-family,inherit);font-size:calc(var(--lewis-font-size,14px) * 1.07)}
389
- `;var Ht="dsh-boot-studio-style",Bt=2026102603;function Nr(e){let n=2166136261;for(let t=0;t<e.length;t++)n=Math.imul(n^e.charCodeAt(t),16777619);return(n>>>0).toString(16)}r(Nr,"fingerprint");function Ut(e){if(!e?.head)return null;let n=e.getElementById(Ht);return n||(n=e.createElement("style"),n.id=Ht,e.head.appendChild(n)),(Number(n.getAttribute("data-lewis-style-revision"))||0)>Bt||(n.textContent!==Rn&&(n.textContent=Rn),n.setAttribute("data-lewis-style-revision",String(Bt)),n.setAttribute("data-lewis-style-fingerprint",Nr(Rn))),n}r(Ut,"ensureStudioStyles");function xe(){(0,Rt.useLayoutEffect)(()=>{Ut(document)},[])}r(xe,"useStudioStyles");var de=ye(require("react"),1);var D=ye(require("react"),1);var fn=require("react");function be(){let e=en(),n=Ct(document),[t,i]=(0,fn.useState)(()=>e.getSnapshot()),[s,d]=(0,fn.useState)(()=>n.getSnapshot());return(0,fn.useLayoutEffect)(()=>{let u=r(()=>i(e.getSnapshot()),"refresh"),f=e.subscribe(u);return u(),f},[e]),(0,fn.useLayoutEffect)(()=>{let u=r(()=>d(n.getSnapshot()),"refresh"),f=n.subscribe(u);return u(),f},[n]),Nt(t.theme,s)}r(be,"useEnchantAppearance");var at=ye(require("react"),1);function Ze(){return at.default.createElement("svg",{className:"bs-close-icon",viewBox:"0 0 24 24",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round","aria-hidden":"true",focusable:"false"},at.default.createElement("path",{d:"m6 6 12 12M18 6 6 18"}))}r(Ze,"CloseIcon");var tn=ye(require("react"),1);var it=r(e=>`${(e/1e6).toFixed(2)} MB`,"mb");function qt({progress:e={},completed:n=!1}){let t=ne(),i=n?"complete":e.phase,s=i==="downloading",d=Number.isFinite(e.totalBytes)&&e.totalBytes>0,u=Number.isFinite(e.downloadedBytes)&&e.downloadedBytes>=0?e.downloadedBytes:0,f=s&&d,o=e.fromCache===!0,l=n?100:f?Math.min(99,Math.max(0,Math.floor(u/e.totalBytes*100))):null,m=n?t("\u66F4\u65B0\u5B8C\u6210","Update complete"):i==="install"?t("\u6B63\u5728\u5E94\u7528\u66F4\u65B0","Applying update"):i==="verifying"?o?t("\u6B63\u5728\u6821\u9A8C\u7F13\u5B58","Verifying cached update"):t("\u6B63\u5728\u6821\u9A8C\u66F4\u65B0\u5305","Verifying update package"):i==="ready"?t("\u66F4\u65B0\u5305\u5DF2\u5C31\u7EEA","Update package ready"):s?t("\u6B63\u5728\u4E0B\u8F7D\u66F4\u65B0\u5305","Downloading update package"):t("\u6B63\u5728\u51C6\u5907\u66F4\u65B0","Preparing update"),c;n?c=t("\u89C6\u9891\u3001\u56FE\u7247\u548C\u8BBE\u7F6E\u5DF2\u4FDD\u7559","Videos, images and settings have been kept"):s?c=`${it(u)}${d?` / ${it(e.totalBytes)}`:t(" \xB7 \u6B63\u5728\u63A5\u6536"," \xB7 Receiving")}`:i==="verifying"?c=o?t("\u6B63\u5728\u68C0\u67E5\u7F13\u5B58\u66F4\u65B0\u5305\u7684\u5B8C\u6574\u6027\u3002","Checking cached package integrity."):t("\u4E0B\u8F7D\u5DF2\u5B8C\u6210\uFF0C\u6B63\u5728\u68C0\u67E5\u5B89\u88C5\u5305\u7684\u5B8C\u6574\u6027\u3002","Download complete. Checking package integrity."):i==="ready"||i==="install"?(c=o?t("\u590D\u7528\u5DF2\u6821\u9A8C\u66F4\u65B0\u5305\uFF0C\u65E0\u9700\u91CD\u590D\u4E0B\u8F7D\u3002","Reusing the verified update package. No download needed."):i==="ready"?t("\u66F4\u65B0\u5305\u6821\u9A8C\u5B8C\u6210\uFF0C\u6B63\u5728\u51C6\u5907\u5B89\u88C5\u3002","Package verified. Preparing to install."):"",i==="install"&&(c+=`${c?" ":""}${t("\u6B63\u5728\u901A\u8FC7 Harness \u5B89\u5168\u5E94\u7528\u66F4\u65B0\uFF0C\u8BF7\u7A0D\u5019\u3002","Applying the update through Harness. Please wait.")}`)):c=t("\u6B63\u5728\u8FDE\u63A5\u66F4\u65B0\u670D\u52A1\uFF0C\u8BF7\u7A0D\u5019\u3002","Connecting to the update service. Please wait."),!n&&!s&&d&&(c=`${it(e.totalBytes)} \xB7 ${c}`);let w=n?void 0:s?`${u}${d?` / ${e.totalBytes}`:""}`:d?String(e.totalBytes):void 0;return tn.default.createElement("div",{className:"bs-update-progress","data-testid":"update-progress","data-phase":i||"prepare"},tn.default.createElement("div",{className:"bs-update-progress-heading"},tn.default.createElement("span",null,m),l!==null&&tn.default.createElement("strong",null,l,"%")),tn.default.createElement("progress",{"aria-label":n?t("\u66F4\u65B0\u5B8C\u6210","Update complete"):s?t("\u66F4\u65B0\u5305\u4E0B\u8F7D\u8FDB\u5EA6","Update package download progress"):m,max:"100",...l!==null?{value:l}:{}}),tn.default.createElement("div",{className:"bs-update-progress-detail",title:w===void 0?void 0:`${w} ${t("\u5B57\u8282","bytes")}`},c))}r(qt,"UpdateProgress");function qn({request:e,status:n={},onDismiss:t,onUpdated:i,preview:s=!1,kind:d="update",checkError:u,install:f}){let o=ne();xe();let l=be(),m=(0,D.useRef)(null),c=(0,D.useRef)(!0),w=(0,D.useRef)(!1),[h,A]=(0,D.useState)(!1),[I,y]=(0,D.useState)({phase:"prepare",downloadedBytes:0,totalBytes:null}),[R,B]=(0,D.useState)(""),[O,V]=(0,D.useState)(()=>d==="update"?St(n):null),M=(0,D.useCallback)(()=>{w.current||(O&&!s&&i?.(O.version,O.result),t?.())},[O,t,i,s]);(0,D.useEffect)(()=>{c.current=!0;let C=m.current,F=document.activeElement;return typeof C.showModal=="function"?C.open||C.showModal():C.setAttribute("open",""),()=>{c.current=!1,C.open&&typeof C.close=="function"&&C.close(),F?.isConnected&&F.focus?.()}},[]);async function P(){if(!(s||w.current||O||R?.uncertain||!Le(n))){w.current=!0,A(!0),B("");try{let C=await Xn(e,n,{install:f,onProgress:r(F=>{c.current&&y(F)},"onProgress")});c.current&&V(C)}catch(C){c.current&&B(C||"\u66F4\u65B0\u672A\u5B8C\u6210\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002")}finally{w.current=!1,c.current&&A(!1)}}}r(P,"accept");let a=d==="error",$=d==="current",re=typeof n.manifest?.releaseNotes=="string"?n.manifest.releaseNotes:"",me=typeof n.manifest?.releaseNotesEn=="string"&&n.manifest.releaseNotesEn.trim()?n.manifest.releaseNotesEn:re,pe=o(re,me),g=$?o("\u5DF2\u7ECF\u662F\u6700\u65B0\u7248\u672C","You are up to date"):a?o("\u6682\u65F6\u65E0\u6CD5\u68C0\u67E5\u66F4\u65B0\u3002","Unable to check for updates."):O?o("\u65B0\u7684\u5F00\u573A\uFF0C\u5DF2\u51C6\u5907\u5C31\u7EEA\u3002","Your new opening is ready."):o("\u51C6\u5907\u597D\u65B0\u7684\u5F00\u573A","A new opening awaits"),x=$?o("\u4F60\u7684\u5F00\u673A\u52A8\u753B\u5DF2\u662F\u6700\u65B0\uFF0C\u5FEB\u53BB\u4F53\u9A8C\u5427","Your startup animation is up to date. Enjoy!"):a?ze(u||(n.message?n:o("\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5\uFF0C\u7A0D\u540E\u518D\u8BD5\u3002","Check your network connection and try again later."))):s?o("\u8FD9\u91CC\u53EA\u9884\u89C8\u5F39\u7A97\u5916\u89C2\uFF0C\u4E0D\u4F1A\u4E0B\u8F7D\u6216\u5B89\u88C5\u66F4\u65B0\u3002","This preview only shows the dialog. No updates will be downloaded or installed."):O?o("\u66F4\u65B0\u5DF2\u5B8C\u6210\uFF0C\u8BF7\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u65B0\u6253\u5F00 Harness\uFF0C\u4EE5\u5E94\u7528\u65B0\u7248\u672C\u3002","Update complete. Fully quit and reopen Harness to apply the new version."):o("\u53D1\u73B0\u5F00\u673A\u52A8\u753B\u7684\u65B0\u7248\u672C\uFF0C\u4E3A\u4E0B\u4E00\u6B21\u542F\u52A8\u6DFB\u4E00\u70B9\u65B0\u610F","A new startup animation version is available for your next launch.");return D.default.createElement("dialog",{ref:m,className:"bs-startup-update","data-testid":"startup-update","data-kind":d,"data-preview":s||void 0,...l,"aria-labelledby":"bs-startup-update-title","aria-describedby":"bs-startup-update-description",onCancel:C=>{C.preventDefault(),M()}},D.default.createElement("div",{className:"bs-startup-update-card"},D.default.createElement("button",{className:"bs-startup-update-close",type:"button","aria-label":o("\u5173\u95ED\u66F4\u65B0\u63D0\u793A","Close update notification"),disabled:h,onClick:M},D.default.createElement(Ze,null)),D.default.createElement("div",{className:"bs-startup-update-glyph","aria-hidden":"true"},$?"\u2713":a?"!":"\u2727"),D.default.createElement("p",{className:"bs-startup-update-brand"},"DSH LEWIS ENCHANTMENT",s&&D.default.createElement("span",null,o(" \xB7 \u66F4\u65B0\u63D0\u9192\u5916\u89C2\u9884\u89C8"," \xB7 Update notification preview"))),D.default.createElement("h2",{id:"bs-startup-update-title"},g),D.default.createElement("p",{id:"bs-startup-update-description",className:"bs-startup-update-copy"},x),$?D.default.createElement("div",{className:"bs-startup-update-versions"},D.default.createElement("strong",null,n.currentVersion?`v${n.currentVersion}`:o("\u7248\u672C\u4FE1\u606F\u6682\u4E0D\u53EF\u7528","Version unavailable")),D.default.createElement("span",null,o("\u5F53\u524D\u7248\u672C","Current version"))):!a&&D.default.createElement("div",{className:"bs-startup-update-versions"},D.default.createElement("span",null,n.currentVersion?`v${n.currentVersion}`:o("\u5F53\u524D\u7248\u672C","Current version")),D.default.createElement("span",{"aria-hidden":"true"},"\u2192"),D.default.createElement("strong",null,n.latestVersion?`v${n.latestVersion}`:s?o("\u540E\u7EED\u7248\u672C","Future version"):o("\u65B0\u7248\u672C","New version"))),!a&&!$&&!h&&!O&&D.default.createElement("div",{className:"bs-release-notes","aria-label":o("\u672C\u6B21\u66F4\u65B0","What\u2019s new")},D.default.createElement("h3",null,o("\u672C\u6B21\u66F4\u65B0","What\u2019s new")),pe.trim()?D.default.createElement("p",null,pe):D.default.createElement("p",{className:"bs-release-notes-empty"},s?o("\u66F4\u65B0\u8BF4\u660E\u5F85\u4F5C\u8005\u586B\u5199\uFF08\u4EC5\u672C\u5730\u9884\u89C8\uFF09","Awaiting the author\u2019s release notes (local preview only)"):o("\u6B64\u7248\u672C\u672A\u63D0\u4F9B\u66F4\u65B0\u8BF4\u660E\u3002","No release notes were provided for this version."))),!a&&!$&&!O&&D.default.createElement("p",{className:"bs-startup-update-restart"},o("\u66F4\u65B0\u5B8C\u6210\u540E\uFF0C\u8BF7\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u65B0\u6253\u5F00 Harness\uFF0C\u4EE5\u5E94\u7528\u65B0\u7248\u672C\u3002","After updating, fully quit and reopen Harness to apply the new version.")),!a&&!$&&!O&&D.default.createElement("p",{className:"bs-startup-update-retain"},o("\u4F60\u7684\u89C6\u9891\u3001\u56FE\u7247\u548C\u8BBE\u7F6E\u90FD\u4F1A\u4FDD\u7559","Your videos, images and settings will be kept")),(h||O)&&D.default.createElement(qt,{progress:I,completed:!!O}),R&&D.default.createElement("p",{className:"bs-startup-update-error",role:"alert"},ze(R)),R?.code?.startsWith("BOOT_HARNESS_INSTALL")&&vt()&&D.default.createElement("button",{type:"button",disabled:h,onClick:()=>{yt(n.packageName)&&t?.()}},o("\u6253\u5F00\u63D2\u4EF6\u7BA1\u7406","Open plugin manager")),D.default.createElement("div",{className:"bs-startup-update-actions"},$||a?D.default.createElement("button",{className:"bs-startup-update-primary",type:"button",onClick:M},o("\u77E5\u9053\u4E86","Got it")):s?D.default.createElement("button",{className:"bs-startup-update-primary",type:"button",onClick:M},o("\u5173\u95ED\u9884\u89C8","Close preview")):O?D.default.createElement("button",{className:"bs-startup-update-primary",type:"button",disabled:h,onClick:M},o("\u77E5\u9053\u4E86","Got it")):D.default.createElement(D.default.Fragment,null,D.default.createElement("button",{type:"button",disabled:h,onClick:M},o("\u7A0D\u540E\u518D\u8BF4","Later")),!R?.uncertain&&D.default.createElement("button",{className:"bs-startup-update-primary",type:"button",disabled:h,onClick:P},h?o("\u6B63\u5728\u66F4\u65B0\u2026","Updating\u2026"):R?o("\u91CD\u8BD5\u66F4\u65B0","Retry update"):o(`\u66F4\u65B0\u5230 ${n.latestVersion}`,`Update to ${n.latestVersion}`))))))}r(qn,"UpdatePrompt");function Vt({request:e,standalone:n=!1,install:t}){let i=ne(),[s,d]=(0,de.useState)(null),[u,f]=(0,de.useState)(!1),[o,l]=(0,de.useState)(null);(0,de.useEffect)(()=>{let w=!0;return e("/updates/status").then(h=>{w&&d(h)}).catch(()=>{}),()=>{w=!1}},[e]);async function m(){if(!u){f(!0);try{Qn(e);let w=await e("/updates/check",{method:"POST",body:"{}"});d(w),l({kind:Le(w)?"update":w?.channelReady?"current":"error",status:w})}catch(w){d(h=>({...h,available:!1,channelReady:!1})),l({kind:"error",status:s||{},message:w||"\u6682\u65F6\u65E0\u6CD5\u68C0\u67E5\u66F4\u65B0\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"})}finally{f(!1)}}}r(m,"check");function c(w){qe.updated(w),d(h=>({...h,available:!1,currentVersion:w}))}return r(c,"updated"),de.default.createElement("div",{className:"bs-update-area","data-testid":"update-panel"},de.default.createElement("div",{className:"bs-section-title"},de.default.createElement("h2",null,i("\u7248\u672C\u4E0E\u66F4\u65B0","Version and updates")),de.default.createElement("span",null,s?.currentVersion?`v${s.currentVersion}`:"DSH LEWIS ENCHANTMENT")),de.default.createElement("div",{className:"bs-update-card"},de.default.createElement("div",null,de.default.createElement("strong",null,i("\u4E00\u6B21\u5B89\u88C5\uFF0C\u6301\u7EED\u7115\u65B0","Install once, keep it fresh")),de.default.createElement("p",null,i("\u66F4\u65B0\u4F1A\u4FDD\u7559\u4F60\u7684\u89C6\u9891\u3001\u7ED3\u675F\u56FE\u7247\u548C\u64AD\u653E\u504F\u597D\u3002","Updates keep your videos, end screen images and playback preferences.")),n&&de.default.createElement("small",null,i("\u5F53\u524D\u4E3A\u72EC\u7ACB\u9884\u89C8\uFF0C\u68C0\u67E5\u7ED3\u679C\u4EC5\u7528\u4E8E\u5C55\u793A\u3002","This is a standalone preview. Update results are for display only."))),de.default.createElement("div",{className:"bs-update-actions"},de.default.createElement("button",{type:"button",disabled:u,onClick:m},u?i("\u6B63\u5728\u68C0\u67E5\u2026","Checking\u2026"):Le(s)?i("\u67E5\u770B\u66F4\u65B0","View update"):s?.channelReady?i("\u5DF2\u662F\u6700\u65B0","Up to date"):i("\u68C0\u67E5\u66F4\u65B0","Check for updates")))),o&&de.default.createElement(qn,{request:e,status:o.status,kind:o.kind,checkError:o.message,install:t,preview:n&&o.kind==="update"&&!t,onDismiss:()=>l(null),onUpdated:c}))}r(Vt,"UpdatePanel");var K=ye(require("react"),1);function Ft({onCancel:e,onConfirm:n}){let t=ne();xe();let i=be(),s=(0,K.useRef)(null),d=(0,K.useRef)(null),u=(0,K.useRef)(!0),f=(0,K.useRef)(!1),[o,l]=(0,K.useState)(!1),[m,c]=(0,K.useState)("");(0,K.useEffect)(()=>{u.current=!0;let A=s.current,I=document.activeElement;return typeof A.showModal=="function"?A.open||A.showModal():A.setAttribute("open",""),d.current?.focus(),()=>{u.current=!1,A.open&&typeof A.close=="function"&&A.close(),I?.isConnected&&I.focus?.()}},[]);function w(){f.current||e?.()}r(w,"cancel");async function h(){if(!f.current){f.current=!0,l(!0),c("");try{if(typeof n!="function")throw Error("\u6682\u65F6\u65E0\u6CD5\u6062\u590D\u9ED8\u8BA4\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002");await n()}catch(A){u.current&&c(A||"\u6062\u590D\u9ED8\u8BA4\u672A\u5B8C\u6210\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002");return}finally{f.current=!1,u.current&&l(!1)}u.current&&e?.()}}return r(h,"confirm"),K.default.createElement("dialog",{ref:s,className:"bs-startup-update bs-reset-dialog","data-testid":"reset-dialog",...i,"aria-labelledby":"bs-reset-title","aria-describedby":"bs-reset-description bs-reset-warning","aria-busy":o,onCancel:A=>{A.preventDefault(),w()}},K.default.createElement("div",{className:"bs-startup-update-card bs-reset-card"},K.default.createElement("button",{className:"bs-startup-update-close",type:"button","aria-label":t("\u53D6\u6D88\u6062\u590D\u9ED8\u8BA4","Cancel reset"),disabled:o,onClick:w},K.default.createElement(Ze,null)),K.default.createElement("div",{className:"bs-startup-update-glyph bs-reset-glyph","aria-hidden":"true"},"\u21BA"),K.default.createElement("p",{className:"bs-startup-update-brand"},"DSH LEWIS ENCHANTMENT"),K.default.createElement("h2",{id:"bs-reset-title"},t("\u56DE\u5230\u6700\u521D\u7684\u5F00\u573A\uFF1F","Back to the original opening?")),K.default.createElement("p",{id:"bs-reset-description",className:"bs-startup-update-copy"},t("\u6062\u590D\u9ED8\u8BA4\u540E\uFF0C\u5F00\u673A\u52A8\u753B\u5C06\u56DE\u5230\u5B89\u88C5\u65F6\u7684\u72B6\u6001\u3002","Reset the startup animation to its original settings.")),K.default.createElement("div",{className:"bs-startup-update-summary bs-reset-summary"},K.default.createElement("p",null,t("\u5220\u9664\u5168\u90E8\u4E0A\u4F20\u7684\u89C6\u9891\u548C\u56FE\u7247","Delete all uploaded videos and images")),K.default.createElement("p",null,t("\u91CD\u7F6E\u64AD\u653E\u3001\u58F0\u97F3\u53CA\u7ED3\u675F\u753B\u9762\u7B49\u504F\u597D","Reset playback, sound and end screen preferences")),K.default.createElement("p",null,t("\u91CD\u7F6E\u4FA7\u680F\u5FEB\u6377\u5165\u53E3","Reset the sidebar shortcut"))),K.default.createElement("p",{className:"bs-startup-update-retain bs-reset-retain"},t("\u5B89\u88C5\u5305\u81EA\u5E26\u7684\u52A8\u753B\u548C\u5C01\u9762\u4F1A\u4FDD\u7559\u3002","Built-in animations and covers will be kept.")),K.default.createElement("p",{id:"bs-reset-warning",className:"bs-reset-warning"},t("\u6B64\u64CD\u4F5C\u4E0D\u53EF\u64A4\u9500\uFF0C\u8BF7\u5148\u5907\u4EFD\u9700\u8981\u4FDD\u7559\u7684\u7D20\u6750\u3002","This cannot be undone. Back up any media you want to keep first.")),o&&K.default.createElement("p",{className:"bs-startup-update-status",role:"status","aria-live":"polite"},t("\u6B63\u5728\u79FB\u9664\u81EA\u5B9A\u4E49\u7D20\u6750\u5E76\u6062\u590D\u9ED8\u8BA4\u2026","Removing custom media and restoring defaults\u2026")),m&&K.default.createElement("p",{className:"bs-startup-update-error",role:"alert"},ze(m)),K.default.createElement("div",{className:"bs-startup-update-actions bs-reset-actions"},K.default.createElement("button",{ref:d,type:"button",autoFocus:!0,disabled:o,onClick:w},t("\u53D6\u6D88","Cancel")),K.default.createElement("button",{className:"bs-reset-confirm",type:"button",disabled:o,onClick:h},o?t("\u6B63\u5728\u6062\u590D\u2026","Resetting\u2026"):t("\u786E\u8BA4\u6062\u590D\u9ED8\u8BA4","Restore defaults")))))}r(Ft,"ResetDialog");var ge=ye(require("react"),1);function jt({onClose:e}){let n=ne();xe();let t=be(),i=(0,ge.useRef)(null),s=(0,ge.useRef)(null),[d,u]=(0,ge.useState)(!1);(0,ge.useEffect)(()=>{let o=i.current,l=document.activeElement;return typeof o.showModal=="function"?o.open||o.showModal():o.setAttribute("open",""),s.current?.focus(),()=>{o.open&&typeof o.close=="function"&&o.close(),l?.isConnected&&l.focus?.()}},[]);function f(o){if(o.target!==o.currentTarget)return;let l=o.currentTarget.getBoundingClientRect();(o.clientX<l.left||o.clientX>l.right||o.clientY<l.top||o.clientY>l.bottom)&&e()}return r(f,"backdropClick"),ge.default.createElement("dialog",{ref:i,className:"bs-startup-update bs-author-dialog","data-testid":"author-dialog",...t,"aria-label":n("\u4F5C\u8005\u56FE\u7247","Author image"),onCancel:o=>{o.preventDefault(),e()},onClick:f},ge.default.createElement("div",{className:"bs-startup-update-card bs-author-card"},ge.default.createElement("button",{ref:s,className:"bs-startup-update-close",type:"button","aria-label":n("\u5173\u95ED\u4F5C\u8005\u4FE1\u606F","Close author information"),onClick:e},ge.default.createElement(Ze,null)),d?ge.default.createElement("span",{className:"bs-visually-hidden",role:"alert"},n("\u56FE\u7247\u6682\u65F6\u65E0\u6CD5\u663E\u793A\uFF0C\u8BF7\u5173\u95ED\u540E\u91CD\u8BD5\u3002","The image is unavailable. Close this dialog and try again.")):ge.default.createElement("div",{className:"bs-author-image-frame"},ge.default.createElement("img",{className:"bs-author-image",src:`${Ue}/author-image`,alt:n("\u4F5C\u8005\u63D0\u4F9B\u7684\u5FAE\u4FE1\u6536\u6B3E\u7801","WeChat payment QR code provided by the author"),onError:()=>u(!0)}))))}r(jt,"AuthorDialog");var _=ye(require("react"),1);var Vn=null;function Gt(e){return Vn=e,()=>{Vn===e&&(Vn=null)}}r(Gt,"bindTelemetryRuntime");function Sn(){let e=null;try{e=Vn?.modules?.manifest?.release?.version}catch{}return{harnessVersion:typeof e=="string"&&e.length<=64?e:null,locale:document.documentElement.lang||navigator.language||"unknown"}}r(Sn,"telemetryMetadata");function Wt({onClose:e,onStatus:n}){let t=ne();xe();let i=be(),s=(0,_.useRef)(null),d=(0,_.useRef)(null),u=(0,_.useRef)(!0),f=(0,_.useRef)(!1),o=(0,_.useRef)({sequence:0}),[l,m]=(0,_.useState)(null),[c,w]=(0,_.useState)(!1),[h,A]=(0,_.useState)(!1),[I,y]=(0,_.useState)(""),[R,B]=(0,_.useState)(!1);(0,_.useEffect)(()=>{u.current=!0;let x=!0,C=new AbortController,F=o.current,q=s.current,ve=document.activeElement;return typeof q.showModal=="function"?q.open||q.showModal():q.setAttribute("open",""),d.current?.focus(),te("/telemetry",{signal:C.signal}).then(Q=>{x&&(m(Q),n?.(Q))}).catch(()=>{x&&y("load")}),()=>{x=!1,u.current=!1,F.sequence++,C.abort(),q.open&&typeof q.close=="function"&&q.close(),ve?.isConnected&&ve.focus?.()}},[n]);let O=!!(l?.enabled&&(l.reporting||l.lastResult==null));(0,_.useEffect)(()=>{if(!O||h)return;let x=!0,C,F,q=o.current.sequence;B(!1);let ve=r(()=>x&&u.current&&o.current.sequence===q,"current");function Q(){x=!1,clearTimeout(C),F?.abort(),clearTimeout(se)}r(Q,"stop");let se=setTimeout(()=>{ve()&&B(!0),Q()},9e4);function an(){C=setTimeout(async()=>{if(ve()){F=new AbortController;try{let ae=await te("/telemetry",{signal:F.signal});if(!ve())return;m(ae),n?.(ae),ae.enabled&&(ae.reporting||ae.lastResult==null)?an():Q()}catch{ve()&&y("refresh"),Q()}}},1e3)}return r(an,"schedule"),an(),Q},[O,h,n]);async function V(x,C){if(f.current)return;f.current=!0;let F=++o.current.sequence;A(!0),y(""),B(!1);try{let q=await te(x,{method:"POST",body:JSON.stringify(C)});u.current&&F===o.current.sequence&&(m(q),w(!1),n?.(q))}catch{u.current&&F===o.current.sequence&&y("change")}finally{f.current=!1,u.current&&A(!1)}}r(V,"change");let M=r(()=>{f.current||e()},"close"),P=l&&!l.enabled&&l.lastResult?.withdrawn,a=l?.lastResult,$=l?.lastSentAt&&new Date(l.lastSentAt),re=$&&Number.isFinite($.getTime())?$.toLocaleString(t("zh-CN","en-US")):t("\u5C1A\u65E0\u6210\u529F\u4E0A\u62A5","No successful report yet"),me=/^(?:HTTP_[1-5]\d\d|ECONNRESET|ETIMEDOUT|ENOTFOUND|AbortError|TimeoutError|TypeError|Error)$/.test(a?.failureCode||"")?a.failureCode:null,pe=Number.isInteger(a?.httpStatus)&&a.httpStatus>=100&&a.httpStatus<=599?a.httpStatus:null,g=a?.sent===!0?a.accountIdentified===!0?t("\u4E0A\u62A5\u6210\u529F\uFF0C\u5DF2\u8BC6\u522B DeepSeek \u8D26\u6237\u3002","Report sent; the DeepSeek account was identified."):t("\u4E0A\u62A5\u6210\u529F\uFF0C\u4EC5\u5305\u542B\u5B89\u88C5\u6570\u636E\uFF0C\u672A\u8BC6\u522B\u5DF2\u767B\u5F55\u8D26\u6237\u3002","Report sent with installation data only; no signed-in account was identified."):a?.sent===!1?t("\u6700\u8FD1\u4E00\u6B21\u4E0A\u62A5\u672A\u6210\u529F\uFF0C\u53EF\u91CD\u8BD5\u4E0A\u62A5\u3002","The latest report was not sent. You can retry reporting."):null;return _.default.createElement("dialog",{ref:s,className:"bs-startup-update bs-sharing-dialog","data-testid":"data-sharing-dialog",...i,"aria-labelledby":"bs-sharing-title","aria-describedby":"bs-sharing-description","aria-busy":h,onCancel:x=>{x.preventDefault(),M()}},_.default.createElement("div",{className:"bs-startup-update-card bs-sharing-card"},_.default.createElement("button",{ref:d,className:"bs-startup-update-close",type:"button",disabled:h,"aria-label":t("\u5173\u95ED\u6570\u636E\u5171\u4EAB\u8BF4\u660E","Close data-sharing notice"),onClick:M},_.default.createElement(Ze,null)),_.default.createElement("p",{className:"bs-startup-update-brand"},"DSH LEWIS ENCHANTMENT"),_.default.createElement("h2",{id:"bs-sharing-title"},t("\u4E0E\u5F00\u53D1\u8005\u5171\u4EAB\u6570\u636E","Share data with the developer")),_.default.createElement("p",{id:"bs-sharing-description",className:"bs-startup-update-copy"},t("\u7531 FerrariLewis \u63A5\u6536\uFF0C\u7528\u4E8E\u4E86\u89E3\u63D2\u4EF6\u4F7F\u7528\u89C4\u6A21\u548C\u7248\u672C\u5206\u5E03\u3002\u9ED8\u8BA4\u5173\u95ED\uFF0C\u62D2\u7EDD\u4E0D\u4F1A\u5F71\u54CD\u4EFB\u4F55\u63D2\u4EF6\u529F\u80FD\u3002","FerrariLewis receives this data to understand plugin usage and version distribution. Sharing is off by default and is optional.")),_.default.createElement("div",{className:"bs-sharing-notice"},_.default.createElement("h3",null,t("\u4F60\u540C\u610F\u540E\u5C06\u5171\u4EAB","Shared after you agree")),_.default.createElement("ul",null,_.default.createElement("li",null,t("\u5DF2\u767B\u5F55 DeepSeek \u7684\u6635\u79F0\u4E0E\u8D26\u6237\u6807\u8BC6\u3002\u8D26\u6237\u6807\u8BC6\u4F20\u81F3\u63A5\u6536\u670D\u52A1\u540E\u7528\u670D\u52A1\u7AEF\u5BC6\u94A5 HMAC \u53BB\u91CD\uFF0C\u539F\u59CB\u6807\u8BC6\u4E0D\u843D\u76D8\u3002","The signed-in DeepSeek nickname and account ID. The collector derives an HMAC key for deduplication; raw account IDs are not stored.")),_.default.createElement("li",null,t("\u63D2\u4EF6\u53CA Harness \u7248\u672C\u3001\u64CD\u4F5C\u7CFB\u7EDF\u3001\u5904\u7406\u5668\u67B6\u6784\u548C\u754C\u9762\u8BED\u8A00\u3002","Plugin and Harness versions, operating system, processor architecture and interface language.")),_.default.createElement("li",null,t("\u9996\u6B21\u4E0E\u6700\u8FD1\u6D3B\u8DC3\u65F6\u95F4\uFF0C\u4EE5\u53CA\u7528\u4E8E\u53BB\u91CD\u7684\u968F\u673A\u5B89\u88C5\u6807\u8BC6\u3002\u6B63\u5E38\u4F7F\u7528\u4E2D\u6700\u591A\u6BCF\u5929\u81EA\u52A8\u4E0A\u62A5\u4E00\u6B21\u3002","First and most recent activity times and a random installation identifier. Normal automatic reporting is limited to once per day."))),_.default.createElement("p",null,t("\u4E0D\u4F1A\u6536\u96C6\u767B\u5F55\u4EE4\u724C\u3001API Key\u3001\u8054\u7CFB\u65B9\u5F0F\u3001\u804A\u5929\u5185\u5BB9\u6216\u4F59\u989D\uFF1B\u6CA1\u6709\u53EF\u7528\u7684\u4F1A\u5458\u7B49\u7EA7\u63A5\u53E3\uFF0C\u4F1A\u5458\u7B49\u7EA7\u7EDF\u4E00\u672A\u77E5\u3002","Login tokens, API keys, contact information, conversations and balances are excluded. Membership level has no supported data source and remains unknown.")),_.default.createElement("p",null,t("\u672A\u767B\u5F55\u6216\u63A5\u53E3\u4E0D\u53EF\u7528\u65F6\u53EA\u4E0A\u62A5\u5B89\u88C5\u6570\u636E\u3002\u8D26\u6237\u4FE1\u606F\u7531\u5BA2\u6237\u7AEF\u81EA\u62A5\uFF0C\u672A\u7ECF DeepSeek \u8EAB\u4EFD\u9A8C\u8BC1\uFF1B\u8D26\u6237\u6570\u548C\u5B89\u88C5\u6570\u5747\u4E0D\u7B49\u4E8E\u81EA\u7136\u4EBA\u6570\u3002","Without an available signed-in profile, only installation data is reported. Account information is client-reported, not verified by DeepSeek; accounts and installations do not equal people.")),_.default.createElement("p",null,t("\u53EF\u968F\u65F6\u4ECE\u6B64\u5165\u53E3\u505C\u6B62\u5171\u4EAB\u5E76\u8BF7\u6C42\u5220\u9664\u8BE5\u5B89\u88C5\u5173\u8054\u6570\u636E\u3002\u540C\u8D26\u6237\u4ECD\u6709\u5176\u4ED6\u5DF2\u6388\u6743\u5B89\u88C5\u65F6\uFF0C\u5176\u4F59\u5B89\u88C5\u6570\u636E\u4F1A\u4FDD\u7559\u3002","You can stop sharing and request deletion for this installation here. Data from other authorized installations of the same account remains."))),!l&&!I&&_.default.createElement("p",{role:"status"},t("\u6B63\u5728\u8BFB\u53D6\u5171\u4EAB\u72B6\u6001\u2026","Loading sharing status\u2026")),l&&!l.configured&&_.default.createElement("p",{className:"bs-sharing-unconfigured",role:"status"},t("\u5F00\u53D1\u8005\u5C1A\u672A\u914D\u7F6E\u6570\u636E\u63A5\u6536\u670D\u52A1\uFF0C\u5F53\u524D\u4E0D\u4F1A\u53D1\u9001\u4EFB\u4F55\u6570\u636E\u3002","The developer has not configured a collector. No data is currently sent.")),_.default.createElement("p",{className:"bs-sharing-endpoint"},_.default.createElement("a",{href:"https://dsopen-console-lewis.lewiszhouyichen.chatgpt.site",target:"_blank",rel:"noopener noreferrer"},t("\u4F5C\u8005\u540E\u53F0\uFF08\u4EC5\u4F5C\u8005\u53EF\u8BBF\u95EE\uFF09","Author dashboard (author access only)")),_.default.createElement("br",null),t("\u8BF7\u4F7F\u7528\u4F5C\u8005\u7684 OpenAI / ChatGPT \u8D26\u6237\u767B\u5F55\u3002","Sign in with the author's OpenAI / ChatGPT account.")),l?.enabled&&_.default.createElement("div",{className:"bs-sharing-active",role:"status","data-testid":"sharing-report-status"},_.default.createElement("p",null,t("\u6570\u636E\u5171\u4EAB\u5DF2\u5F00\u542F\u3002\u4E4B\u540E\u5C06\u6309\u4E0A\u8FF0\u8303\u56F4\u81EA\u52A8\u4E0A\u62A5\u3002","Sharing is enabled. Future reports follow the scope above.")),(l.reporting||a==null)&&!R&&_.default.createElement("p",null,l.lastSentAt?t("\u6B63\u5728\u4E0A\u62A5\uFF0C\u8BF7\u7A0D\u5019\u2026","Reporting; please wait\u2026"):t("\u9996\u6B21\u4E0A\u62A5\u4E2D\uFF0C\u8BF7\u7A0D\u5019\u2026","Sending the first report; please wait\u2026")),_.default.createElement("p",null,t("\u4E0A\u6B21\u6210\u529F\u4E0A\u62A5\uFF1A","Last successful report: "),re),g&&_.default.createElement("p",null,g),a?.sent===!1&&(me||pe)&&_.default.createElement("p",null,t("\u8BCA\u65AD\u6458\u8981\uFF1A","Diagnostic summary: "),[me,pe&&`HTTP ${pe}`].filter(Boolean).join(" \xB7 ")),R&&_.default.createElement("p",null,t("\u7B49\u5F85\u4E0A\u62A5\u7ED3\u679C\u5DF2\u8D85\u8FC7 90 \u79D2\uFF0C\u8BF7\u7A0D\u540E\u91CD\u65B0\u6253\u5F00\u6B64\u7A97\u53E3\u67E5\u770B\u72B6\u6001\u3002","Waiting for the report exceeded 90 seconds. Reopen this window later to check its status."))),l?.authorizationRequired&&_.default.createElement("p",{role:"status"},t("\u63A5\u6536\u670D\u52A1\u6216\u8BF4\u660E\u5DF2\u53D8\u66F4\uFF0C\u9700\u8981\u91CD\u65B0\u6388\u6743\u3002","The collector or notice changed. Fresh authorization is required.")),l?.withdrawalPending&&_.default.createElement("p",{className:"bs-startup-update-error",role:"status"},t("\u5DF2\u505C\u6B62\u5171\u4EAB\uFF1B\u8FDC\u7A0B\u5220\u9664\u5C1A\u672A\u786E\u8BA4\uFF0C\u8BF7\u91CD\u8BD5\u5220\u9664\u3002","Sharing has stopped. Remote deletion is unconfirmed; retry deletion.")),P&&!l.withdrawalPending&&_.default.createElement("p",{className:"bs-sharing-active",role:"status"},t("\u5DF2\u505C\u6B62\u5171\u4EAB\uFF0C\u5DF2\u786E\u8BA4\u5220\u9664\u8BE5\u5B89\u88C5\u5173\u8054\u7684\u8FDC\u7A0B\u6570\u636E\u3002","Sharing has stopped and deletion of this installation\u2019s remote data is confirmed.")),I&&_.default.createElement("p",{className:"bs-startup-update-error",role:"alert"},I==="load"?t("\u6682\u65F6\u65E0\u6CD5\u8BFB\u53D6\u5171\u4EAB\u72B6\u6001\uFF0C\u8BF7\u5173\u95ED\u540E\u91CD\u8BD5\u3002","Sharing status is unavailable. Close this window and try again."):I==="refresh"?t("\u6682\u65F6\u65E0\u6CD5\u5237\u65B0\u4E0A\u62A5\u72B6\u6001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u65B0\u6253\u5F00\u6B64\u7A97\u53E3\u67E5\u770B\u3002","Report status could not be refreshed. Reopen this window later to check it."):t("\u64CD\u4F5C\u672A\u5B8C\u6210\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5\u540E\u91CD\u8BD5\u3002","The operation did not complete. Check your connection and try again.")),l&&!l.enabled&&!l.withdrawalPending&&_.default.createElement("label",{className:"bs-sharing-consent"},_.default.createElement("input",{type:"checkbox",checked:c,onChange:x=>w(x.target.checked),disabled:!l.configured||h}),_.default.createElement("span",null,t("\u6211\u5DF2\u9605\u8BFB\u5E76\u540C\u610F\u4E0A\u8FF0\u6570\u636E\u8303\u56F4\u3001\u7528\u9014\u548C\u64A4\u56DE\u65B9\u5F0F\u3002","I have read and agree to the data scope, purpose and withdrawal process above."))),_.default.createElement("div",{className:"bs-startup-update-actions"},_.default.createElement("button",{type:"button",disabled:h,onClick:M},t("\u5173\u95ED","Close")),l?.enabled&&_.default.createElement("button",{type:"button",disabled:h||!!l.reporting,onClick:()=>V("/telemetry/retry",Sn())},t("\u91CD\u8BD5\u4E0A\u62A5","Retry reporting")),l&&(l.enabled||l.withdrawalPending||l.authorizationRequired)?_.default.createElement("button",{type:"button",disabled:h,onClick:()=>V("/telemetry/withdraw",{})},h?t("\u6B63\u5728\u5904\u7406\u2026","Processing\u2026"):l.withdrawalPending?t("\u91CD\u8BD5\u5220\u9664","Retry deletion"):t("\u505C\u6B62\u5171\u4EAB\u5E76\u8BF7\u6C42\u5220\u9664","Stop sharing and request deletion")):_.default.createElement("button",{type:"button",className:"bs-startup-update-primary",disabled:!l?.configured||!c||h,onClick:()=>V("/telemetry/consent",{confirmed:!0,policyVersion:l.policyVersion,...Sn()})},h?t("\u6B63\u5728\u4FDD\u5B58\u2026","Saving\u2026"):t("\u540C\u610F\u5E76\u5F00\u542F","Agree and enable")))))}r(Wt,"DataSharingDialog");var En=Object.freeze({video:{extension:/\.(mp4|m4v|webm)$/i,maxBytes:209715200,path:"/upload",timeout:"uploadVideo"},image:{extension:/\.(png|jpe?g|webp)$/i,maxBytes:20971520,path:"/end-images",timeout:"uploadImage"}}),bn=r(()=>he("BOOT_REQUEST_CANCELLED","\u8BF7\u6C42\u5DF2\u53D6\u6D88\u3002"),"cancelled"),Ir=3600*1e3;function _r(e,n,t=En[n]?.maxBytes){let i=En[n];if(!i)throw TypeError("Unknown media kind");if(!e||!i.extension.test(e.name||""))throw he(n==="image"?"BOOT_IMAGE_TYPE":"BOOT_VIDEO_TYPE",n==="image"?"\u8BF7\u9009\u62E9\u4E0D\u8D85\u8FC720 MB\u7684PNG\u3001JPEG\u6216WebP\u56FE\u7247\u3002":"\u8BF7\u9009\u62E9 MP4\u3001M4V \u6216 WebM \u89C6\u9891\u3002\u63A8\u8350 MP4\uFF08H.264 / AAC\uFF09\u3002");if(!Number.isFinite(e.size)||e.size<=0||e.size>t)throw he(n==="image"?"BOOT_IMAGE_TOO_LARGE":"BOOT_VIDEO_TOO_LARGE",n==="image"?"\u8BF7\u9009\u62E9\u4E0D\u8D85\u8FC720 MB\u7684PNG\u3001JPEG\u6216WebP\u56FE\u7247\u3002":"\u89C6\u9891\u5E94\u5927\u4E8E 0 \u5B57\u8282\uFF0C\u4E14\u4E0D\u8D85\u8FC7 200 MB\u3002")}r(_r,"validateMediaFile");function Lr(e,n,{signal:t,documentImpl:i=globalThis.document,ImageImpl:s=globalThis.Image,urlImpl:d=globalThis.URL}={}){return new Promise((u,f)=>{if(t?.aborted){f(bn());return}let o,l,m,c=!1,w=r(()=>{clearTimeout(m),t?.removeEventListener("abort",A),o&&(o.onload=o.onloadeddata=o.onerror=null,n==="video"?(o.removeAttribute("src"),o.load()):o.src=""),l&&d.revokeObjectURL(l)},"cleanup"),h=r(y=>{c||(c=!0,w(),y?f(y):u())},"finish"),A=r(()=>h(bn()),"abort"),I=r(()=>h(he(n==="image"?"BOOT_IMAGE_DECODE":"BOOT_VIDEO_DECODE",n==="image"?"\u65E0\u6CD5\u8BFB\u53D6\u8FD9\u5F20\u56FE\u7247\uFF0C\u8BF7\u66F4\u6362\u6709\u6548\u7684PNG\u3001JPEG\u6216WebP\u3002":"\u6D4F\u89C8\u5668\u65E0\u6CD5\u8BFB\u53D6\u6B64\u89C6\u9891\u3002\u8BF7\u8F6C\u6362\u4E3A MP4\uFF08H.264 / AAC\uFF09\u540E\u91CD\u8BD5\u3002")),"fail");try{o=n==="image"?new s:i.createElement("video"),l=d.createObjectURL(e),t?.addEventListener("abort",A,{once:!0}),m=setTimeout(I,n==="image"?1e4:12e3),o.onerror=I,n==="image"?o.onload=()=>h():(o.onloadeddata=()=>h(),o.preload="auto"),o.src=l,n==="video"&&o.load()}catch{I()}})}r(Lr,"probeMediaFile");function Pr(e,n,{signal:t,basePath:i,onProgress:s,xhrFactory:d}){return new Promise((u,f)=>{if(t.aborted){f(bn());return}let o=d(),l=!1,m,c,w=0,h=!1,A=Ce[En[n].timeout],I=r((M,P)=>{l||(l=!0,clearTimeout(m),clearTimeout(c),t.removeEventListener("abort",R),o.onload=o.onerror=o.ontimeout=o.onabort=null,o.upload.onprogress=o.upload.onload=null,M?f(M):u(P))},"finish"),y=r(M=>{if(!l){I(M);try{o.abort()}catch{}}},"stop"),R=r(()=>y(bn()),"abort"),B=r(()=>y(he("BOOT_UPLOAD_TIMEOUT","\u4E0A\u4F20\u7B49\u5F85\u8D85\u65F6\uFF0C\u8BF7\u91CD\u8BD5\u3002")),"timeout"),O=r(()=>{clearTimeout(m),m=setTimeout(B,A)},"touch"),V=r(()=>{l||h||(h=!0,O())},"waitForResponse");t.addEventListener("abort",R,{once:!0}),o.open("POST",i+En[n].path),o.setRequestHeader("x-dsh-boot-studio","1"),o.setRequestHeader("x-file-name",encodeURIComponent(e.name)),o.setRequestHeader("content-type",e.type||"application/octet-stream"),o.upload.onprogress=M=>{if(l||h||!Number.isFinite(M.loaded))return;let P=Math.min(e.size,Math.max(0,M.loaded));P<=w||(w=P,O(),M.lengthComputable&&Number.isFinite(M.total)&&M.total>0&&s?.(Math.min(100,Math.round(P/M.total*100))),P===e.size&&V())},o.upload.onload=V,o.onload=()=>{try{I(null,Nn(o.responseText,{status:o.status,contentType:o.getResponseHeader("content-type")}))}catch(M){I(M)}},o.onerror=()=>I(he("BOOT_UPLOAD_INTERRUPTED","\u4E0A\u4F20\u4E2D\u65AD\uFF0C\u8BF7\u91CD\u8BD5\u3002")),o.ontimeout=B,o.onabort=()=>I(bn());try{O(),c=setTimeout(B,Ir),o.send(e)}catch{I(he("BOOT_UPLOAD_INTERRUPTED","\u4E0A\u4F20\u4E2D\u65AD\uFF0C\u8BF7\u91CD\u8BD5\u3002"))}})}r(Pr,"sendMedia");function $t(e,{kind:n="video",maxBytes:t=En[n]?.maxBytes,basePath:i=Ue,onPhase:s,onProgress:d,probe:u=Lr,xhrFactory:f=r(()=>new XMLHttpRequest,"xhrFactory")}={}){let o=new AbortController;return{promise:Promise.resolve().then(async()=>{if(_r(e,n,t),s?.("probe"),await u(e,n,{signal:o.signal}),o.signal.aborted)throw bn();return s?.("upload"),d?.(0),Pr(e,n,{signal:o.signal,basePath:i,onProgress:d,xhrFactory:f})}),cancel:r(()=>o.abort(),"cancel")}}r($t,"createMediaUpload");var T=ye(require("react"),1);var Fn="M48.8354 10.0479C48.3232 9.79199 48.1025 10.2798 47.8032 10.5278C47.7007 10.6079 47.6143 10.7119 47.5273 10.8076C46.7793 11.624 45.9048 12.1597 44.7622 12.0957C43.0923 12 41.666 12.5356 40.4058 13.8398C40.1377 12.2319 39.2476 11.272 37.8926 10.6558C37.1836 10.3359 36.4668 10.0156 35.9702 9.31982C35.6235 8.82373 35.5293 8.27197 35.356 7.72754C35.2456 7.3999 35.1353 7.06396 34.7651 7.00781C34.3633 6.94385 34.2056 7.2876 34.0479 7.57568C33.418 8.75195 33.1733 10.0479 33.1973 11.3599C33.2524 14.312 34.4736 16.6641 36.8999 18.3359C37.1758 18.5278 37.2466 18.7197 37.1597 19C36.9946 19.5757 36.7974 20.1357 36.624 20.7119C36.5137 21.0801 36.3486 21.1597 35.9624 21C34.6309 20.4321 33.481 19.5918 32.4644 18.5757C30.7393 16.8721 29.1792 14.9917 27.2334 13.52C26.7764 13.1758 26.3193 12.856 25.8467 12.5518C23.8618 10.584 26.1069 8.96777 26.627 8.77588C27.1704 8.57568 26.8159 7.8877 25.0591 7.896C23.3022 7.90381 21.6953 8.50391 19.647 9.30371C19.3477 9.42383 19.0322 9.51172 18.7095 9.58398C16.8501 9.22363 14.9199 9.14355 12.9033 9.37598C9.10596 9.80762 6.07275 11.6396 3.84326 14.7681C1.16455 18.5278 0.53418 22.7998 1.30664 27.2559C2.11768 31.9521 4.46582 35.8398 8.07373 38.8799C11.8159 42.0322 16.1255 43.5762 21.041 43.2803C24.0269 43.104 27.3516 42.6963 31.1016 39.4561C32.0469 39.936 33.0396 40.1279 34.686 40.272C35.9546 40.3921 37.1758 40.208 38.1211 40.0078C39.6021 39.688 39.4995 38.2881 38.9639 38.0322C34.623 35.9678 35.5762 36.8081 34.71 36.1279C36.9155 33.4639 40.2402 30.6958 41.54 21.728C41.6426 21.0161 41.5557 20.5679 41.54 19.9917C41.5322 19.6396 41.6108 19.5039 42.0049 19.4639C43.0923 19.3359 44.1479 19.0317 45.1167 18.4878C47.9292 16.9199 49.064 14.3438 49.3315 11.2559C49.3711 10.7837 49.3237 10.2959 48.8354 10.0479ZM24.3262 37.8398C20.1196 34.4639 18.0791 33.3521 17.2358 33.3999C16.4482 33.4482 16.5898 34.3682 16.7632 34.9678C16.9443 35.5601 17.1812 35.9683 17.5117 36.4878C17.7402 36.832 17.8979 37.3442 17.2832 37.728C15.9282 38.584 13.5728 37.4399 13.4624 37.3838C10.7207 35.7358 8.42822 33.5601 6.81348 30.584C5.25342 27.7197 4.34766 24.6479 4.19775 21.3677C4.1582 20.5757 4.38672 20.2959 5.15869 20.1519C6.17529 19.96 7.22314 19.9199 8.23926 20.0718C12.5327 20.7119 16.1885 22.6719 19.2529 25.7759C21.002 27.5439 22.3252 29.6558 23.6885 31.7202C25.1377 33.9121 26.6978 36 28.6831 37.7119C29.3843 38.312 29.9434 38.7681 30.479 39.104C28.8643 39.2881 26.1699 39.3281 24.3262 37.8398ZM26.3433 24.6001C26.3433 24.248 26.6191 23.9678 26.9658 23.9678C27.0444 23.9678 27.1152 23.9839 27.1782 24.0078C27.2651 24.04 27.3438 24.0879 27.4067 24.1602C27.5171 24.272 27.5801 24.4321 27.5801 24.6001C27.5801 24.9521 27.3042 25.2319 26.9575 25.2319C26.6108 25.2319 26.3433 24.9521 26.3433 24.6001ZM32.6064 27.8799C32.2046 28.0479 31.8027 28.1919 31.4165 28.208C30.8179 28.2397 30.1641 27.9922 29.8096 27.688C29.2583 27.2158 28.8643 26.9521 28.6987 26.1279C28.6279 25.7759 28.6675 25.2319 28.7305 24.9199C28.8721 24.248 28.7144 23.8159 28.2495 23.4238C27.8716 23.104 27.3911 23.0161 26.8633 23.0161C26.666 23.0161 26.4849 22.9277 26.3511 22.856C26.1304 22.7441 25.9492 22.4639 26.1226 22.1201C26.1777 22.0078 26.4458 21.7358 26.5088 21.688C27.2256 21.272 28.0527 21.4077 28.8169 21.7197C29.5259 22.0161 30.0615 22.5601 30.834 23.3281C31.6216 24.2559 31.7632 24.5117 32.2124 25.208C32.5669 25.752 32.8901 26.312 33.1104 26.9521C33.2446 27.3521 33.0713 27.6802 32.6064 27.8799Z";function Yt({state:e,settings:n,busy:t,preview:i,save:s,remove:d,pendingDelete:u,setPendingDelete:f,input:o,upload:l}){let m=ne();return T.default.createElement(T.default.Fragment,null,T.default.createElement("div",{className:"bs-library"},e.clips.map((c,w)=>T.default.createElement("article",{key:c.id,className:`bs-clip ${c.id===n.selectedId?"is-selected":""}`},T.default.createElement("button",{type:"button",className:`bs-thumbnail bs-tone-${w%4}`,"aria-label":m(`\u9884\u89C8 ${fe(c)}`,`Preview ${fe(c)}`),onClick:()=>i(c,n,!1,!0),disabled:t},c.kind==="sequence"?T.default.createElement("div",{className:"bs-sequence-thumb"},T.default.createElement("svg",{viewBox:"0 0 50 50","aria-hidden":"true"},T.default.createElement("path",{d:Fn})),T.default.createElement("span",null,"DEEPSEEK"),T.default.createElement("small",null,"TECHNICAL DOSSIER")):T.default.createElement("video",{src:c.url+"#t=0.4",muted:!0,playsInline:!0,preload:"metadata",tabIndex:-1}),T.default.createElement("span",{className:"bs-thumbnail-shade"}),T.default.createElement("span",{className:"bs-play-icon"},"\u25B6"),T.default.createElement("span",{className:"bs-clip-number"},String(w+1).padStart(2,"0")),T.default.createElement("span",{className:"bs-badge"},c.kind==="sequence"?m("\u7A0B\u5E8F\u52A8\u753B","Animated sequence"):c.source==="builtin"?m("\u5185\u7F6E","Built-in"):m("\u6211\u7684\u89C6\u9891","My video"))),T.default.createElement("div",{className:"bs-clip-info"},T.default.createElement("h3",null,fe(c)),T.default.createElement("span",null,c.kind==="sequence"?m("\u539F\u7248\u89C6\u89C9\u5E8F\u5217","Original visual sequence"):(c.bytes/1048576).toFixed(1)+" MB")),T.default.createElement("div",{className:"bs-clip-actions"},T.default.createElement("button",{type:"button",className:c.id===n.selectedId?"bs-selected":"",onClick:()=>s({selectedId:c.id}),disabled:t||c.id===n.selectedId},c.id===n.selectedId?m("\u2713 \u5F53\u524D\u52A8\u753B","\u2713 Selected"):m("\u4F7F\u7528\u6B64\u52A8\u753B","Use this animation")),c.source==="upload"&&T.default.createElement("button",{className:"bs-delete","aria-label":m(`\u5220\u9664 ${fe(c)}`,`Delete ${fe(c)}`),disabled:t,onClick:()=>f(c)},m("\u79FB\u9664","Remove"))),u?.id===c.id&&T.default.createElement("div",{className:"bs-delete-confirm"},m("\u79FB\u9664\u6B64\u89C6\u9891\uFF1F","Remove this video?"),T.default.createElement("button",{type:"button",disabled:t,onClick:()=>d(c)},m("\u786E\u8BA4\u79FB\u9664","Confirm removal")),T.default.createElement("button",{type:"button",onClick:()=>f(null)},m("\u53D6\u6D88","Cancel"))))),T.default.createElement("button",{type:"button",className:"bs-upload",disabled:t,onClick:()=>o.current?.click(),onDragOver:c=>c.preventDefault(),onDrop:c=>{c.preventDefault(),l(c.dataTransfer.files?.[0])}},T.default.createElement("span",null,"\uFF0B"),T.default.createElement("strong",null,m("\u4E0A\u4F20\u6211\u7684\u89C6\u9891","Upload my video")),T.default.createElement("small",null,m("\u70B9\u51FB\u9009\u62E9\uFF0C\u6216\u5C06\u89C6\u9891\u62D6\u5230\u8FD9\u91CC","Click to select or drop a video here")),T.default.createElement("small",null,"MP4 / WebM / M4V \xB7 \u2264 200 MB"))),e.storage&&e.maxCustomMediaBytes>0&&e.maxCustomMediaFiles>0&&T.default.createElement("p",{className:"bs-hint",role:"status"},m(`\u4E2A\u4EBA\u7D20\u6750\u5DF2\u7528 ${(e.storage.bytes/1048576).toFixed(1)} / ${(e.maxCustomMediaBytes/1048576).toFixed(0)} MB\uFF08${e.storage.files} / ${e.maxCustomMediaFiles} \u4E2A\uFF09\u3002\u89C6\u9891\u4E0E\u56FE\u7247\u5171\u7528\u989D\u5EA6\uFF0C\u79FB\u9664\u4E0D\u7528\u7684\u7D20\u6750\u53EF\u91CA\u653E\u7A7A\u95F4\u3002`,`Custom media: ${(e.storage.bytes/1048576).toFixed(1)} / ${(e.maxCustomMediaBytes/1048576).toFixed(0)} MB (${e.storage.files} / ${e.maxCustomMediaFiles} files). Videos and images share this limit. Remove unused media to free space.`)),T.default.createElement("input",{ref:o,type:"file",accept:".mp4,.m4v,.webm,video/mp4,video/webm","aria-label":m("\u4E0A\u4F20\u5F00\u673A\u89C6\u9891","Upload startup video"),hidden:!0,onChange:c=>{l(c.target.files?.[0]),c.target.value=""}}))}r(Yt,"VideoLibrary");function Zt({state:e,settings:n,busy:t,preview:i,save:s,imageInput:d,uploadEndImage:u,removeEndImage:f,pendingImageDelete:o,setPendingImageDelete:l,EndTitleComponent:m}){let c=ne(),w=r((h={})=>i(null,{...n,...h},!0),"previewEnding");return T.default.createElement(T.default.Fragment,null,T.default.createElement("div",{className:"bs-preferences bs-ending-settings"},T.default.createElement("div",{className:"bs-field bs-ending-header"},T.default.createElement("h2",null,c("\u7ED3\u675F\u505C\u7559\u753B\u9762","Ending screen")),T.default.createElement("select",{"aria-label":c("\u7ED3\u675F\u753B\u9762\u7C7B\u578B","Ending screen type"),disabled:t,value:n.endScreen||"logo",onChange:h=>{if(h.target.value==="image"&&!n.endImageId){d.current?.click();return}s({endScreen:h.target.value})}},T.default.createElement("option",{value:"logo"},c("\u5185\u7F6E\u753B\u9762","Built-in screens")),T.default.createElement("option",{value:"image"},c("\u6211\u7684\u56FE\u7247","My images")))),!!e.logos?.length&&T.default.createElement("div",{className:"bs-logo-options"},e.logos.map(h=>{let A=n.endScreen==="logo"&&n.logoVariant===h.id;return T.default.createElement("article",{className:`bs-end-card ${A?"is-selected":""}`,key:h.id},T.default.createElement("button",{type:"button",className:"bs-end-preview",disabled:t,"aria-label":c(`\u9884\u89C8\u5185\u7F6E\u7ED3\u675F\u753B\u9762 ${fe(h)}`,`Preview built-in ending screen ${fe(h)}`),onClick:()=>w({endScreen:"logo",logoVariant:h.id})},T.default.createElement("img",{src:h.url,alt:"",style:{objectFit:h.fit||"cover"}}),T.default.createElement("span",null,fe(h))),T.default.createElement("div",{className:"bs-clip-actions"},T.default.createElement("button",{type:"button",className:A?"bs-selected":"",disabled:t||A,"aria-pressed":A,"aria-label":c(`\u4F7F\u7528\u5185\u7F6E\u7ED3\u675F\u753B\u9762 ${fe(h)}`,`Use built-in ending screen ${fe(h)}`),onClick:()=>s({endScreen:"logo",logoVariant:h.id})},A?c("\u2713 \u5F53\u524D\u753B\u9762","\u2713 Selected"):c("\u4F7F\u7528\u6B64\u753B\u9762","Use this screen"))))})),T.default.createElement("div",{className:"bs-ending-preview"},T.default.createElement("button",{type:"button",className:"bs-ending-mini",disabled:t,"aria-label":c("\u9884\u89C8\u5F53\u524D\u7ED3\u675F\u753B\u9762","Preview current ending screen"),onClick:()=>w()},T.default.createElement(m,{settings:n})),T.default.createElement("div",null,T.default.createElement("strong",null,n.endScreen==="image"?c("\u6211\u7684\u56FE\u7247","My image"):fe(e.logos?.find(h=>h.id===n.logoVariant))||c("DeepSeek \u6807\u5FD7","DeepSeek logo")),T.default.createElement("button",{type:"button",className:"bs-primary",disabled:t,onClick:()=>d.current?.click()},c("\u4E0A\u4F20\u7ED3\u675F\u56FE\u7247","Upload ending image")),T.default.createElement("small",null,"PNG / JPEG / WebP \xB7 \u2264 20 MB"))),n.endScreen==="image"&&T.default.createElement("label",{className:"bs-field"},T.default.createElement("span",null,c("\u7ED3\u675F\u56FE\u7247\u663E\u793A","Image fit")),T.default.createElement("select",{"aria-label":c("\u7ED3\u675F\u56FE\u7247\u663E\u793A","Image fit"),value:n.endFit||"cover",disabled:t,onChange:h=>s({endFit:h.target.value})},T.default.createElement("option",{value:"contain"},c("\u5B8C\u6574\u663E\u793A","Fit entire image")),T.default.createElement("option",{value:"cover"},c("\u94FA\u6EE1\u7A97\u53E3","Fill window")))),!!e.endImages?.length&&T.default.createElement("div",{className:"bs-end-library"},e.endImages.map(h=>T.default.createElement("div",{className:`bs-end-card ${n.endScreen==="image"&&n.endImageId===h.id?"is-selected":""}`,key:h.id},T.default.createElement("button",{type:"button",className:"bs-end-preview",disabled:t,"aria-label":c(`\u9884\u89C8\u7ED3\u675F\u56FE\u7247 ${h.name}`,`Preview ending image ${h.name}`),onClick:()=>w({endImageId:h.id,endScreen:"image"})},T.default.createElement("img",{src:h.url,alt:""}),T.default.createElement("span",null,h.name)),T.default.createElement("div",{className:"bs-clip-actions"},T.default.createElement("button",{type:"button",disabled:t||n.endScreen==="image"&&n.endImageId===h.id,className:n.endScreen==="image"&&n.endImageId===h.id?"bs-selected":"","aria-pressed":n.endScreen==="image"&&n.endImageId===h.id,"aria-label":c(`\u4F7F\u7528\u7ED3\u675F\u56FE\u7247 ${h.name}`,`Use ending image ${h.name}`),onClick:()=>s({endImageId:h.id,endScreen:"image"})},n.endScreen==="image"&&n.endImageId===h.id?c("\u2713 \u5F53\u524D\u753B\u9762","\u2713 Selected"):c("\u4F7F\u7528\u6B64\u753B\u9762","Use this screen")),o!==h.id&&T.default.createElement("button",{type:"button",disabled:t,className:"bs-delete","aria-label":c(`\u79FB\u9664\u7ED3\u675F\u56FE\u7247 ${h.name}`,`Remove ending image ${h.name}`),onClick:()=>l(h.id)},c("\u79FB\u9664","Remove"))),o===h.id?T.default.createElement("div",{className:"bs-end-delete-confirm"},T.default.createElement("button",{type:"button",disabled:t,onClick:()=>f(h)},c("\u786E\u8BA4\u79FB\u9664","Confirm removal")),T.default.createElement("button",{type:"button",onClick:()=>l(null)},c("\u53D6\u6D88","Cancel"))):null)))),T.default.createElement("input",{ref:d,type:"file",accept:".png,.jpg,.jpeg,.webp,image/png,image/jpeg,image/webp","aria-label":c("\u4E0A\u4F20\u7ED3\u675F\u56FE\u7247","Upload ending image"),hidden:!0,onChange:h=>{u(h.target.files?.[0]),h.target.value=""}}))}r(Zt,"EndingSettings");var U=ye(require("react"),1);var rn=ye(require("react"),1);var Kt=`/* ============================================================================\r
389
+ `;var Ht="dsh-boot-studio-style",Bt=2026102603;function Nr(e){let n=2166136261;for(let t=0;t<e.length;t++)n=Math.imul(n^e.charCodeAt(t),16777619);return(n>>>0).toString(16)}r(Nr,"fingerprint");function Ut(e){if(!e?.head)return null;let n=e.getElementById(Ht);return n||(n=e.createElement("style"),n.id=Ht,e.head.appendChild(n)),(Number(n.getAttribute("data-lewis-style-revision"))||0)>Bt||(n.textContent!==Rn&&(n.textContent=Rn),n.setAttribute("data-lewis-style-revision",String(Bt)),n.setAttribute("data-lewis-style-fingerprint",Nr(Rn))),n}r(Ut,"ensureStudioStyles");function xe(){(0,Rt.useLayoutEffect)(()=>{Ut(document)},[])}r(xe,"useStudioStyles");var de=ye(require("react"),1);var D=ye(require("react"),1);var fn=require("react");function be(){let e=en(),n=Ct(document),[t,i]=(0,fn.useState)(()=>e.getSnapshot()),[s,d]=(0,fn.useState)(()=>n.getSnapshot());return(0,fn.useLayoutEffect)(()=>{let u=r(()=>i(e.getSnapshot()),"refresh"),f=e.subscribe(u);return u(),f},[e]),(0,fn.useLayoutEffect)(()=>{let u=r(()=>d(n.getSnapshot()),"refresh"),f=n.subscribe(u);return u(),f},[n]),Nt(t.theme,s)}r(be,"useEnchantAppearance");var at=ye(require("react"),1);function Ze(){return at.default.createElement("svg",{className:"bs-close-icon",viewBox:"0 0 24 24",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round","aria-hidden":"true",focusable:"false"},at.default.createElement("path",{d:"m6 6 12 12M18 6 6 18"}))}r(Ze,"CloseIcon");var tn=ye(require("react"),1);var it=r(e=>`${(e/1e6).toFixed(2)} MB`,"mb");function qt({progress:e={},completed:n=!1}){let t=ne(),i=n?"complete":e.phase,s=i==="downloading",d=Number.isFinite(e.totalBytes)&&e.totalBytes>0,u=Number.isFinite(e.downloadedBytes)&&e.downloadedBytes>=0?e.downloadedBytes:0,f=s&&d,o=e.fromCache===!0,l=n?100:f?Math.min(99,Math.max(0,Math.floor(u/e.totalBytes*100))):null,m=n?t("\u66F4\u65B0\u5B8C\u6210","Update complete"):i==="install"?t("\u6B63\u5728\u5E94\u7528\u66F4\u65B0","Applying update"):i==="verifying"?o?t("\u6B63\u5728\u6821\u9A8C\u7F13\u5B58","Verifying cached update"):t("\u6B63\u5728\u6821\u9A8C\u66F4\u65B0\u5305","Verifying update package"):i==="ready"?t("\u66F4\u65B0\u5305\u5DF2\u5C31\u7EEA","Update package ready"):s?t("\u6B63\u5728\u4E0B\u8F7D\u66F4\u65B0\u5305","Downloading update package"):t("\u6B63\u5728\u51C6\u5907\u66F4\u65B0","Preparing update"),c;n?c=t("\u89C6\u9891\u3001\u56FE\u7247\u548C\u8BBE\u7F6E\u5DF2\u4FDD\u7559","Videos, images and settings have been kept"):s?c=`${it(u)}${d?` / ${it(e.totalBytes)}`:t(" \xB7 \u6B63\u5728\u63A5\u6536"," \xB7 Receiving")}`:i==="verifying"?c=o?t("\u6B63\u5728\u68C0\u67E5\u7F13\u5B58\u66F4\u65B0\u5305\u7684\u5B8C\u6574\u6027\u3002","Checking cached package integrity."):t("\u4E0B\u8F7D\u5DF2\u5B8C\u6210\uFF0C\u6B63\u5728\u68C0\u67E5\u5B89\u88C5\u5305\u7684\u5B8C\u6574\u6027\u3002","Download complete. Checking package integrity."):i==="ready"||i==="install"?(c=o?t("\u590D\u7528\u5DF2\u6821\u9A8C\u66F4\u65B0\u5305\uFF0C\u65E0\u9700\u91CD\u590D\u4E0B\u8F7D\u3002","Reusing the verified update package. No download needed."):i==="ready"?t("\u66F4\u65B0\u5305\u6821\u9A8C\u5B8C\u6210\uFF0C\u6B63\u5728\u51C6\u5907\u5B89\u88C5\u3002","Package verified. Preparing to install."):"",i==="install"&&(c+=`${c?" ":""}${t("\u6B63\u5728\u901A\u8FC7 Harness \u5B89\u5168\u5E94\u7528\u66F4\u65B0\uFF0C\u8BF7\u7A0D\u5019\u3002","Applying the update through Harness. Please wait.")}`)):c=t("\u6B63\u5728\u8FDE\u63A5\u66F4\u65B0\u670D\u52A1\uFF0C\u8BF7\u7A0D\u5019\u3002","Connecting to the update service. Please wait."),!n&&!s&&d&&(c=`${it(e.totalBytes)} \xB7 ${c}`);let w=n?void 0:s?`${u}${d?` / ${e.totalBytes}`:""}`:d?String(e.totalBytes):void 0;return tn.default.createElement("div",{className:"bs-update-progress","data-testid":"update-progress","data-phase":i||"prepare"},tn.default.createElement("div",{className:"bs-update-progress-heading"},tn.default.createElement("span",null,m),l!==null&&tn.default.createElement("strong",null,l,"%")),tn.default.createElement("progress",{"aria-label":n?t("\u66F4\u65B0\u5B8C\u6210","Update complete"):s?t("\u66F4\u65B0\u5305\u4E0B\u8F7D\u8FDB\u5EA6","Update package download progress"):m,max:"100",...l!==null?{value:l}:{}}),tn.default.createElement("div",{className:"bs-update-progress-detail",title:w===void 0?void 0:`${w} ${t("\u5B57\u8282","bytes")}`},c))}r(qt,"UpdateProgress");function qn({request:e,status:n={},onDismiss:t,onUpdated:i,preview:s=!1,kind:d="update",checkError:u,install:f}){let o=ne();xe();let l=be(),m=(0,D.useRef)(null),c=(0,D.useRef)(!0),w=(0,D.useRef)(!1),[h,A]=(0,D.useState)(!1),[I,y]=(0,D.useState)({phase:"prepare",downloadedBytes:0,totalBytes:null}),[R,B]=(0,D.useState)(""),[O,V]=(0,D.useState)(()=>d==="update"?St(n):null),M=(0,D.useCallback)(()=>{w.current||(O&&!s&&i?.(O.version,O.result),t?.())},[O,t,i,s]);(0,D.useEffect)(()=>{c.current=!0;let C=m.current,F=document.activeElement;return typeof C.showModal=="function"?C.open||C.showModal():C.setAttribute("open",""),()=>{c.current=!1,C.open&&typeof C.close=="function"&&C.close(),F?.isConnected&&F.focus?.()}},[]);async function P(){if(!(s||w.current||O||R?.uncertain||!Le(n))){w.current=!0,A(!0),B("");try{let C=await Xn(e,n,{install:f,onProgress:r(F=>{c.current&&y(F)},"onProgress")});c.current&&V(C)}catch(C){c.current&&B(C||"\u66F4\u65B0\u672A\u5B8C\u6210\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002")}finally{w.current=!1,c.current&&A(!1)}}}r(P,"accept");let a=d==="error",$=d==="current",re=typeof n.manifest?.releaseNotes=="string"?n.manifest.releaseNotes:"",me=typeof n.manifest?.releaseNotesEn=="string"&&n.manifest.releaseNotesEn.trim()?n.manifest.releaseNotesEn:re,pe=o(re,me),g=$?o("\u5DF2\u7ECF\u662F\u6700\u65B0\u7248\u672C","You are up to date"):a?o("\u6682\u65F6\u65E0\u6CD5\u68C0\u67E5\u66F4\u65B0\u3002","Unable to check for updates."):O?o("\u65B0\u7684\u5F00\u573A\uFF0C\u5DF2\u51C6\u5907\u5C31\u7EEA\u3002","Your new opening is ready."):o("\u51C6\u5907\u597D\u65B0\u7684\u5F00\u573A","A new opening awaits"),x=$?o("\u4F60\u7684\u5F00\u673A\u52A8\u753B\u5DF2\u662F\u6700\u65B0\uFF0C\u5FEB\u53BB\u4F53\u9A8C\u5427","Your startup animation is up to date. Enjoy!"):a?ze(u||(n.message?n:o("\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5\uFF0C\u7A0D\u540E\u518D\u8BD5\u3002","Check your network connection and try again later."))):s?o("\u8FD9\u91CC\u53EA\u9884\u89C8\u5F39\u7A97\u5916\u89C2\uFF0C\u4E0D\u4F1A\u4E0B\u8F7D\u6216\u5B89\u88C5\u66F4\u65B0\u3002","This preview only shows the dialog. No updates will be downloaded or installed."):O?o("\u66F4\u65B0\u5DF2\u5B8C\u6210\uFF0C\u8BF7\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u65B0\u6253\u5F00 Harness\uFF0C\u4EE5\u5E94\u7528\u65B0\u7248\u672C\u3002","Update complete. Fully quit and reopen Harness to apply the new version."):o("\u53D1\u73B0\u5F00\u673A\u52A8\u753B\u7684\u65B0\u7248\u672C\uFF0C\u4E3A\u4E0B\u4E00\u6B21\u542F\u52A8\u6DFB\u4E00\u70B9\u65B0\u610F","A new startup animation version is available for your next launch.");return D.default.createElement("dialog",{ref:m,className:"bs-startup-update","data-testid":"startup-update","data-kind":d,"data-preview":s||void 0,...l,"aria-labelledby":"bs-startup-update-title","aria-describedby":"bs-startup-update-description",onCancel:C=>{C.preventDefault(),M()}},D.default.createElement("div",{className:"bs-startup-update-card"},D.default.createElement("button",{className:"bs-startup-update-close",type:"button","aria-label":o("\u5173\u95ED\u66F4\u65B0\u63D0\u793A","Close update notification"),disabled:h,onClick:M},D.default.createElement(Ze,null)),D.default.createElement("div",{className:"bs-startup-update-glyph","aria-hidden":"true"},$?"\u2713":a?"!":"\u2727"),D.default.createElement("p",{className:"bs-startup-update-brand"},"DSH LEWIS ENCHANTMENT",s&&D.default.createElement("span",null,o(" \xB7 \u66F4\u65B0\u63D0\u9192\u5916\u89C2\u9884\u89C8"," \xB7 Update notification preview"))),D.default.createElement("h2",{id:"bs-startup-update-title"},g),D.default.createElement("p",{id:"bs-startup-update-description",className:"bs-startup-update-copy"},x),$?D.default.createElement("div",{className:"bs-startup-update-versions"},D.default.createElement("strong",null,n.currentVersion?`v${n.currentVersion}`:o("\u7248\u672C\u4FE1\u606F\u6682\u4E0D\u53EF\u7528","Version unavailable")),D.default.createElement("span",null,o("\u5F53\u524D\u7248\u672C","Current version"))):!a&&D.default.createElement("div",{className:"bs-startup-update-versions"},D.default.createElement("span",null,n.currentVersion?`v${n.currentVersion}`:o("\u5F53\u524D\u7248\u672C","Current version")),D.default.createElement("span",{"aria-hidden":"true"},"\u2192"),D.default.createElement("strong",null,n.latestVersion?`v${n.latestVersion}`:s?o("\u540E\u7EED\u7248\u672C","Future version"):o("\u65B0\u7248\u672C","New version"))),!a&&!$&&!h&&!O&&D.default.createElement("div",{className:"bs-release-notes","aria-label":o("\u672C\u6B21\u66F4\u65B0","What\u2019s new")},D.default.createElement("h3",null,o("\u672C\u6B21\u66F4\u65B0","What\u2019s new")),pe.trim()?D.default.createElement("p",null,pe):D.default.createElement("p",{className:"bs-release-notes-empty"},s?o("\u66F4\u65B0\u8BF4\u660E\u5F85\u4F5C\u8005\u586B\u5199\uFF08\u4EC5\u672C\u5730\u9884\u89C8\uFF09","Awaiting the author\u2019s release notes (local preview only)"):o("\u6B64\u7248\u672C\u672A\u63D0\u4F9B\u66F4\u65B0\u8BF4\u660E\u3002","No release notes were provided for this version."))),!a&&!$&&!O&&D.default.createElement("p",{className:"bs-startup-update-restart"},o("\u66F4\u65B0\u5B8C\u6210\u540E\uFF0C\u8BF7\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u65B0\u6253\u5F00 Harness\uFF0C\u4EE5\u5E94\u7528\u65B0\u7248\u672C\u3002","After updating, fully quit and reopen Harness to apply the new version.")),!a&&!$&&!O&&D.default.createElement("p",{className:"bs-startup-update-retain"},o("\u4F60\u7684\u89C6\u9891\u3001\u56FE\u7247\u548C\u8BBE\u7F6E\u90FD\u4F1A\u4FDD\u7559","Your videos, images and settings will be kept")),(h||O)&&D.default.createElement(qt,{progress:I,completed:!!O}),R&&D.default.createElement("p",{className:"bs-startup-update-error",role:"alert"},ze(R)),R?.code?.startsWith("BOOT_HARNESS_INSTALL")&&vt()&&D.default.createElement("button",{type:"button",disabled:h,onClick:()=>{yt(n.packageName)&&t?.()}},o("\u6253\u5F00\u63D2\u4EF6\u7BA1\u7406","Open plugin manager")),D.default.createElement("div",{className:"bs-startup-update-actions"},$||a?D.default.createElement("button",{className:"bs-startup-update-primary",type:"button",onClick:M},o("\u77E5\u9053\u4E86","Got it")):s?D.default.createElement("button",{className:"bs-startup-update-primary",type:"button",onClick:M},o("\u5173\u95ED\u9884\u89C8","Close preview")):O?D.default.createElement("button",{className:"bs-startup-update-primary",type:"button",disabled:h,onClick:M},o("\u77E5\u9053\u4E86","Got it")):D.default.createElement(D.default.Fragment,null,D.default.createElement("button",{type:"button",disabled:h,onClick:M},o("\u7A0D\u540E\u518D\u8BF4","Later")),!R?.uncertain&&D.default.createElement("button",{className:"bs-startup-update-primary",type:"button",disabled:h,onClick:P},h?o("\u6B63\u5728\u66F4\u65B0\u2026","Updating\u2026"):R?o("\u91CD\u8BD5\u66F4\u65B0","Retry update"):o(`\u66F4\u65B0\u5230 ${n.latestVersion}`,`Update to ${n.latestVersion}`))))))}r(qn,"UpdatePrompt");function Vt({request:e,standalone:n=!1,install:t}){let i=ne(),[s,d]=(0,de.useState)(null),[u,f]=(0,de.useState)(!1),[o,l]=(0,de.useState)(null);(0,de.useEffect)(()=>{let w=!0;return e("/updates/status").then(h=>{w&&d(h)}).catch(()=>{}),()=>{w=!1}},[e]);async function m(){if(!u){f(!0);try{Qn(e);let w=await e("/updates/check",{method:"POST",body:"{}"});d(w),l({kind:Le(w)?"update":w?.channelReady?"current":"error",status:w})}catch(w){d(h=>({...h,available:!1,channelReady:!1})),l({kind:"error",status:s||{},message:w||"\u6682\u65F6\u65E0\u6CD5\u68C0\u67E5\u66F4\u65B0\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"})}finally{f(!1)}}}r(m,"check");function c(w){qe.updated(w),d(h=>({...h,available:!1,currentVersion:w}))}return r(c,"updated"),de.default.createElement("div",{className:"bs-update-area","data-testid":"update-panel"},de.default.createElement("div",{className:"bs-section-title"},de.default.createElement("h2",null,i("\u7248\u672C\u4E0E\u66F4\u65B0","Version and updates")),de.default.createElement("span",null,s?.currentVersion?`v${s.currentVersion}`:"DSH LEWIS ENCHANTMENT")),de.default.createElement("div",{className:"bs-update-card"},de.default.createElement("div",null,de.default.createElement("strong",null,i("\u4E00\u6B21\u5B89\u88C5\uFF0C\u6301\u7EED\u7115\u65B0","Install once, keep it fresh")),de.default.createElement("p",null,i("\u66F4\u65B0\u4F1A\u4FDD\u7559\u4F60\u7684\u89C6\u9891\u3001\u7ED3\u675F\u56FE\u7247\u548C\u64AD\u653E\u504F\u597D\u3002","Updates keep your videos, end screen images and playback preferences.")),n&&de.default.createElement("small",null,i("\u5F53\u524D\u4E3A\u72EC\u7ACB\u9884\u89C8\uFF0C\u68C0\u67E5\u7ED3\u679C\u4EC5\u7528\u4E8E\u5C55\u793A\u3002","This is a standalone preview. Update results are for display only."))),de.default.createElement("div",{className:"bs-update-actions"},de.default.createElement("button",{type:"button",disabled:u,onClick:m},u?i("\u6B63\u5728\u68C0\u67E5\u2026","Checking\u2026"):Le(s)?i("\u67E5\u770B\u66F4\u65B0","View update"):s?.channelReady?i("\u5DF2\u662F\u6700\u65B0","Up to date"):i("\u68C0\u67E5\u66F4\u65B0","Check for updates")))),o&&de.default.createElement(qn,{request:e,status:o.status,kind:o.kind,checkError:o.message,install:t,preview:n&&o.kind==="update"&&!t,onDismiss:()=>l(null),onUpdated:c}))}r(Vt,"UpdatePanel");var K=ye(require("react"),1);function Ft({onCancel:e,onConfirm:n}){let t=ne();xe();let i=be(),s=(0,K.useRef)(null),d=(0,K.useRef)(null),u=(0,K.useRef)(!0),f=(0,K.useRef)(!1),[o,l]=(0,K.useState)(!1),[m,c]=(0,K.useState)("");(0,K.useEffect)(()=>{u.current=!0;let A=s.current,I=document.activeElement;return typeof A.showModal=="function"?A.open||A.showModal():A.setAttribute("open",""),d.current?.focus(),()=>{u.current=!1,A.open&&typeof A.close=="function"&&A.close(),I?.isConnected&&I.focus?.()}},[]);function w(){f.current||e?.()}r(w,"cancel");async function h(){if(!f.current){f.current=!0,l(!0),c("");try{if(typeof n!="function")throw Error("\u6682\u65F6\u65E0\u6CD5\u6062\u590D\u9ED8\u8BA4\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002");await n()}catch(A){u.current&&c(A||"\u6062\u590D\u9ED8\u8BA4\u672A\u5B8C\u6210\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002");return}finally{f.current=!1,u.current&&l(!1)}u.current&&e?.()}}return r(h,"confirm"),K.default.createElement("dialog",{ref:s,className:"bs-startup-update bs-reset-dialog","data-testid":"reset-dialog",...i,"aria-labelledby":"bs-reset-title","aria-describedby":"bs-reset-description bs-reset-warning","aria-busy":o,onCancel:A=>{A.preventDefault(),w()}},K.default.createElement("div",{className:"bs-startup-update-card bs-reset-card"},K.default.createElement("button",{className:"bs-startup-update-close",type:"button","aria-label":t("\u53D6\u6D88\u6062\u590D\u9ED8\u8BA4","Cancel reset"),disabled:o,onClick:w},K.default.createElement(Ze,null)),K.default.createElement("div",{className:"bs-startup-update-glyph bs-reset-glyph","aria-hidden":"true"},"\u21BA"),K.default.createElement("p",{className:"bs-startup-update-brand"},"DSH LEWIS ENCHANTMENT"),K.default.createElement("h2",{id:"bs-reset-title"},t("\u56DE\u5230\u6700\u521D\u7684\u5F00\u573A\uFF1F","Back to the original opening?")),K.default.createElement("p",{id:"bs-reset-description",className:"bs-startup-update-copy"},t("\u6062\u590D\u9ED8\u8BA4\u540E\uFF0C\u5F00\u673A\u52A8\u753B\u5C06\u56DE\u5230\u5B89\u88C5\u65F6\u7684\u72B6\u6001\u3002","Reset the startup animation to its original settings.")),K.default.createElement("div",{className:"bs-startup-update-summary bs-reset-summary"},K.default.createElement("p",null,t("\u5220\u9664\u5168\u90E8\u4E0A\u4F20\u7684\u89C6\u9891\u548C\u56FE\u7247","Delete all uploaded videos and images")),K.default.createElement("p",null,t("\u91CD\u7F6E\u64AD\u653E\u3001\u58F0\u97F3\u53CA\u7ED3\u675F\u753B\u9762\u7B49\u504F\u597D","Reset playback, sound and end screen preferences")),K.default.createElement("p",null,t("\u91CD\u7F6E\u4FA7\u680F\u5FEB\u6377\u5165\u53E3","Reset the sidebar shortcut"))),K.default.createElement("p",{className:"bs-startup-update-retain bs-reset-retain"},t("\u5B89\u88C5\u5305\u81EA\u5E26\u7684\u52A8\u753B\u548C\u5C01\u9762\u4F1A\u4FDD\u7559\u3002","Built-in animations and covers will be kept.")),K.default.createElement("p",{id:"bs-reset-warning",className:"bs-reset-warning"},t("\u6B64\u64CD\u4F5C\u4E0D\u53EF\u64A4\u9500\uFF0C\u8BF7\u5148\u5907\u4EFD\u9700\u8981\u4FDD\u7559\u7684\u7D20\u6750\u3002","This cannot be undone. Back up any media you want to keep first.")),o&&K.default.createElement("p",{className:"bs-startup-update-status",role:"status","aria-live":"polite"},t("\u6B63\u5728\u79FB\u9664\u81EA\u5B9A\u4E49\u7D20\u6750\u5E76\u6062\u590D\u9ED8\u8BA4\u2026","Removing custom media and restoring defaults\u2026")),m&&K.default.createElement("p",{className:"bs-startup-update-error",role:"alert"},ze(m)),K.default.createElement("div",{className:"bs-startup-update-actions bs-reset-actions"},K.default.createElement("button",{ref:d,type:"button",autoFocus:!0,disabled:o,onClick:w},t("\u53D6\u6D88","Cancel")),K.default.createElement("button",{className:"bs-reset-confirm",type:"button",disabled:o,onClick:h},o?t("\u6B63\u5728\u6062\u590D\u2026","Resetting\u2026"):t("\u786E\u8BA4\u6062\u590D\u9ED8\u8BA4","Restore defaults")))))}r(Ft,"ResetDialog");var ge=ye(require("react"),1);function jt({onClose:e}){let n=ne();xe();let t=be(),i=(0,ge.useRef)(null),s=(0,ge.useRef)(null),[d,u]=(0,ge.useState)(!1);(0,ge.useEffect)(()=>{let o=i.current,l=document.activeElement;return typeof o.showModal=="function"?o.open||o.showModal():o.setAttribute("open",""),s.current?.focus(),()=>{o.open&&typeof o.close=="function"&&o.close(),l?.isConnected&&l.focus?.()}},[]);function f(o){if(o.target!==o.currentTarget)return;let l=o.currentTarget.getBoundingClientRect();(o.clientX<l.left||o.clientX>l.right||o.clientY<l.top||o.clientY>l.bottom)&&e()}return r(f,"backdropClick"),ge.default.createElement("dialog",{ref:i,className:"bs-startup-update bs-author-dialog","data-testid":"author-dialog",...t,"aria-label":n("\u4F5C\u8005\u56FE\u7247","Author image"),onCancel:o=>{o.preventDefault(),e()},onClick:f},ge.default.createElement("div",{className:"bs-startup-update-card bs-author-card"},ge.default.createElement("button",{ref:s,className:"bs-startup-update-close",type:"button","aria-label":n("\u5173\u95ED\u4F5C\u8005\u4FE1\u606F","Close author information"),onClick:e},ge.default.createElement(Ze,null)),d?ge.default.createElement("span",{className:"bs-visually-hidden",role:"alert"},n("\u56FE\u7247\u6682\u65F6\u65E0\u6CD5\u663E\u793A\uFF0C\u8BF7\u5173\u95ED\u540E\u91CD\u8BD5\u3002","The image is unavailable. Close this dialog and try again.")):ge.default.createElement("div",{className:"bs-author-image-frame"},ge.default.createElement("img",{className:"bs-author-image",src:`${Ue}/author-image`,alt:n("\u4F5C\u8005\u63D0\u4F9B\u7684\u5FAE\u4FE1\u6536\u6B3E\u7801","WeChat payment QR code provided by the author"),onError:()=>u(!0)}))))}r(jt,"AuthorDialog");var _=ye(require("react"),1);var Vn=null;function Gt(e){return Vn=e,()=>{Vn===e&&(Vn=null)}}r(Gt,"bindTelemetryRuntime");function Sn(){let e=null;try{e=Vn?.modules?.manifest?.release?.version}catch{}return{harnessVersion:typeof e=="string"&&e.length<=64?e:null,locale:document.documentElement.lang||navigator.language||"unknown"}}r(Sn,"telemetryMetadata");function Wt({onClose:e,onStatus:n}){let t=ne();xe();let i=be(),s=(0,_.useRef)(null),d=(0,_.useRef)(null),u=(0,_.useRef)(!0),f=(0,_.useRef)(!1),o=(0,_.useRef)({sequence:0}),[l,m]=(0,_.useState)(null),[c,w]=(0,_.useState)(!1),[h,A]=(0,_.useState)(!1),[I,y]=(0,_.useState)(""),[R,B]=(0,_.useState)(!1);(0,_.useEffect)(()=>{u.current=!0;let x=!0,C=new AbortController,F=o.current,q=s.current,ve=document.activeElement;return typeof q.showModal=="function"?q.open||q.showModal():q.setAttribute("open",""),d.current?.focus(),te("/telemetry",{signal:C.signal}).then(Q=>{x&&(m(Q),n?.(Q))}).catch(()=>{x&&y("load")}),()=>{x=!1,u.current=!1,F.sequence++,C.abort(),q.open&&typeof q.close=="function"&&q.close(),ve?.isConnected&&ve.focus?.()}},[n]);let O=!!(l?.enabled&&(l.reporting||l.lastResult==null));(0,_.useEffect)(()=>{if(!O||h)return;let x=!0,C,F,q=o.current.sequence;B(!1);let ve=r(()=>x&&u.current&&o.current.sequence===q,"current");function Q(){x=!1,clearTimeout(C),F?.abort(),clearTimeout(se)}r(Q,"stop");let se=setTimeout(()=>{ve()&&B(!0),Q()},9e4);function an(){C=setTimeout(async()=>{if(ve()){F=new AbortController;try{let ae=await te("/telemetry",{signal:F.signal});if(!ve())return;m(ae),n?.(ae),ae.enabled&&(ae.reporting||ae.lastResult==null)?an():Q()}catch{ve()&&y("refresh"),Q()}}},1e3)}return r(an,"schedule"),an(),Q},[O,h,n]);async function V(x,C){if(f.current)return;f.current=!0;let F=++o.current.sequence;A(!0),y(""),B(!1);try{let q=await te(x,{method:"POST",body:JSON.stringify(C)});u.current&&F===o.current.sequence&&(m(q),w(!1),n?.(q))}catch{u.current&&F===o.current.sequence&&y("change")}finally{f.current=!1,u.current&&A(!1)}}r(V,"change");let M=r(()=>{f.current||e()},"close"),P=l&&!l.enabled&&l.lastResult?.withdrawn,a=l?.lastResult,$=l?.lastSentAt&&new Date(l.lastSentAt),re=$&&Number.isFinite($.getTime())?$.toLocaleString(t("zh-CN","en-US")):t("\u5C1A\u65E0\u6210\u529F\u4E0A\u62A5","No successful report yet"),me=/^(?:HTTP_[1-5]\d\d|ECONNRESET|ETIMEDOUT|ENOTFOUND|AbortError|TimeoutError|TypeError|Error)$/.test(a?.failureCode||"")?a.failureCode:null,pe=Number.isInteger(a?.httpStatus)&&a.httpStatus>=100&&a.httpStatus<=599?a.httpStatus:null,g=a?.sent===!0?a.accountIdentified===!0?t("\u4E0A\u62A5\u6210\u529F\uFF0C\u5DF2\u8BC6\u522B DeepSeek \u8D26\u6237\u3002","Report sent; the DeepSeek account was identified."):t("\u4E0A\u62A5\u6210\u529F\uFF0C\u4EC5\u5305\u542B\u5B89\u88C5\u6570\u636E\uFF0C\u672A\u8BC6\u522B\u5DF2\u767B\u5F55\u8D26\u6237\u3002","Report sent with installation data only; no signed-in account was identified."):a?.sent===!1?t("\u6700\u8FD1\u4E00\u6B21\u4E0A\u62A5\u672A\u6210\u529F\uFF0C\u53EF\u91CD\u8BD5\u4E0A\u62A5\u3002","The latest report was not sent. You can retry reporting."):null;return _.default.createElement("dialog",{ref:s,className:"bs-startup-update bs-sharing-dialog","data-testid":"data-sharing-dialog",...i,"aria-labelledby":"bs-sharing-title","aria-describedby":"bs-sharing-description bs-sharing-region","aria-busy":h,onCancel:x=>{x.preventDefault(),M()}},_.default.createElement("div",{className:"bs-startup-update-card bs-sharing-card"},_.default.createElement("button",{ref:d,className:"bs-startup-update-close",type:"button",disabled:h,"aria-label":t("\u5173\u95ED\u6570\u636E\u5171\u4EAB\u8BF4\u660E","Close data-sharing notice"),onClick:M},_.default.createElement(Ze,null)),_.default.createElement("p",{className:"bs-startup-update-brand"},"DSH LEWIS ENCHANTMENT"),_.default.createElement("h2",{id:"bs-sharing-title"},t("\u4E0E\u5F00\u53D1\u8005\u5171\u4EAB\u6570\u636E","Share data with the developer")),_.default.createElement("p",{id:"bs-sharing-description",className:"bs-startup-update-copy"},t("\u7531 FerrariLewis \u63A5\u6536\uFF0C\u7528\u4E8E\u4E86\u89E3\u63D2\u4EF6\u4F7F\u7528\u89C4\u6A21\u548C\u7248\u672C\u5206\u5E03\u3002\u9ED8\u8BA4\u5173\u95ED\uFF0C\u62D2\u7EDD\u4E0D\u4F1A\u5F71\u54CD\u4EFB\u4F55\u63D2\u4EF6\u529F\u80FD\u3002","FerrariLewis receives this data to understand plugin usage and version distribution. Sharing is off by default and is optional.")),_.default.createElement("p",{id:"bs-sharing-region",className:"bs-sharing-unconfigured"},t("OpenAI\u4E0D\u652F\u6301\u7684\u5730\u533A\uFF0C\u4E0E\u5F00\u53D1\u8005\u5171\u4EAB\u6570\u636E\u6682\u4E0D\u53EF\u7528\u3002","Sharing data with the developer is currently unavailable in regions not supported by OpenAI.")),_.default.createElement("div",{className:"bs-sharing-notice"},_.default.createElement("h3",null,t("\u4F60\u540C\u610F\u540E\u5C06\u5171\u4EAB","Shared after you agree")),_.default.createElement("ul",null,_.default.createElement("li",null,t("\u5DF2\u767B\u5F55 DeepSeek \u7684\u6635\u79F0\u4E0E\u8D26\u6237\u6807\u8BC6\u3002\u8D26\u6237\u6807\u8BC6\u4F20\u81F3\u63A5\u6536\u670D\u52A1\u540E\u7528\u670D\u52A1\u7AEF\u5BC6\u94A5 HMAC \u53BB\u91CD\uFF0C\u539F\u59CB\u6807\u8BC6\u4E0D\u843D\u76D8\u3002","The signed-in DeepSeek nickname and account ID. The collector derives an HMAC key for deduplication; raw account IDs are not stored.")),_.default.createElement("li",null,t("\u63D2\u4EF6\u53CA Harness \u7248\u672C\u3001\u64CD\u4F5C\u7CFB\u7EDF\u3001\u5904\u7406\u5668\u67B6\u6784\u548C\u754C\u9762\u8BED\u8A00\u3002","Plugin and Harness versions, operating system, processor architecture and interface language.")),_.default.createElement("li",null,t("\u9996\u6B21\u4E0E\u6700\u8FD1\u6D3B\u8DC3\u65F6\u95F4\uFF0C\u4EE5\u53CA\u7528\u4E8E\u53BB\u91CD\u7684\u968F\u673A\u5B89\u88C5\u6807\u8BC6\u3002\u6B63\u5E38\u4F7F\u7528\u4E2D\u6700\u591A\u6BCF\u5929\u81EA\u52A8\u4E0A\u62A5\u4E00\u6B21\u3002","First and most recent activity times and a random installation identifier. Normal automatic reporting is limited to once per day."))),_.default.createElement("p",null,t("\u4E0D\u4F1A\u6536\u96C6\u767B\u5F55\u4EE4\u724C\u3001API Key\u3001\u8054\u7CFB\u65B9\u5F0F\u3001\u804A\u5929\u5185\u5BB9\u6216\u4F59\u989D\uFF1B\u6CA1\u6709\u53EF\u7528\u7684\u4F1A\u5458\u7B49\u7EA7\u63A5\u53E3\uFF0C\u4F1A\u5458\u7B49\u7EA7\u7EDF\u4E00\u672A\u77E5\u3002","Login tokens, API keys, contact information, conversations and balances are excluded. Membership level has no supported data source and remains unknown.")),_.default.createElement("p",null,t("\u672A\u767B\u5F55\u6216\u63A5\u53E3\u4E0D\u53EF\u7528\u65F6\u53EA\u4E0A\u62A5\u5B89\u88C5\u6570\u636E\u3002\u8D26\u6237\u4FE1\u606F\u7531\u5BA2\u6237\u7AEF\u81EA\u62A5\uFF0C\u672A\u7ECF DeepSeek \u8EAB\u4EFD\u9A8C\u8BC1\uFF1B\u8D26\u6237\u6570\u548C\u5B89\u88C5\u6570\u5747\u4E0D\u7B49\u4E8E\u81EA\u7136\u4EBA\u6570\u3002","Without an available signed-in profile, only installation data is reported. Account information is client-reported, not verified by DeepSeek; accounts and installations do not equal people.")),_.default.createElement("p",null,t("\u53EF\u968F\u65F6\u4ECE\u6B64\u5165\u53E3\u505C\u6B62\u5171\u4EAB\u5E76\u8BF7\u6C42\u5220\u9664\u8BE5\u5B89\u88C5\u5173\u8054\u6570\u636E\u3002\u540C\u8D26\u6237\u4ECD\u6709\u5176\u4ED6\u5DF2\u6388\u6743\u5B89\u88C5\u65F6\uFF0C\u5176\u4F59\u5B89\u88C5\u6570\u636E\u4F1A\u4FDD\u7559\u3002","You can stop sharing and request deletion for this installation here. Data from other authorized installations of the same account remains."))),!l&&!I&&_.default.createElement("p",{role:"status"},t("\u6B63\u5728\u8BFB\u53D6\u5171\u4EAB\u72B6\u6001\u2026","Loading sharing status\u2026")),l&&!l.configured&&_.default.createElement("p",{className:"bs-sharing-unconfigured",role:"status"},t("\u5F00\u53D1\u8005\u5C1A\u672A\u914D\u7F6E\u6570\u636E\u63A5\u6536\u670D\u52A1\uFF0C\u5F53\u524D\u4E0D\u4F1A\u53D1\u9001\u4EFB\u4F55\u6570\u636E\u3002","The developer has not configured a collector. No data is currently sent.")),_.default.createElement("p",{className:"bs-sharing-endpoint"},_.default.createElement("a",{href:"https://dsopen-console-lewis.lewiszhouyichen.chatgpt.site",target:"_blank",rel:"noopener noreferrer"},t("\u4F5C\u8005\u540E\u53F0\uFF08\u4EC5\u4F5C\u8005\u53EF\u8BBF\u95EE\uFF09","Author dashboard (author access only)")),_.default.createElement("br",null),t("\u8BF7\u4F7F\u7528\u4F5C\u8005\u7684 OpenAI / ChatGPT \u8D26\u6237\u767B\u5F55\u3002","Sign in with the author's OpenAI / ChatGPT account.")),l?.enabled&&_.default.createElement("div",{className:"bs-sharing-active",role:"status","data-testid":"sharing-report-status"},_.default.createElement("p",null,t("\u6570\u636E\u5171\u4EAB\u5DF2\u5F00\u542F\u3002\u4E4B\u540E\u5C06\u6309\u4E0A\u8FF0\u8303\u56F4\u81EA\u52A8\u4E0A\u62A5\u3002","Sharing is enabled. Future reports follow the scope above.")),(l.reporting||a==null)&&!R&&_.default.createElement("p",null,l.lastSentAt?t("\u6B63\u5728\u4E0A\u62A5\uFF0C\u8BF7\u7A0D\u5019\u2026","Reporting; please wait\u2026"):t("\u9996\u6B21\u4E0A\u62A5\u4E2D\uFF0C\u8BF7\u7A0D\u5019\u2026","Sending the first report; please wait\u2026")),_.default.createElement("p",null,t("\u4E0A\u6B21\u6210\u529F\u4E0A\u62A5\uFF1A","Last successful report: "),re),g&&_.default.createElement("p",null,g),a?.sent===!1&&(me||pe)&&_.default.createElement("p",null,t("\u8BCA\u65AD\u6458\u8981\uFF1A","Diagnostic summary: "),[me,pe&&`HTTP ${pe}`].filter(Boolean).join(" \xB7 ")),R&&_.default.createElement("p",null,t("\u7B49\u5F85\u4E0A\u62A5\u7ED3\u679C\u5DF2\u8D85\u8FC7 90 \u79D2\uFF0C\u8BF7\u7A0D\u540E\u91CD\u65B0\u6253\u5F00\u6B64\u7A97\u53E3\u67E5\u770B\u72B6\u6001\u3002","Waiting for the report exceeded 90 seconds. Reopen this window later to check its status."))),l?.authorizationRequired&&_.default.createElement("p",{role:"status"},t("\u63A5\u6536\u670D\u52A1\u6216\u8BF4\u660E\u5DF2\u53D8\u66F4\uFF0C\u9700\u8981\u91CD\u65B0\u6388\u6743\u3002","The collector or notice changed. Fresh authorization is required.")),l?.withdrawalPending&&_.default.createElement("p",{className:"bs-startup-update-error",role:"status"},t("\u5DF2\u505C\u6B62\u5171\u4EAB\uFF1B\u8FDC\u7A0B\u5220\u9664\u5C1A\u672A\u786E\u8BA4\uFF0C\u8BF7\u91CD\u8BD5\u5220\u9664\u3002","Sharing has stopped. Remote deletion is unconfirmed; retry deletion.")),P&&!l.withdrawalPending&&_.default.createElement("p",{className:"bs-sharing-active",role:"status"},t("\u5DF2\u505C\u6B62\u5171\u4EAB\uFF0C\u5DF2\u786E\u8BA4\u5220\u9664\u8BE5\u5B89\u88C5\u5173\u8054\u7684\u8FDC\u7A0B\u6570\u636E\u3002","Sharing has stopped and deletion of this installation\u2019s remote data is confirmed.")),I&&_.default.createElement("p",{className:"bs-startup-update-error",role:"alert"},I==="load"?t("\u6682\u65F6\u65E0\u6CD5\u8BFB\u53D6\u5171\u4EAB\u72B6\u6001\uFF0C\u8BF7\u5173\u95ED\u540E\u91CD\u8BD5\u3002","Sharing status is unavailable. Close this window and try again."):I==="refresh"?t("\u6682\u65F6\u65E0\u6CD5\u5237\u65B0\u4E0A\u62A5\u72B6\u6001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u65B0\u6253\u5F00\u6B64\u7A97\u53E3\u67E5\u770B\u3002","Report status could not be refreshed. Reopen this window later to check it."):t("\u64CD\u4F5C\u672A\u5B8C\u6210\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5\u540E\u91CD\u8BD5\u3002","The operation did not complete. Check your connection and try again.")),l&&!l.enabled&&!l.withdrawalPending&&_.default.createElement("label",{className:"bs-sharing-consent"},_.default.createElement("input",{type:"checkbox",checked:c,onChange:x=>w(x.target.checked),disabled:!l.configured||h}),_.default.createElement("span",null,t("\u6211\u5DF2\u9605\u8BFB\u5E76\u540C\u610F\u4E0A\u8FF0\u6570\u636E\u8303\u56F4\u3001\u7528\u9014\u548C\u64A4\u56DE\u65B9\u5F0F\u3002","I have read and agree to the data scope, purpose and withdrawal process above."))),_.default.createElement("div",{className:"bs-startup-update-actions"},_.default.createElement("button",{type:"button",disabled:h,onClick:M},t("\u5173\u95ED","Close")),l?.enabled&&_.default.createElement("button",{type:"button",disabled:h||!!l.reporting,onClick:()=>V("/telemetry/retry",Sn())},t("\u91CD\u8BD5\u4E0A\u62A5","Retry reporting")),l&&(l.enabled||l.withdrawalPending||l.authorizationRequired)?_.default.createElement("button",{type:"button",disabled:h,onClick:()=>V("/telemetry/withdraw",{})},h?t("\u6B63\u5728\u5904\u7406\u2026","Processing\u2026"):l.withdrawalPending?t("\u91CD\u8BD5\u5220\u9664","Retry deletion"):t("\u505C\u6B62\u5171\u4EAB\u5E76\u8BF7\u6C42\u5220\u9664","Stop sharing and request deletion")):_.default.createElement("button",{type:"button",className:"bs-startup-update-primary",disabled:!l?.configured||!c||h,onClick:()=>V("/telemetry/consent",{confirmed:!0,policyVersion:l.policyVersion,...Sn()})},h?t("\u6B63\u5728\u4FDD\u5B58\u2026","Saving\u2026"):t("\u540C\u610F\u5E76\u5F00\u542F","Agree and enable")))))}r(Wt,"DataSharingDialog");var En=Object.freeze({video:{extension:/\.(mp4|m4v|webm)$/i,maxBytes:209715200,path:"/upload",timeout:"uploadVideo"},image:{extension:/\.(png|jpe?g|webp)$/i,maxBytes:20971520,path:"/end-images",timeout:"uploadImage"}}),bn=r(()=>he("BOOT_REQUEST_CANCELLED","\u8BF7\u6C42\u5DF2\u53D6\u6D88\u3002"),"cancelled"),Ir=3600*1e3;function _r(e,n,t=En[n]?.maxBytes){let i=En[n];if(!i)throw TypeError("Unknown media kind");if(!e||!i.extension.test(e.name||""))throw he(n==="image"?"BOOT_IMAGE_TYPE":"BOOT_VIDEO_TYPE",n==="image"?"\u8BF7\u9009\u62E9\u4E0D\u8D85\u8FC720 MB\u7684PNG\u3001JPEG\u6216WebP\u56FE\u7247\u3002":"\u8BF7\u9009\u62E9 MP4\u3001M4V \u6216 WebM \u89C6\u9891\u3002\u63A8\u8350 MP4\uFF08H.264 / AAC\uFF09\u3002");if(!Number.isFinite(e.size)||e.size<=0||e.size>t)throw he(n==="image"?"BOOT_IMAGE_TOO_LARGE":"BOOT_VIDEO_TOO_LARGE",n==="image"?"\u8BF7\u9009\u62E9\u4E0D\u8D85\u8FC720 MB\u7684PNG\u3001JPEG\u6216WebP\u56FE\u7247\u3002":"\u89C6\u9891\u5E94\u5927\u4E8E 0 \u5B57\u8282\uFF0C\u4E14\u4E0D\u8D85\u8FC7 200 MB\u3002")}r(_r,"validateMediaFile");function Lr(e,n,{signal:t,documentImpl:i=globalThis.document,ImageImpl:s=globalThis.Image,urlImpl:d=globalThis.URL}={}){return new Promise((u,f)=>{if(t?.aborted){f(bn());return}let o,l,m,c=!1,w=r(()=>{clearTimeout(m),t?.removeEventListener("abort",A),o&&(o.onload=o.onloadeddata=o.onerror=null,n==="video"?(o.removeAttribute("src"),o.load()):o.src=""),l&&d.revokeObjectURL(l)},"cleanup"),h=r(y=>{c||(c=!0,w(),y?f(y):u())},"finish"),A=r(()=>h(bn()),"abort"),I=r(()=>h(he(n==="image"?"BOOT_IMAGE_DECODE":"BOOT_VIDEO_DECODE",n==="image"?"\u65E0\u6CD5\u8BFB\u53D6\u8FD9\u5F20\u56FE\u7247\uFF0C\u8BF7\u66F4\u6362\u6709\u6548\u7684PNG\u3001JPEG\u6216WebP\u3002":"\u6D4F\u89C8\u5668\u65E0\u6CD5\u8BFB\u53D6\u6B64\u89C6\u9891\u3002\u8BF7\u8F6C\u6362\u4E3A MP4\uFF08H.264 / AAC\uFF09\u540E\u91CD\u8BD5\u3002")),"fail");try{o=n==="image"?new s:i.createElement("video"),l=d.createObjectURL(e),t?.addEventListener("abort",A,{once:!0}),m=setTimeout(I,n==="image"?1e4:12e3),o.onerror=I,n==="image"?o.onload=()=>h():(o.onloadeddata=()=>h(),o.preload="auto"),o.src=l,n==="video"&&o.load()}catch{I()}})}r(Lr,"probeMediaFile");function Pr(e,n,{signal:t,basePath:i,onProgress:s,xhrFactory:d}){return new Promise((u,f)=>{if(t.aborted){f(bn());return}let o=d(),l=!1,m,c,w=0,h=!1,A=Ce[En[n].timeout],I=r((M,P)=>{l||(l=!0,clearTimeout(m),clearTimeout(c),t.removeEventListener("abort",R),o.onload=o.onerror=o.ontimeout=o.onabort=null,o.upload.onprogress=o.upload.onload=null,M?f(M):u(P))},"finish"),y=r(M=>{if(!l){I(M);try{o.abort()}catch{}}},"stop"),R=r(()=>y(bn()),"abort"),B=r(()=>y(he("BOOT_UPLOAD_TIMEOUT","\u4E0A\u4F20\u7B49\u5F85\u8D85\u65F6\uFF0C\u8BF7\u91CD\u8BD5\u3002")),"timeout"),O=r(()=>{clearTimeout(m),m=setTimeout(B,A)},"touch"),V=r(()=>{l||h||(h=!0,O())},"waitForResponse");t.addEventListener("abort",R,{once:!0}),o.open("POST",i+En[n].path),o.setRequestHeader("x-dsh-boot-studio","1"),o.setRequestHeader("x-file-name",encodeURIComponent(e.name)),o.setRequestHeader("content-type",e.type||"application/octet-stream"),o.upload.onprogress=M=>{if(l||h||!Number.isFinite(M.loaded))return;let P=Math.min(e.size,Math.max(0,M.loaded));P<=w||(w=P,O(),M.lengthComputable&&Number.isFinite(M.total)&&M.total>0&&s?.(Math.min(100,Math.round(P/M.total*100))),P===e.size&&V())},o.upload.onload=V,o.onload=()=>{try{I(null,Nn(o.responseText,{status:o.status,contentType:o.getResponseHeader("content-type")}))}catch(M){I(M)}},o.onerror=()=>I(he("BOOT_UPLOAD_INTERRUPTED","\u4E0A\u4F20\u4E2D\u65AD\uFF0C\u8BF7\u91CD\u8BD5\u3002")),o.ontimeout=B,o.onabort=()=>I(bn());try{O(),c=setTimeout(B,Ir),o.send(e)}catch{I(he("BOOT_UPLOAD_INTERRUPTED","\u4E0A\u4F20\u4E2D\u65AD\uFF0C\u8BF7\u91CD\u8BD5\u3002"))}})}r(Pr,"sendMedia");function $t(e,{kind:n="video",maxBytes:t=En[n]?.maxBytes,basePath:i=Ue,onPhase:s,onProgress:d,probe:u=Lr,xhrFactory:f=r(()=>new XMLHttpRequest,"xhrFactory")}={}){let o=new AbortController;return{promise:Promise.resolve().then(async()=>{if(_r(e,n,t),s?.("probe"),await u(e,n,{signal:o.signal}),o.signal.aborted)throw bn();return s?.("upload"),d?.(0),Pr(e,n,{signal:o.signal,basePath:i,onProgress:d,xhrFactory:f})}),cancel:r(()=>o.abort(),"cancel")}}r($t,"createMediaUpload");var T=ye(require("react"),1);var Fn="M48.8354 10.0479C48.3232 9.79199 48.1025 10.2798 47.8032 10.5278C47.7007 10.6079 47.6143 10.7119 47.5273 10.8076C46.7793 11.624 45.9048 12.1597 44.7622 12.0957C43.0923 12 41.666 12.5356 40.4058 13.8398C40.1377 12.2319 39.2476 11.272 37.8926 10.6558C37.1836 10.3359 36.4668 10.0156 35.9702 9.31982C35.6235 8.82373 35.5293 8.27197 35.356 7.72754C35.2456 7.3999 35.1353 7.06396 34.7651 7.00781C34.3633 6.94385 34.2056 7.2876 34.0479 7.57568C33.418 8.75195 33.1733 10.0479 33.1973 11.3599C33.2524 14.312 34.4736 16.6641 36.8999 18.3359C37.1758 18.5278 37.2466 18.7197 37.1597 19C36.9946 19.5757 36.7974 20.1357 36.624 20.7119C36.5137 21.0801 36.3486 21.1597 35.9624 21C34.6309 20.4321 33.481 19.5918 32.4644 18.5757C30.7393 16.8721 29.1792 14.9917 27.2334 13.52C26.7764 13.1758 26.3193 12.856 25.8467 12.5518C23.8618 10.584 26.1069 8.96777 26.627 8.77588C27.1704 8.57568 26.8159 7.8877 25.0591 7.896C23.3022 7.90381 21.6953 8.50391 19.647 9.30371C19.3477 9.42383 19.0322 9.51172 18.7095 9.58398C16.8501 9.22363 14.9199 9.14355 12.9033 9.37598C9.10596 9.80762 6.07275 11.6396 3.84326 14.7681C1.16455 18.5278 0.53418 22.7998 1.30664 27.2559C2.11768 31.9521 4.46582 35.8398 8.07373 38.8799C11.8159 42.0322 16.1255 43.5762 21.041 43.2803C24.0269 43.104 27.3516 42.6963 31.1016 39.4561C32.0469 39.936 33.0396 40.1279 34.686 40.272C35.9546 40.3921 37.1758 40.208 38.1211 40.0078C39.6021 39.688 39.4995 38.2881 38.9639 38.0322C34.623 35.9678 35.5762 36.8081 34.71 36.1279C36.9155 33.4639 40.2402 30.6958 41.54 21.728C41.6426 21.0161 41.5557 20.5679 41.54 19.9917C41.5322 19.6396 41.6108 19.5039 42.0049 19.4639C43.0923 19.3359 44.1479 19.0317 45.1167 18.4878C47.9292 16.9199 49.064 14.3438 49.3315 11.2559C49.3711 10.7837 49.3237 10.2959 48.8354 10.0479ZM24.3262 37.8398C20.1196 34.4639 18.0791 33.3521 17.2358 33.3999C16.4482 33.4482 16.5898 34.3682 16.7632 34.9678C16.9443 35.5601 17.1812 35.9683 17.5117 36.4878C17.7402 36.832 17.8979 37.3442 17.2832 37.728C15.9282 38.584 13.5728 37.4399 13.4624 37.3838C10.7207 35.7358 8.42822 33.5601 6.81348 30.584C5.25342 27.7197 4.34766 24.6479 4.19775 21.3677C4.1582 20.5757 4.38672 20.2959 5.15869 20.1519C6.17529 19.96 7.22314 19.9199 8.23926 20.0718C12.5327 20.7119 16.1885 22.6719 19.2529 25.7759C21.002 27.5439 22.3252 29.6558 23.6885 31.7202C25.1377 33.9121 26.6978 36 28.6831 37.7119C29.3843 38.312 29.9434 38.7681 30.479 39.104C28.8643 39.2881 26.1699 39.3281 24.3262 37.8398ZM26.3433 24.6001C26.3433 24.248 26.6191 23.9678 26.9658 23.9678C27.0444 23.9678 27.1152 23.9839 27.1782 24.0078C27.2651 24.04 27.3438 24.0879 27.4067 24.1602C27.5171 24.272 27.5801 24.4321 27.5801 24.6001C27.5801 24.9521 27.3042 25.2319 26.9575 25.2319C26.6108 25.2319 26.3433 24.9521 26.3433 24.6001ZM32.6064 27.8799C32.2046 28.0479 31.8027 28.1919 31.4165 28.208C30.8179 28.2397 30.1641 27.9922 29.8096 27.688C29.2583 27.2158 28.8643 26.9521 28.6987 26.1279C28.6279 25.7759 28.6675 25.2319 28.7305 24.9199C28.8721 24.248 28.7144 23.8159 28.2495 23.4238C27.8716 23.104 27.3911 23.0161 26.8633 23.0161C26.666 23.0161 26.4849 22.9277 26.3511 22.856C26.1304 22.7441 25.9492 22.4639 26.1226 22.1201C26.1777 22.0078 26.4458 21.7358 26.5088 21.688C27.2256 21.272 28.0527 21.4077 28.8169 21.7197C29.5259 22.0161 30.0615 22.5601 30.834 23.3281C31.6216 24.2559 31.7632 24.5117 32.2124 25.208C32.5669 25.752 32.8901 26.312 33.1104 26.9521C33.2446 27.3521 33.0713 27.6802 32.6064 27.8799Z";function Yt({state:e,settings:n,busy:t,preview:i,save:s,remove:d,pendingDelete:u,setPendingDelete:f,input:o,upload:l}){let m=ne();return T.default.createElement(T.default.Fragment,null,T.default.createElement("div",{className:"bs-library"},e.clips.map((c,w)=>T.default.createElement("article",{key:c.id,className:`bs-clip ${c.id===n.selectedId?"is-selected":""}`},T.default.createElement("button",{type:"button",className:`bs-thumbnail bs-tone-${w%4}`,"aria-label":m(`\u9884\u89C8 ${fe(c)}`,`Preview ${fe(c)}`),onClick:()=>i(c,n,!1,!0),disabled:t},c.kind==="sequence"?T.default.createElement("div",{className:"bs-sequence-thumb"},T.default.createElement("svg",{viewBox:"0 0 50 50","aria-hidden":"true"},T.default.createElement("path",{d:Fn})),T.default.createElement("span",null,"DEEPSEEK"),T.default.createElement("small",null,"TECHNICAL DOSSIER")):T.default.createElement("video",{src:c.url+"#t=0.4",muted:!0,playsInline:!0,preload:"metadata",tabIndex:-1}),T.default.createElement("span",{className:"bs-thumbnail-shade"}),T.default.createElement("span",{className:"bs-play-icon"},"\u25B6"),T.default.createElement("span",{className:"bs-clip-number"},String(w+1).padStart(2,"0")),T.default.createElement("span",{className:"bs-badge"},c.kind==="sequence"?m("\u7A0B\u5E8F\u52A8\u753B","Animated sequence"):c.source==="builtin"?m("\u5185\u7F6E","Built-in"):m("\u6211\u7684\u89C6\u9891","My video"))),T.default.createElement("div",{className:"bs-clip-info"},T.default.createElement("h3",null,fe(c)),T.default.createElement("span",null,c.kind==="sequence"?m("\u539F\u7248\u89C6\u89C9\u5E8F\u5217","Original visual sequence"):(c.bytes/1048576).toFixed(1)+" MB")),T.default.createElement("div",{className:"bs-clip-actions"},T.default.createElement("button",{type:"button",className:c.id===n.selectedId?"bs-selected":"",onClick:()=>s({selectedId:c.id}),disabled:t||c.id===n.selectedId},c.id===n.selectedId?m("\u2713 \u5F53\u524D\u52A8\u753B","\u2713 Selected"):m("\u4F7F\u7528\u6B64\u52A8\u753B","Use this animation")),c.source==="upload"&&T.default.createElement("button",{className:"bs-delete","aria-label":m(`\u5220\u9664 ${fe(c)}`,`Delete ${fe(c)}`),disabled:t,onClick:()=>f(c)},m("\u79FB\u9664","Remove"))),u?.id===c.id&&T.default.createElement("div",{className:"bs-delete-confirm"},m("\u79FB\u9664\u6B64\u89C6\u9891\uFF1F","Remove this video?"),T.default.createElement("button",{type:"button",disabled:t,onClick:()=>d(c)},m("\u786E\u8BA4\u79FB\u9664","Confirm removal")),T.default.createElement("button",{type:"button",onClick:()=>f(null)},m("\u53D6\u6D88","Cancel"))))),T.default.createElement("button",{type:"button",className:"bs-upload",disabled:t,onClick:()=>o.current?.click(),onDragOver:c=>c.preventDefault(),onDrop:c=>{c.preventDefault(),l(c.dataTransfer.files?.[0])}},T.default.createElement("span",null,"\uFF0B"),T.default.createElement("strong",null,m("\u4E0A\u4F20\u6211\u7684\u89C6\u9891","Upload my video")),T.default.createElement("small",null,m("\u70B9\u51FB\u9009\u62E9\uFF0C\u6216\u5C06\u89C6\u9891\u62D6\u5230\u8FD9\u91CC","Click to select or drop a video here")),T.default.createElement("small",null,"MP4 / WebM / M4V \xB7 \u2264 200 MB"))),e.storage&&e.maxCustomMediaBytes>0&&e.maxCustomMediaFiles>0&&T.default.createElement("p",{className:"bs-hint",role:"status"},m(`\u4E2A\u4EBA\u7D20\u6750\u5DF2\u7528 ${(e.storage.bytes/1048576).toFixed(1)} / ${(e.maxCustomMediaBytes/1048576).toFixed(0)} MB\uFF08${e.storage.files} / ${e.maxCustomMediaFiles} \u4E2A\uFF09\u3002\u89C6\u9891\u4E0E\u56FE\u7247\u5171\u7528\u989D\u5EA6\uFF0C\u79FB\u9664\u4E0D\u7528\u7684\u7D20\u6750\u53EF\u91CA\u653E\u7A7A\u95F4\u3002`,`Custom media: ${(e.storage.bytes/1048576).toFixed(1)} / ${(e.maxCustomMediaBytes/1048576).toFixed(0)} MB (${e.storage.files} / ${e.maxCustomMediaFiles} files). Videos and images share this limit. Remove unused media to free space.`)),T.default.createElement("input",{ref:o,type:"file",accept:".mp4,.m4v,.webm,video/mp4,video/webm","aria-label":m("\u4E0A\u4F20\u5F00\u673A\u89C6\u9891","Upload startup video"),hidden:!0,onChange:c=>{l(c.target.files?.[0]),c.target.value=""}}))}r(Yt,"VideoLibrary");function Zt({state:e,settings:n,busy:t,preview:i,save:s,imageInput:d,uploadEndImage:u,removeEndImage:f,pendingImageDelete:o,setPendingImageDelete:l,EndTitleComponent:m}){let c=ne(),w=r((h={})=>i(null,{...n,...h},!0),"previewEnding");return T.default.createElement(T.default.Fragment,null,T.default.createElement("div",{className:"bs-preferences bs-ending-settings"},T.default.createElement("div",{className:"bs-field bs-ending-header"},T.default.createElement("h2",null,c("\u7ED3\u675F\u505C\u7559\u753B\u9762","Ending screen")),T.default.createElement("select",{"aria-label":c("\u7ED3\u675F\u753B\u9762\u7C7B\u578B","Ending screen type"),disabled:t,value:n.endScreen||"logo",onChange:h=>{if(h.target.value==="image"&&!n.endImageId){d.current?.click();return}s({endScreen:h.target.value})}},T.default.createElement("option",{value:"logo"},c("\u5185\u7F6E\u753B\u9762","Built-in screens")),T.default.createElement("option",{value:"image"},c("\u6211\u7684\u56FE\u7247","My images")))),!!e.logos?.length&&T.default.createElement("div",{className:"bs-logo-options"},e.logos.map(h=>{let A=n.endScreen==="logo"&&n.logoVariant===h.id;return T.default.createElement("article",{className:`bs-end-card ${A?"is-selected":""}`,key:h.id},T.default.createElement("button",{type:"button",className:"bs-end-preview",disabled:t,"aria-label":c(`\u9884\u89C8\u5185\u7F6E\u7ED3\u675F\u753B\u9762 ${fe(h)}`,`Preview built-in ending screen ${fe(h)}`),onClick:()=>w({endScreen:"logo",logoVariant:h.id})},T.default.createElement("img",{src:h.url,alt:"",style:{objectFit:h.fit||"cover"}}),T.default.createElement("span",null,fe(h))),T.default.createElement("div",{className:"bs-clip-actions"},T.default.createElement("button",{type:"button",className:A?"bs-selected":"",disabled:t||A,"aria-pressed":A,"aria-label":c(`\u4F7F\u7528\u5185\u7F6E\u7ED3\u675F\u753B\u9762 ${fe(h)}`,`Use built-in ending screen ${fe(h)}`),onClick:()=>s({endScreen:"logo",logoVariant:h.id})},A?c("\u2713 \u5F53\u524D\u753B\u9762","\u2713 Selected"):c("\u4F7F\u7528\u6B64\u753B\u9762","Use this screen"))))})),T.default.createElement("div",{className:"bs-ending-preview"},T.default.createElement("button",{type:"button",className:"bs-ending-mini",disabled:t,"aria-label":c("\u9884\u89C8\u5F53\u524D\u7ED3\u675F\u753B\u9762","Preview current ending screen"),onClick:()=>w()},T.default.createElement(m,{settings:n})),T.default.createElement("div",null,T.default.createElement("strong",null,n.endScreen==="image"?c("\u6211\u7684\u56FE\u7247","My image"):fe(e.logos?.find(h=>h.id===n.logoVariant))||c("DeepSeek \u6807\u5FD7","DeepSeek logo")),T.default.createElement("button",{type:"button",className:"bs-primary",disabled:t,onClick:()=>d.current?.click()},c("\u4E0A\u4F20\u7ED3\u675F\u56FE\u7247","Upload ending image")),T.default.createElement("small",null,"PNG / JPEG / WebP \xB7 \u2264 20 MB"))),n.endScreen==="image"&&T.default.createElement("label",{className:"bs-field"},T.default.createElement("span",null,c("\u7ED3\u675F\u56FE\u7247\u663E\u793A","Image fit")),T.default.createElement("select",{"aria-label":c("\u7ED3\u675F\u56FE\u7247\u663E\u793A","Image fit"),value:n.endFit||"cover",disabled:t,onChange:h=>s({endFit:h.target.value})},T.default.createElement("option",{value:"contain"},c("\u5B8C\u6574\u663E\u793A","Fit entire image")),T.default.createElement("option",{value:"cover"},c("\u94FA\u6EE1\u7A97\u53E3","Fill window")))),!!e.endImages?.length&&T.default.createElement("div",{className:"bs-end-library"},e.endImages.map(h=>T.default.createElement("div",{className:`bs-end-card ${n.endScreen==="image"&&n.endImageId===h.id?"is-selected":""}`,key:h.id},T.default.createElement("button",{type:"button",className:"bs-end-preview",disabled:t,"aria-label":c(`\u9884\u89C8\u7ED3\u675F\u56FE\u7247 ${h.name}`,`Preview ending image ${h.name}`),onClick:()=>w({endImageId:h.id,endScreen:"image"})},T.default.createElement("img",{src:h.url,alt:""}),T.default.createElement("span",null,h.name)),T.default.createElement("div",{className:"bs-clip-actions"},T.default.createElement("button",{type:"button",disabled:t||n.endScreen==="image"&&n.endImageId===h.id,className:n.endScreen==="image"&&n.endImageId===h.id?"bs-selected":"","aria-pressed":n.endScreen==="image"&&n.endImageId===h.id,"aria-label":c(`\u4F7F\u7528\u7ED3\u675F\u56FE\u7247 ${h.name}`,`Use ending image ${h.name}`),onClick:()=>s({endImageId:h.id,endScreen:"image"})},n.endScreen==="image"&&n.endImageId===h.id?c("\u2713 \u5F53\u524D\u753B\u9762","\u2713 Selected"):c("\u4F7F\u7528\u6B64\u753B\u9762","Use this screen")),o!==h.id&&T.default.createElement("button",{type:"button",disabled:t,className:"bs-delete","aria-label":c(`\u79FB\u9664\u7ED3\u675F\u56FE\u7247 ${h.name}`,`Remove ending image ${h.name}`),onClick:()=>l(h.id)},c("\u79FB\u9664","Remove"))),o===h.id?T.default.createElement("div",{className:"bs-end-delete-confirm"},T.default.createElement("button",{type:"button",disabled:t,onClick:()=>f(h)},c("\u786E\u8BA4\u79FB\u9664","Confirm removal")),T.default.createElement("button",{type:"button",onClick:()=>l(null)},c("\u53D6\u6D88","Cancel"))):null)))),T.default.createElement("input",{ref:d,type:"file",accept:".png,.jpg,.jpeg,.webp,image/png,image/jpeg,image/webp","aria-label":c("\u4E0A\u4F20\u7ED3\u675F\u56FE\u7247","Upload ending image"),hidden:!0,onChange:h=>{u(h.target.files?.[0]),h.target.value=""}}))}r(Zt,"EndingSettings");var U=ye(require("react"),1);var rn=ye(require("react"),1);var Kt=`/* ============================================================================\r
390
390
  * dsh-startup-screen \u2014 \u542F\u52A8\u754C\u9762 / \u542F\u52A8\u52A8\u753B\u6837\u5F0F\r
391
391
  * ----------------------------------------------------------------------------\r
392
392
  * \u98CE\u683C\u53D6\u81EA\u53C2\u8003\u7247\uFF08Hypergryph \u5F0F\u5F00\u673A\u5E8F\u5217\uFF09\uFF1A\u9ED1\u8272\u5E8F\u5E55 \u2192 \u7070\u767D\u8FC7\u66DD\u6D17\u767D \u2192 \u6696\u767D\r
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "dsh-openup-lewis",
3
- "version": "1.4.2",
3
+ "version": "1.4.3",
4
4
  "lewisEnchantRelease": {
5
- "version": "1.4.2",
5
+ "version": "1.4.3",
6
6
  "notes": "修复已知问题,提升系统稳定性"
7
7
  },
8
8
  "lewisEnchantReleaseEn": {
9
- "version": "1.4.2",
9
+ "version": "1.4.3",
10
10
  "notes": "Fix known issues and improve system stability."
11
11
  },
12
12
  "description": "DSH LEWIS ENCHANTMENT · 附魔台|开机动画:铺满当前窗口的完整开场、自定义视频与封面、启动检查更新和磨砂提示。",