agent-tool-chat 1.0.2 → 1.1.1

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/dist/index.cjs CHANGED
@@ -1,56 +1,56 @@
1
- "use strict";var jr=Object.defineProperty;var Xr=(e,t,n)=>t in e?jr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var O=(e,t,n)=>Xr(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),Yt=require("element-plus");class Ko{constructor(t){O(this,"messages",[]);O(this,"config");O(this,"listeners",new Set);O(this,"abortController",null);O(this,"_loading",!1);this.config={...t,maxToolRounds:t.maxToolRounds??6}}get loading(){return this._loading}updateProviderConfig(t){this.config.providerConfig={...this.config.providerConfig,...t}}initialize(t){this.messages.length=0,this.messages.push(...t)}clear(){var t;this.stop(),this.messages.length=0,(t=this.config.storage)==null||t.save([])}on(t){return this.listeners.add(t),()=>this.listeners.delete(t)}emit(t){this.listeners.forEach(n=>n(t))}async sendMessage(t){var o;const n=t.trim();if(!n||this._loading)return;this._loading=!0,this.abortController=new AbortController,this.emit({type:"status",loading:!0});const r={role:"user",content:n};this.messages.push(r),this.emit({type:"message",message:r});try{let i=0;const A=this.config.maxToolRounds;for(;i<A;){i++;const l={role:"assistant",content:""};this.messages.push(l),this.emit({type:"message",message:l});const c=this.buildApiMessages(),u=await this.config.provider.streamChat({config:this.config.providerConfig,messages:c,tools:this.config.tools.getDefinitions(),signal:this.abortController.signal,onContent:f=>{l.content+=f,this.emit({type:"stream:delta",delta:{content:f}})},onReasoning:f=>{this.emit({type:"stream:delta",delta:{reasoning:f}})}});if(l.content=u.content,this.emit({type:"stream:end",content:u.content,reasoning:u.reasoning}),u.tool_calls.length>0){l.tool_calls=u.tool_calls;for(const f of u.tool_calls){this.emit({type:"tool:start",call:f});const h=await this.config.tools.execute(f.function.name,f.function.arguments);this.emit({type:"tool:end",call:f,output:h}),this.messages.push({role:"tool",tool_call_id:f.id,content:h.result,name:f.function.name})}continue}break}await((o=this.config.storage)==null?void 0:o.save(this.messages))}catch(i){if((i==null?void 0:i.name)!=="AbortError")this.emit({type:"error",error:(i==null?void 0:i.message)||"请求出错"});else{const A=this.messages[this.messages.length-1];(A==null?void 0:A.role)==="assistant"&&!A.content&&(A.content="(已停止生成)")}}finally{this._loading=!1,this.abortController=null,this.emit({type:"status",loading:!1})}}stop(){var t;(t=this.abortController)==null||t.abort()}buildApiMessages(){const t=this.messages,r=t.length>0&&t[t.length-1].role==="assistant"&&t[t.length-1].content===""&&!t[t.length-1].tool_calls?t.slice(0,-1):t;return this.config.systemPrompt?[{role:"system",content:this.config.systemPrompt},...r]:[...r]}}class Go{constructor(){O(this,"_definitions",[]);O(this,"_handlers",new Map)}register(t,n){const r=t.function.name,o=this._definitions.findIndex(i=>i.function.name===r);return o!==-1&&this._definitions.splice(o,1),this._definitions.push(t),this._handlers.set(r,n),this}registerBatch(t){for(const n of t)this.register(n.definition,n.handler);return this}getDefinitions(){return[...this._definitions]}async execute(t,n){const r=this._handlers.get(t);if(!r)return{success:!1,result:`未知工具:${t}`};try{const o=n?JSON.parse(n):{};return await r(o)}catch(o){return{success:!1,result:`工具执行异常:${(o==null?void 0:o.message)||String(o)}`}}}}function $r(e){let t=e.trim().replace(/\/+$/,"");return t=t.replace(/\/v1$/,""),t}function Wo(){return{async streamChat(e){var E;const{config:{baseUrl:t,apiKey:n,model:r,temperature:o},messages:i,tools:A,signal:l,onContent:c,onReasoning:u}=e;if(!n)throw new Error("未配置 API Key");const f=`${$r(t)}/chat/completions`,h={model:r,messages:i,stream:!0};typeof o=="number"&&(h.temperature=o),A!=null&&A.length&&(h.tools=A,h.tool_choice="auto");const d=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(h),signal:l});if(!d.ok||!d.body){let v=`请求失败(HTTP ${d.status})`;try{const S=await d.json();(E=S==null?void 0:S.error)!=null&&E.message&&(v=S.error.message)}catch{}throw new Error(v)}const g=d.body.getReader(),p=new TextDecoder("utf-8");let F="",I="",D="",y="stop";const w=new Map,_=v=>{if(!v)return;const S=v.index??0;w.has(S)||w.set(S,{id:"",type:"function",function:{name:"",arguments:""}});const W=w.get(S);v.id&&(W.id=v.id),v.type&&(W.type=v.type),v.function&&(v.function.name&&(W.function.name+=v.function.name),v.function.arguments&&(W.function.arguments+=v.function.arguments))},b=v=>{var U;const S=(U=v==null?void 0:v.choices)==null?void 0:U[0];if(!S)return;const W=S.delta||{};typeof W.content=="string"&&W.content&&(I+=W.content,c==null||c(W.content)),typeof W.reasoning_content=="string"&&W.reasoning_content&&(D+=W.reasoning_content,u==null||u(W.reasoning_content)),Array.isArray(W.tool_calls)&&W.tool_calls.forEach(ne=>_(ne)),S.finish_reason&&(y=S.finish_reason)};for(;;){const{done:v,value:S}=await g.read();if(v)break;F+=p.decode(S,{stream:!0});let W;for(;(W=F.indexOf(`
2
- `))!==-1;){const U=F.slice(0,W).replace(/\r$/,"").trim();if(F=F.slice(W+1),!U||U.startsWith(":")||!U.startsWith("data:"))continue;const ne=U.slice(5).trim();if(ne==="[DONE]")return M();try{b(JSON.parse(ne))}catch{}}}return M();function M(){const v=Array.from(w.values()).filter(S=>S.function.name);return{content:I,reasoning:D,tool_calls:v,finish_reason:y}}}}}function Yo(){return{async streamChat(e){var M;const{config:{baseUrl:t,model:n,temperature:r},messages:o,tools:i,signal:A,onContent:l,onReasoning:c}=e,u=`${t.trim().replace(/\/+$/,"")}`,f={model:n,messages:o,stream:!0};typeof r=="number"&&(f.temperature=r),i!=null&&i.length&&(f.tools=i,f.tool_choice="auto");const h=await fetch(u,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(f),signal:A});if(!h.ok||!h.body){let E=`请求失败(HTTP ${h.status})`;try{const v=await h.json();(M=v==null?void 0:v.error)!=null&&M.message&&(E=v.error.message)}catch{}throw new Error(E)}const d=h.body.getReader(),g=new TextDecoder("utf-8");let p="",F="",I="",D="stop";const y=new Map,w=E=>{if(!E)return;const v=E.index??0;y.has(v)||y.set(v,{id:"",type:"function",function:{name:"",arguments:""}});const S=y.get(v);E.id&&(S.id=E.id),E.type&&(S.type=E.type),E.function&&(E.function.name&&(S.function.name+=E.function.name),E.function.arguments&&(S.function.arguments+=E.function.arguments))},_=E=>{var W;const v=(W=E==null?void 0:E.choices)==null?void 0:W[0];if(!v)return;const S=v.delta||{};typeof S.content=="string"&&S.content&&(F+=S.content,l==null||l(S.content)),typeof S.reasoning_content=="string"&&S.reasoning_content&&(I+=S.reasoning_content,c==null||c(S.reasoning_content)),Array.isArray(S.tool_calls)&&S.tool_calls.forEach(U=>w(U)),v.finish_reason&&(D=v.finish_reason)};for(;;){const{done:E,value:v}=await d.read();if(E)break;p+=g.decode(v,{stream:!0});let S;for(;(S=p.indexOf(`
3
- `))!==-1;){const W=p.slice(0,S).replace(/\r$/,"").trim();if(p=p.slice(S+1),!W||W.startsWith(":")||!W.startsWith("data:"))continue;const U=W.slice(5).trim();if(U==="[DONE]")return b();try{_(JSON.parse(U))}catch{}}}return b();function b(){const E=Array.from(y.values()).filter(v=>v.function.name);return{content:F,reasoning:I,tool_calls:E,finish_reason:D}}}}}function qr(e){var n,r,o,i,A;const t=[];return(n=e.displayHints)!=null&&n.suggestComponent&&t.push(`展示建议: 使用 ${e.displayHints.suggestComponent} 组件`),(r=e.displayHints)!=null&&r.resultFormat&&t.push(`格式: ${e.displayHints.resultFormat}`),(i=(o=e.displayHints)==null?void 0:o.previewFields)!=null&&i.length&&t.push(`预览字段: ${e.displayHints.previewFields.join(", ")}`),(A=e.displayHints)!=null&&A.summaryTemplate&&t.push(`概要模板: ${e.displayHints.summaryTemplate}`),t.length?t.join(" | "):""}function Oo(e){const t=[`【${e.name}】${e.description}`];for(const n of e.tools){const r=qr(n);t.push(` - ${n.name}: ${n.description}`),r&&t.push(` ${r}`)}return t.join(`
4
- `)}function Ho(e){const t=["你是一个 AI 助手,可以帮助用户完成各种操作。","","你可以使用以下工具包:",""];for(const n of e)t.push(Oo(n)),t.push("");return t.push("注意:"),t.push("1. 所有回复请使用中文,保持简洁清晰,除非用户明确要求使用其他语言。"),t.push("2. 当你需要查询或操作数据时,调用对应工具包中的函数。"),t.push("3. 工具函数由宿主系统执行,你只需要传递正确的参数。"),t.push("4. 获取到工具结果后,回复用户并告知结果。"),t.push("5. 如果工具返回了结构化数据(如订单信息、系统状态等),在回复中清晰地展示给用户。"),t.push("6. 根据结果动态建议用户接下来可以做什么。"),t.push("7. 如果用户上传了文件,文件格式为(.txt、.json、.geojson等格式),你必须调用 open_mapview_file 工具在地图上展示,不要只回复文字。"),t.push(""),t.push("--- 文件上传规则 ---"),t.push("用户可能上传文件,文件以如下格式出现在消息中:"),t.push("已上传文件:"),t.push("1. **文件名**(类型,大小KB),文件ID:`fileId`"),t.push("你无法查看文件内容,只能看到文件名和类型。"),t.push("你必须根据文件名、扩展名和用户的文字指令,调用对应的工具来处理文件。"),t.push("如果某个工具需要处理该文件,在工具参数中传入 fileId。"),t.push('不要回复假性成功消息(如"已在地图上显示"),如果不调用工具,文件不会被实际处理。'),t.push("不要编造文件内容,不要假装你看到了文件数据。"),t.join(`
5
- `)}const ei=`--- 重复指令处理规则 ---
1
+ "use strict";var ai=Object.defineProperty;var ui=(e,t,n)=>t in e?ai(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var H=(e,t,n)=>ui(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),ht=require("element-plus");function hi(e){let t="";return typeof e.content=="string"?t=e.content:e.content!=null&&(t=JSON.stringify(e.content)),e.tool_calls&&(t+=JSON.stringify(e.tool_calls)),e.name&&(t+=e.name),Math.ceil(t.length/2)||1}function di(e,t){const n=e.length;if(n===0)return e;let r=0,o=n-1;for(let i=n-1;i>=0;i--)if(r+=hi(e[i]),o=i,r>t){o=Math.min(i+1,n-1);break}return o>0&&e[o].role==="tool"&&(o-=1),e.slice(o)}class Zo{constructor(t){H(this,"messages",[]);H(this,"config");H(this,"listeners",new Set);H(this,"abortController",null);H(this,"_loading",!1);this.config={...t,maxToolRounds:t.maxToolRounds??6}}get loading(){return this._loading}updateProviderConfig(t){this.config.providerConfig={...this.config.providerConfig,...t}}initialize(t){this.messages.length=0,this.messages.push(...t)}clear(){var t;this.stop(),this.messages.length=0,(t=this.config.storage)==null||t.save([])}on(t){return this.listeners.add(t),()=>this.listeners.delete(t)}emit(t){this.listeners.forEach(n=>n(t))}async sendMessage(t){var o;const n=t.trim();if(!n||this._loading)return;this._loading=!0,this.abortController=new AbortController,this.emit({type:"status",loading:!0});const r={role:"user",content:n};this.messages.push(r),this.emit({type:"message",message:r});try{let i=0;const A=this.config.maxToolRounds;for(;i<A;){i++;const l={role:"assistant",content:""};this.messages.push(l),this.emit({type:"message",message:l});const c=this.buildApiMessages(),u=await this.config.provider.streamChat({config:this.config.providerConfig,messages:c,tools:this.config.tools.getDefinitions(),signal:this.abortController.signal,onContent:d=>{l.content+=d,this.emit({type:"stream:delta",delta:{content:d}})},onReasoning:d=>{this.emit({type:"stream:delta",delta:{reasoning:d}})}});if(l.content=u.content,this.emit({type:"stream:end",content:u.content,reasoning:u.reasoning}),u.tool_calls.length>0){l.tool_calls=u.tool_calls;for(const d of u.tool_calls){this.emit({type:"tool:start",call:d});const f=await this.config.tools.execute(d.function.name,d.function.arguments);this.emit({type:"tool:end",call:d,output:f}),this.messages.push({role:"tool",tool_call_id:d.id,content:f.result,name:d.function.name})}continue}break}await((o=this.config.storage)==null?void 0:o.save(this.messages))}catch(i){if((i==null?void 0:i.name)!=="AbortError")this.emit({type:"error",error:(i==null?void 0:i.message)||"请求出错"});else{const A=this.messages[this.messages.length-1];(A==null?void 0:A.role)==="assistant"&&!A.content&&(A.content="(已停止生成)")}}finally{this._loading=!1,this.abortController=null,this.emit({type:"status",loading:!1})}}stop(){var t;(t=this.abortController)==null||t.abort()}buildApiMessages(){const t=this.messages;let r=t.length>0&&t[t.length-1].role==="assistant"&&t[t.length-1].content===""&&!t[t.length-1].tool_calls?t.slice(0,-1):t;const o=this.config.maxHistoryMessages??0;o>0&&r.length>o&&(r=r.slice(r.length-o));const i=this.config.maxContextTokens??0;for(i>0&&(r=di(r,i));r.length&&r[0].role==="tool";)r=r.slice(1);return this.config.systemPrompt?[{role:"system",content:this.config.systemPrompt},...r]:[...r]}}class Po{constructor(){H(this,"_definitions",[]);H(this,"_handlers",new Map)}register(t,n){const r=t.function.name,o=this._definitions.findIndex(i=>i.function.name===r);return o!==-1&&this._definitions.splice(o,1),this._definitions.push(t),this._handlers.set(r,n),this}registerBatch(t){for(const n of t)this.register(n.definition,n.handler);return this}getDefinitions(){return[...this._definitions]}async execute(t,n){const r=this._handlers.get(t);if(!r)return{success:!1,result:`未知工具:${t}`};try{const o=n?JSON.parse(n):{};return await r(o)}catch(o){return{success:!1,result:`工具执行异常:${(o==null?void 0:o.message)||String(o)}`}}}}function fi(e){let t=e.trim().replace(/\/+$/,"");return t=t.replace(/\/v1$/,""),t}function zo(){return{async streamChat(e){var B;const{config:{baseUrl:t,apiKey:n,model:r,temperature:o,thinking:i},messages:A,tools:l,signal:c,onContent:u,onReasoning:d}=e;if(!n)throw new Error("未配置 API Key");const f=`${fi(t)}/chat/completions`,_={model:r,messages:A,stream:!0};typeof o=="number"&&(_.temperature=o),_.thinking={type:(i==null?void 0:i.type)==="enabled"?"enabled":"disabled"},(i==null?void 0:i.type)==="enabled"&&i.effort&&(_.reasoning_effort=i.effort),l!=null&&l.length&&(_.tools=l,_.tool_choice="auto");const m=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(_),signal:c});if(!m.ok||!m.body){let y=`请求失败(HTTP ${m.status})`;try{const F=await m.json();(B=F==null?void 0:F.error)!=null&&B.message&&(y=F.error.message)}catch{}throw new Error(y)}const h=m.body.getReader(),k=new TextDecoder("utf-8");let E="",g="",b="",v="stop";const C=new Map,w=y=>{if(!y)return;const F=y.index??0;C.has(F)||C.set(F,{id:"",type:"function",function:{name:"",arguments:""}});const N=C.get(F);y.id&&(N.id=y.id),y.type&&(N.type=y.type),y.function&&(y.function.name&&(N.function.name+=y.function.name),y.function.arguments&&(N.function.arguments+=y.function.arguments))},Q=y=>{var U;const F=(U=y==null?void 0:y.choices)==null?void 0:U[0];if(!F)return;const N=F.delta||{};typeof N.content=="string"&&N.content&&(g+=N.content,u==null||u(N.content)),typeof N.reasoning_content=="string"&&N.reasoning_content&&(b+=N.reasoning_content,d==null||d(N.reasoning_content)),Array.isArray(N.tool_calls)&&N.tool_calls.forEach(z=>w(z)),F.finish_reason&&(v=F.finish_reason)};for(;;){const{done:y,value:F}=await h.read();if(y)break;E+=k.decode(F,{stream:!0});let N;for(;(N=E.indexOf(`
2
+ `))!==-1;){const U=E.slice(0,N).replace(/\r$/,"").trim();if(E=E.slice(N+1),!U||U.startsWith(":")||!U.startsWith("data:"))continue;const z=U.slice(5).trim();if(z==="[DONE]")return S();try{Q(JSON.parse(z))}catch{}}}return S();function S(){const y=Array.from(C.values()).filter(F=>F.function.name);return{content:g,reasoning:b,tool_calls:y,finish_reason:v}}}}}function jo(){return{async streamChat(e){var S;const{config:{baseUrl:t,model:n,temperature:r,thinking:o},messages:i,tools:A,signal:l,onContent:c,onReasoning:u}=e,d=`${t.trim().replace(/\/+$/,"")}`,f={model:n,messages:i,stream:!0};typeof r=="number"&&(f.temperature=r),f.thinking={type:(o==null?void 0:o.type)==="enabled"?"enabled":"disabled"},(o==null?void 0:o.type)==="enabled"&&o.effort&&(f.reasoning_effort=o.effort),A!=null&&A.length&&(f.tools=A,f.tool_choice="auto");const _=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(f),signal:l});if(!_.ok||!_.body){let B=`请求失败(HTTP ${_.status})`;try{const y=await _.json();(S=y==null?void 0:y.error)!=null&&S.message&&(B=y.error.message)}catch{}throw new Error(B)}const m=_.body.getReader(),h=new TextDecoder("utf-8");let k="",E="",g="",b="stop";const v=new Map,C=B=>{if(!B)return;const y=B.index??0;v.has(y)||v.set(y,{id:"",type:"function",function:{name:"",arguments:""}});const F=v.get(y);B.id&&(F.id=B.id),B.type&&(F.type=B.type),B.function&&(B.function.name&&(F.function.name+=B.function.name),B.function.arguments&&(F.function.arguments+=B.function.arguments))},w=B=>{var N;const y=(N=B==null?void 0:B.choices)==null?void 0:N[0];if(!y)return;const F=y.delta||{};typeof F.content=="string"&&F.content&&(E+=F.content,c==null||c(F.content)),typeof F.reasoning_content=="string"&&F.reasoning_content&&(g+=F.reasoning_content,u==null||u(F.reasoning_content)),Array.isArray(F.tool_calls)&&F.tool_calls.forEach(U=>C(U)),y.finish_reason&&(b=y.finish_reason)};for(;;){const{done:B,value:y}=await m.read();if(B)break;k+=h.decode(y,{stream:!0});let F;for(;(F=k.indexOf(`
3
+ `))!==-1;){const N=k.slice(0,F).replace(/\r$/,"").trim();if(k=k.slice(F+1),!N||N.startsWith(":")||!N.startsWith("data:"))continue;const U=N.slice(5).trim();if(U==="[DONE]")return Q();try{w(JSON.parse(U))}catch{}}}return Q();function Q(){const B=Array.from(v.values()).filter(y=>y.function.name);return{content:E,reasoning:g,tool_calls:B,finish_reason:b}}}}}function pi(e){var n,r,o,i,A;const t=[];return(n=e.displayHints)!=null&&n.suggestComponent&&t.push(`展示建议: 使用 ${e.displayHints.suggestComponent} 组件`),(r=e.displayHints)!=null&&r.resultFormat&&t.push(`格式: ${e.displayHints.resultFormat}`),(i=(o=e.displayHints)==null?void 0:o.previewFields)!=null&&i.length&&t.push(`预览字段: ${e.displayHints.previewFields.join(", ")}`),(A=e.displayHints)!=null&&A.summaryTemplate&&t.push(`概要模板: ${e.displayHints.summaryTemplate}`),t.length?t.join(" | "):""}function Xo(e){const t=[`【${e.name}】${e.description}`];for(const n of e.tools){const r=pi(n);t.push(` - ${n.name}: ${n.description}`),r&&t.push(` ${r}`)}return t.join(`
4
+ `)}function $o(e){const t=["你是一个 AI 助手,可以帮助用户完成各种操作。","","你可以使用以下工具包:",""];for(const n of e)t.push(Xo(n)),t.push("");return t.push("注意:"),t.push("1. 所有回复与思考/推理过程(reasoning / thinking)一律使用中文,保持简洁清晰;除非用户明确要求使用其他语言,此时思考与回复也相应使用该语言。"),t.push("2. 当你需要查询或操作数据时,调用对应工具包中的函数。"),t.push("3. 工具函数由宿主系统执行,你只需要传递正确的参数。"),t.push("4. 获取到工具结果后,回复用户并告知结果。"),t.push("5. 如果工具返回了结构化数据(如订单信息、系统状态等),在回复中清晰地展示给用户。"),t.push("6. 根据结果动态建议用户接下来可以做什么。"),t.push("7. 如果用户上传了文件,文件格式为(.txt、.json、.geojson等格式),你必须调用 open_mapview_file 工具在地图上展示,不要只回复文字。"),t.push(""),t.push("--- 文件上传规则 ---"),t.push("用户可能上传文件,文件以如下格式出现在消息中:"),t.push("已上传文件:"),t.push("1. **文件名**(类型,大小KB),文件ID:`fileId`"),t.push("你无法查看文件内容,只能看到文件名和类型。"),t.push("你必须根据文件名、扩展名和用户的文字指令,调用对应的工具来处理文件。"),t.push("如果某个工具需要处理该文件,在工具参数中传入 fileId。"),t.push('不要回复假性成功消息(如"已在地图上显示"),如果不调用工具,文件不会被实际处理。'),t.push("不要编造文件内容,不要假装你看到了文件数据。"),t.join(`
5
+ `)}const mi=`--- 重复指令处理规则 ---
6
6
  如果用户再次发送相同或类似的指令(即使之前已经执行过),必须重新调用对应的工具再次执行。
7
- 不得以"已经执行过""之前做过"等理由拒绝,也不能用历史中的工具结果代替重新执行。`;function ti(e){const t=String(e).replace(/\s+/g,"");if(!t||!/^[\d+\-*/%().]+$/.test(t))throw new Error("表达式含非法字符");return ni(t)}function ni(e){let t=0;function n(){return e[t]??""}function r(u){return e[t]===u?(t++,!0):!1}function o(){const u=t;for(;/[\d.]/.test(n());)t++;const f=e.slice(u,t);if(!f)throw new Error("预期数字");const h=Number(f);if(Number.isNaN(h))throw new Error("无效数字");return h}function i(){if(r("-"))return-i();if(r("+"))return i();if(r("(")){const u=l();if(!r(")"))throw new Error("括号不匹配");return u}return o()}function A(){let u=i();for(;;)if(r("*"))u*=i();else if(r("/"))u/=i();else if(r("%"))u=(u%i()+i())%i();else break;return u}function l(){let u=A();for(;;)if(r("+"))u+=A();else if(r("-"))u-=A();else break;return u}const c=l();if(t!==e.length)throw new Error("无法解析的表达式");return c}const dt={id:"__builtin",name:"内置工具",description:"开箱即用的通用工具(时间、计算、UUID、客户端信息)",tools:[{name:"get_current_time",description:"获取用户当前的时间、日期、时区与星期",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"card"}},{name:"calculate_expression",description:"安全计算数学表达式(支持 + - * / % 和括号)",parameters:{type:"object",properties:{expression:{type:"string",description:"数学表达式,如 (1+2)*3"}},required:["expression"]},displayHints:{resultFormat:"text"}},{name:"generate_uuid",description:"生成一个 UUID v4 随机标识符",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"text"}},{name:"get_client_info",description:"获取用户浏览器的基本信息(UA、平台、语言、屏幕尺寸)",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"card"}}]};function oi(){return{get_current_time:()=>{const e=new Date;return{time:e.toLocaleTimeString(),date:e.toLocaleDateString(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,weekday:e.toLocaleDateString("zh-CN",{weekday:"long"})}},calculate_expression:e=>{if(!(e!=null&&e.expression))throw new Error("缺少 expression 参数");const t=ti(String(e.expression));return{expression:e.expression,result:t}},generate_uuid:()=>{let e=[];const t="0123456789abcdef";for(let n=0;n<36;n++)e[n]=t.charAt(Math.floor(Math.random()*16));return e[14]="4",e[19]=t.charAt(parseInt(e[19],16)&3|8),e[8]=e[13]=e[18]=e[23]="-",{uuid:e.join("")}},get_client_info:()=>{var e;return{userAgent:navigator.userAgent,platform:navigator.platform,language:navigator.language,languages:(e=navigator.languages)==null?void 0:e.join(", "),screen:`${window.screen.width}×${window.screen.height}`}}}}const ri=oi();function Uo(e,t){const n=ri[e];if(!n)throw new Error(`未知内置工具:${e}`);return n(t)}function ii(e,t,n){var i;let r=null;if(e.type==="component"&&e.componentName){let A;e.packageId&&(A=t.find(l=>l.id===e.packageId)),!A&&n&&(A=t.find(l=>l.id===n)),(i=A==null?void 0:A.components)!=null&&i[e.componentName]&&(r=A.components[e.componentName])}const o=si(e);return{component:r,block:e,fallbackText:o}}function si(e){switch(e.type){case"table":return Ai(e);case"card":return li(e);case"list":return ci(e);default:return JSON.stringify(e.data,null,2)}}function Ht(e){return e==null?null:Array.isArray(e)?e:typeof e!="object"?null:Array.isArray(e.data)?e.data:Array.isArray(e.list)?e.list:Array.isArray(e.items)?e.items:[e]}function Ai(e){const t=Ht(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
7
+ 不得以"已经执行过""之前做过"等理由拒绝,也不能用历史中的工具结果代替重新执行。`;function gi(e){const t=String(e).replace(/\s+/g,"");if(!t||!/^[\d+\-*/%().]+$/.test(t))throw new Error("表达式含非法字符");return Ci(t)}function Ci(e){let t=0;function n(){return e[t]??""}function r(u){return e[t]===u?(t++,!0):!1}function o(){const u=t;for(;/[\d.]/.test(n());)t++;const d=e.slice(u,t);if(!d)throw new Error("预期数字");const f=Number(d);if(Number.isNaN(f))throw new Error("无效数字");return f}function i(){if(r("-"))return-i();if(r("+"))return i();if(r("(")){const u=l();if(!r(")"))throw new Error("括号不匹配");return u}return o()}function A(){let u=i();for(;;)if(r("*"))u*=i();else if(r("/"))u/=i();else if(r("%"))u=(u%i()+i())%i();else break;return u}function l(){let u=A();for(;;)if(r("+"))u+=A();else if(r("-"))u-=A();else break;return u}const c=l();if(t!==e.length)throw new Error("无法解析的表达式");return c}const wt={id:"__builtin",name:"内置工具",description:"开箱即用的通用工具(时间、计算、UUID、客户端信息)",tools:[{name:"get_current_time",description:"获取用户当前的时间、日期、时区与星期",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"card"}},{name:"calculate_expression",description:"安全计算数学表达式(支持 + - * / % 和括号)",parameters:{type:"object",properties:{expression:{type:"string",description:"数学表达式,如 (1+2)*3"}},required:["expression"]},displayHints:{resultFormat:"text"}},{name:"generate_uuid",description:"生成一个 UUID v4 随机标识符",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"text"}},{name:"get_client_info",description:"获取用户浏览器的基本信息(UA、平台、语言、屏幕尺寸)",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"card"}}]};function _i(){return{get_current_time:()=>{const e=new Date;return{time:e.toLocaleTimeString(),date:e.toLocaleDateString(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,weekday:e.toLocaleDateString("zh-CN",{weekday:"long"})}},calculate_expression:e=>{if(!(e!=null&&e.expression))throw new Error("缺少 expression 参数");const t=gi(String(e.expression));return{expression:e.expression,result:t}},generate_uuid:()=>{let e=[];const t="0123456789abcdef";for(let n=0;n<36;n++)e[n]=t.charAt(Math.floor(Math.random()*16));return e[14]="4",e[19]=t.charAt(parseInt(e[19],16)&3|8),e[8]=e[13]=e[18]=e[23]="-",{uuid:e.join("")}},get_client_info:()=>{var e;return{userAgent:navigator.userAgent,platform:navigator.platform,language:navigator.language,languages:(e=navigator.languages)==null?void 0:e.join(", "),screen:`${window.screen.width}×${window.screen.height}`}}}}const ki=_i();function qo(e,t){const n=ki[e];if(!n)throw new Error(`未知内置工具:${e}`);return n(t)}function yi(e,t,n){var i;let r=null;if(e.type==="auto"&&(e={...e,type:Mn(e.data)}),e.type==="component"&&e.componentName){let A;e.packageId&&(A=t.find(l=>l.id===e.packageId)),!A&&n&&(A=t.find(l=>l.id===n)),(i=A==null?void 0:A.components)!=null&&i[e.componentName]&&(r=A.components[e.componentName])}const o=Ei(e);return{component:r,block:e,fallbackText:o}}function Mn(e){const t=Mt(e);return t&&t.length===1?"none":"table"}function Ei(e){switch(e.type){case"table":return Di(e);case"card":return Ii(e);case"list":return bi(e);case"none":return"";default:return JSON.stringify(e.data,null,2)}}function Mt(e){return e==null?null:Array.isArray(e)?e:typeof e!="object"?null:Array.isArray(e.data)?e.data:Array.isArray(e.list)?e.list:Array.isArray(e.items)?e.items:[e]}function Di(e){const t=Mt(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
8
8
 
9
9
  `:"",r=Object.keys(t[0]),o=`| ${r.join(" | ")} |`,i=`| ${r.map(()=>"---").join(" | ")} |`,A=t.map(l=>`| ${r.map(c=>String(l[c]??"")).join(" | ")} |`).join(`
10
10
  `);return`${n}${o}
11
11
  ${i}
12
- ${A}`}function li(e){const t=Ht(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
12
+ ${A}`}function Ii(e){const t=Mt(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
13
13
 
14
- `:"",r=t.map(o=>Object.entries(o).map(([A,l])=>`- **${A}**: ${l}`).join(`
14
+ `:"",r=t.map(o=>(e.fields&&e.fields.length?e.fields.filter(l=>l in o):Object.keys(o)).map(l=>`- **${l}**: ${o[l]??""}`).join(`
15
15
  `)).join(`
16
16
 
17
17
  ---
18
18
 
19
- `);return`${n}${r}`}function ci(e){const t=Ht(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
19
+ `);return`${n}${r}`}function bi(e){const t=Mt(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
20
20
 
21
21
  `:"",r=t.map(o=>`- ${typeof o=="string"?o:Object.values(o).join(" - ")}`).join(`
22
- `);return`${n}${r}`}class Jo{constructor(){O(this,"exactHandlers",new Map);O(this,"regexHandlers",[]);O(this,"isChatOpen",()=>!0)}setChatOpenGetter(t){this.isChatOpen=t}on(t,n){return typeof t=="string"?(this.exactHandlers.has(t)||this.exactHandlers.set(t,new Set),this.exactHandlers.get(t).add(n),()=>this.off(t,n)):(this.regexHandlers.push({pattern:t,handler:n}),()=>this.off(t,n))}off(t,n){var r;if(typeof t=="string"){(r=this.exactHandlers.get(t))==null||r.delete(n);return}this.regexHandlers=this.regexHandlers.filter(o=>o.pattern!==t||o.handler!==n)}dispatch(t,n=!1){var r;if(!(n&&!this.isChatOpen())){(r=this.exactHandlers.get(t.type))==null||r.forEach(o=>o(t));for(const{pattern:o,handler:i}of this.regexHandlers)o.test(t.type)&&i(t)}}clear(){this.exactHandlers.clear(),this.regexHandlers=[]}}function Zo(){return new Jo}class ai{constructor(t,n){O(this,"bus");O(this,"rules");O(this,"cooldowns",new Map);O(this,"unsubscribers",[]);this.bus=t,this.rules=n}start(t){for(const n of this.rules){const r=this.bus.on(n.event,o=>{if(this.isOnCooldown(n)||(this.setCooldown(n),n.autoPopup&&t.onAutoPopup(),n.action==="silent"))return;const i=this.buildPrompt(n,o);i&&t.onRespond(i)});this.unsubscribers.push(r)}}stop(){for(const t of this.unsubscribers)t();this.unsubscribers=[],this.cooldowns.clear()}getBus(){return this.bus}isOnCooldown(t){if(!t.cooldown)return!1;const n=typeof t.event=="string"?t.event:t.event.source,r=this.cooldowns.get(n);return r?Date.now()<r:!1}setCooldown(t){if(!t.cooldown)return;const n=typeof t.event=="string"?t.event:t.event.source;this.cooldowns.set(n,Date.now()+t.cooldown)}buildPrompt(t,n){return t.prompt?t.prompt.replace(/\{\{payload\.([^}]+)\}\}/g,(r,o)=>{const i=n.payload[o];return i!==void 0?String(i):`{{payload.${o}}}`}):""}}const En={apiKey:"",baseUrl:"https://api.deepseek.com",model:"deepseek-chat",temperature:0,providerMode:"direct",proxyUrl:"http://localhost:3001/api/chat"};function ui(e){return{type:"function",function:{name:e.name,description:e.description,parameters:e.parameters}}}function ln(){return`m_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function hi(){let e=[],t="0123456789abcdef";for(let r=0;r<36;r++)e[r]=t.substr(Math.floor(Math.random()*16),1);return e[14]="4",e[19]=t.substr(e[19]&3|8,1),e[8]=e[13]=e[18]=e[23]="-",e.join("")}const Xn="agent_chat_device_id";function Mt(){let e=localStorage.getItem(Xn);return e||(e=hi(),localStorage.setItem(Xn,e)),e}function cn(e){try{return new URL(e).origin}catch{return""}}function an(e){const t=[];for(const n of e)if(n.role==="user")t.push({role:"user",content:n.content});else if(n.role==="assistant"&&(t.push({role:"assistant",content:n.content,tool_calls:n.tool_calls}),n.toolResults))for(const r of n.toolResults)t.push({role:"tool",tool_call_id:r.callId,content:r.result,name:r.name});return t}function Lo(e){return e===!0?dt:Array.isArray(e)&&e.length?{...dt,tools:dt.tools.filter(t=>e.includes(t.name))}:null}function fi(e,t){const n=Lo(t);return!n||!n.tools.length?e:[n,...e]}function Vo(e){var z,Le;const{toolPackages:t,onToolCall:n=async()=>({success:!0}),provider:r,providerConfig:o,systemPrompt:i,storagePrefix:A="agent_chat_",sendFileToLLM:l=!1,suggestedCommands:c=[],builtInTools:u=!0}=e,f=fi(t,u),h={messages:`${A}messages`,settings:`${A}settings`},d=s.ref([]),g=s.ref({...En}),p=s.ref(!1),F=s.ref(""),I=new Map,D=s.ref(!1);let y=null;const w=((z=e.businessEvents)==null?void 0:z.bus)||Zo();w.setChatOpenGetter(()=>D.value),(Le=e.businessEvents)!=null&&Le.rules.length&&(y=new ai(w,e.businessEvents.rules),y.start({onAutoPopup:()=>{D.value=!0},onRespond:C=>{F.value="",!(!g.value.apiKey&&g.value.providerMode!=="proxy")&&yt(C)}})),s.onUnmounted(()=>{y==null||y.stop(),_e()});const _=new Go;for(const C of f){const K=C.id==="__builtin";for(const Q of C.tools){const x=ui(Q);_.register(x,async G=>{if(K)return await ie(Q,G);const L={packageId:C.id,toolName:Q.name,args:G};return await H(L,C,Q)})}}const b=Wo(),M=Yo(),E=r||{streamChat(C){return(g.value.providerMode==="proxy"?M:b).streamChat(C)}};function v(){const C={...o};return g.value.providerMode==="proxy"?{...C,baseUrl:g.value.proxyUrl,apiKey:"",model:g.value.model,temperature:g.value.temperature}:{...C,baseUrl:g.value.baseUrl,apiKey:g.value.apiKey,model:g.value.model,temperature:g.value.temperature}}const S=Lo(u);let W=i?S!=null&&S.tools.length?`${i}
22
+ `);return`${n}${r}`}class Kn{constructor(){H(this,"exactHandlers",new Map);H(this,"regexHandlers",[]);H(this,"isChatOpen",()=>!0)}setChatOpenGetter(t){this.isChatOpen=t}on(t,n){return typeof t=="string"?(this.exactHandlers.has(t)||this.exactHandlers.set(t,new Set),this.exactHandlers.get(t).add(n),()=>this.off(t,n)):(this.regexHandlers.push({pattern:t,handler:n}),()=>this.off(t,n))}off(t,n){var r;if(typeof t=="string"){(r=this.exactHandlers.get(t))==null||r.delete(n);return}this.regexHandlers=this.regexHandlers.filter(o=>o.pattern!==t||o.handler!==n)}dispatch(t,n=!1){var r;if(!(n&&!this.isChatOpen())){(r=this.exactHandlers.get(t.type))==null||r.forEach(o=>o(t));for(const{pattern:o,handler:i}of this.regexHandlers)o.test(t.type)&&i(t)}}clear(){this.exactHandlers.clear(),this.regexHandlers=[]}}function Bi(){return new Kn}let fn=null;function $t(){return fn||(fn=new Kn),fn}const er="agent:page-action";let io=0,Ft=null,Gn=$t(),pn=null;function tr(e){pn&&pn(),pn=Gn.on(er,t=>{e.pendingAction.value=t.payload})}function nr(){const e=s.ref(null),t={pendingAction:e,dispatch(n){io++,Gn.dispatch({type:er,timestamp:Date.now(),payload:{...n,actionId:io}})},consume(){e.value=null}};return tr(t),t}function or(){return Ft||(Ft=nr()),Ft}function rr(e){Gn=e||$t(),Ft&&tr(Ft)}function wi(e){const t=e.bridge||or();function n(o){const i=o.actionName&&e.handlers[o.actionName]||e.handlers["*"];i&&i(o)}function r(){const o=t.pendingAction.value;!o||o.page!==e.page||(t.consume(),s.nextTick(()=>n(o)))}s.onMounted(()=>{r()}),s.watch(()=>{var o;return(o=t.pendingAction.value)==null?void 0:o.actionId},o=>{o&&r()})}class Fi{constructor(t,n){H(this,"bus");H(this,"rules");H(this,"cooldowns",new Map);H(this,"unsubscribers",[]);this.bus=t,this.rules=n}start(t){for(const n of this.rules){const r=this.bus.on(n.event,o=>{if(this.isOnCooldown(n)||(this.setCooldown(n),n.autoPopup&&t.onAutoPopup(),n.action==="silent"))return;const i=this.buildPrompt(n,o);i&&t.onRespond(i)});this.unsubscribers.push(r)}}stop(){for(const t of this.unsubscribers)t();this.unsubscribers=[],this.cooldowns.clear()}getBus(){return this.bus}isOnCooldown(t){if(!t.cooldown)return!1;const n=typeof t.event=="string"?t.event:t.event.source,r=this.cooldowns.get(n);return r?Date.now()<r:!1}setCooldown(t){if(!t.cooldown)return;const n=typeof t.event=="string"?t.event:t.event.source;this.cooldowns.set(n,Date.now()+t.cooldown)}buildPrompt(t,n){return t.prompt?t.prompt.replace(/\{\{payload\.([^}]+)\}\}/g,(r,o)=>{const i=n.payload[o];return i!==void 0?String(i):`{{payload.${o}}}`}):""}}const zt={apiKey:"",baseUrl:"https://api.deepseek.com",model:"deepseek-v4-flash",temperature:0,providerMode:"direct",proxyUrl:"http://localhost:3001/api/chat",thinking:!1,thinkingEffort:"low",mdTableClick:!0,mdListClick:!0};function xi(e){return{type:"function",function:{name:e.name,description:e.description,parameters:e.parameters}}}function mn(){return`m_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function vi(){let e=[],t="0123456789abcdef";for(let r=0;r<36;r++)e[r]=t.substr(Math.floor(Math.random()*16),1);return e[14]="4",e[19]=t.substr(e[19]&3|8,1),e[8]=e[13]=e[18]=e[23]="-",e.join("")}const so="agent_chat_device_id";function Jt(){let e=localStorage.getItem(so);return e||(e=vi(),localStorage.setItem(so,e)),e}function gn(e){try{return new URL(e).origin}catch{return""}}function Cn(e){const t=[];for(const n of e)if(n.role==="user")t.push({role:"user",content:n.content});else if(n.role==="assistant"&&(t.push({role:"assistant",content:n.content,tool_calls:n.tool_calls}),n.toolResults))for(const r of n.toolResults)t.push({role:"tool",tool_call_id:r.callId,content:r.result,name:r.name});return t}function ir(e){return e===!0?wt:Array.isArray(e)&&e.length?{...wt,tools:wt.tools.filter(t=>e.includes(t.name))}:null}function Si(e,t){const n=ir(t);return!n||!n.tools.length?e:[n,...e]}function sr(e){var Ye,kt,Fe;const{toolPackages:t,onToolCall:n=async()=>({success:!0}),provider:r,providerConfig:o,systemPrompt:i,storagePrefix:A="agent_chat_",sendFileToLLM:l=!1,suggestedCommands:c=[],builtInTools:u=!0,maxContextTokens:d=48e3,maxHistoryMessages:f=60}=e,_=Si(t,u),m={messages:`${A}messages`,settings:`${A}settings`},h=s.ref([]),k=s.ref({...zt}),E=s.ref(!1),g=s.ref(""),b=new Map,v=s.ref(!1);let C=null;const w=((Ye=e.businessEvents)==null?void 0:Ye.bus)||$t();w.setChatOpenGetter(()=>v.value),(kt=e.businessEvents)!=null&&kt.bus&&rr(e.businessEvents.bus),(Fe=e.businessEvents)!=null&&Fe.rules.length&&(C=new Fi(w,e.businessEvents.rules),C.start({onAutoPopup:()=>{v.value=!0},onRespond:D=>{g.value="",!(!k.value.apiKey&&k.value.providerMode!=="proxy")&&ze(D)}})),s.onUnmounted(()=>{C==null||C.stop(),tt()});const Q=new Po;for(const D of _){const G=D.id==="__builtin";for(const W of D.tools){const R=xi(W);Q.register(R,async Y=>{if(G)return await Pe(W,Y);const J={packageId:D.id,toolName:W.name,args:Y};return await ve(J,D,W)})}}const S=zo(),B=jo(),y=r||{streamChat(D){return(k.value.providerMode==="proxy"?B:S).streamChat(D)}};function F(){const D={...o},G=k.value.thinking?{type:"enabled",effort:k.value.thinkingEffort??"low"}:{type:"disabled"};return k.value.providerMode==="proxy"?{...D,baseUrl:k.value.proxyUrl,apiKey:"",model:k.value.model,temperature:k.value.temperature,thinking:G}:{...D,baseUrl:k.value.baseUrl,apiKey:k.value.apiKey,model:k.value.model,temperature:k.value.temperature,thinking:G}}const N=ir(u);let U=i?N!=null&&N.tools.length?`${i}
23
23
 
24
- ${Oo(S)}`:i:Ho(f);W=`${W}
24
+ ${Xo(N)}`:i:$o(_);U=`${U}
25
25
 
26
- ${ei}`;const U=new Ko({provider:E,providerConfig:v(),tools:_,systemPrompt:W});let ne=null;const Z=[];async function H(C,K,Q){const x={toolCallId:`${Date.now()}_${Math.random().toString(36).slice(2,6)}`,packageId:C.packageId,toolName:C.toolName,args:C.args};try{const G=await n(x);return ne={pkg:K,toolDef:Q,data:G,args:C.args},{success:!0,result:typeof G=="string"?G:JSON.stringify(G)}}catch(G){return{success:!1,result:(G==null?void 0:G.message)||"工具执行失败"}}}async function ie(C,K){try{const Q=await Uo(C.name,K);return ne={pkg:dt,toolDef:C,data:Q,args:K},{success:!0,result:typeof Q=="string"?Q:JSON.stringify(Q)}}catch(Q){return{success:!1,result:(Q==null?void 0:Q.message)||"内置工具执行失败"}}}function Ae(){var Se,Te;if(!ne)return;const{pkg:C,toolDef:K,data:Q,args:x}=ne,G=K.displayHints;if(!G)return;const L=d.value[d.value.length-1];if(!(!L||L.role!=="assistant")){if(G.suggestComponent){let X=Q;if(G.resultFormat==="map"){if((Se=Q==null?void 0:Q.data)!=null&&Se.fileId){const se=I.get(Q.data.fileId);se&&(X=se.name.endsWith(".geojson")||se.name.endsWith(".json")?{data:{id:Q.data.fileId,wkt:"",geojson:se.data}}:{data:{id:Q.data.fileId,wkt:se.data,geojson:""}})}else if((Te=Q==null?void 0:Q.data)!=null&&Te.fileIds){const se=Q.data.fileIds.map(oe=>I.get(oe)),Ie=se.filter(oe=>!oe);if(Ie.length)throw new Error(`未找到文件 ${Ie.map(oe=>oe.id)}`);X.data=[],se.forEach(oe=>{oe.name.endsWith(".geojson")||oe.name.endsWith(".json")?X.data.push({id:oe.id,data:oe.data,type:"geojson"}):oe.name.endsWith(".txt")?X.data.push({id:oe.id,data:oe.data,type:"wkt"}):oe.name.endsWith(".tif")?X.data.push({id:oe.id,data:oe,type:"tif"}):X.data.push({id:oe.id,data:oe.data,type:"unknown"})})}L.renderBlocks=[{type:"component",packageId:C.id,componentName:G.suggestComponent,data:X}]}else L.renderBlocks=[{type:"component",packageId:C.id,componentName:G.suggestComponent,data:X}]}else if(G.resultFormat==="table"||G.resultFormat==="card"||G.resultFormat==="list"){const X=Ht(Q);X!=null&&X.length&&(L.renderBlocks=[{type:G.resultFormat,title:Re(G.summaryTemplate,x),data:X,fields:G.previewFields,labelField:G.labelField,selectable:G.selectable}])}if(G.suggestedNext)if(G.suggestedNextEvent){const X=G.suggestedNextEvent,se=w.on(X,()=>Ne(X));Z.push({event:X,text:G.suggestedNext,unsub:se})}else L.suggestedNext=G.suggestedNext}}function Ne(C){const K=Z.findIndex(x=>x.event===C);if(K===-1)return;const Q=Z[K];Q.unsub(),Z.splice(K,1);for(let x=d.value.length-1;x>=0;x--){const G=d.value[x];if(G.role==="assistant"){G.suggestedNext=Q.text;break}}}function _e(){for(const C of Z)C.unsub();Z.length=0}function Re(C,K){if(C)return C.replace(/\{(\w+)\}/g,(Q,x)=>K[x]!==void 0?String(K[x]):Q)}const Qe=new Map;U.on(C=>{var K,Q;switch(C.type){case"message":{if(C.message.role==="tool")break;const x={id:ln(),role:C.message.role,content:C.message.content,reasoning:"",status:C.message.role==="assistant"?"streaming":"done",timestamp:Date.now(),tool_calls:C.message.tool_calls};d.value.push(x);break}case"stream:delta":{const x=d.value[d.value.length-1];(x==null?void 0:x.role)==="assistant"&&x.status==="streaming"&&(C.delta.content&&(x.content+=C.delta.content),C.delta.reasoning&&(x.reasoning=(x.reasoning||"")+C.delta.reasoning));break}case"stream:end":{const x=d.value[d.value.length-1];(x==null?void 0:x.role)==="assistant"&&(x.content=C.content,C.reasoning&&(x.reasoning=C.reasoning));break}case"tool:start":{const x=d.value[d.value.length-1];if(!x||x.role!=="assistant")break;x.tool_calls||(x.tool_calls=[]),x.toolResults||(x.toolResults=[]);const G=x.toolResults.length;x.toolResults.push({callId:C.call.id,name:C.call.function.name,arguments:C.call.function.arguments,result:"",success:!1,status:"running"}),Qe.set(C.call.id,{msgIndex:d.value.length-1,toolIndex:G}),x.tool_calls.find(L=>L.id===C.call.id)||x.tool_calls.push({id:C.call.id,type:"function",function:{name:C.call.function.name,arguments:C.call.function.arguments}});break}case"tool:end":{const x=Qe.get(C.call.id);if(!x)break;const G=(Q=(K=d.value[x.msgIndex])==null?void 0:K.toolResults)==null?void 0:Q[x.toolIndex];G&&(G.result=C.output.result,G.success=C.output.success,G.status=C.output.success?"success":"error"),Qe.delete(C.call.id);break}case"error":{F.value=C.error;const x=d.value[d.value.length-1];(x==null?void 0:x.role)==="assistant"&&(x.status="error",x.error=C.error);break}case"status":{if(p.value=C.loading,!C.loading){const x=d.value[d.value.length-1];(x==null?void 0:x.role)==="assistant"&&x.status==="streaming"&&(x.status="done",x.content||(x.content="(已停止生成)")),Ae()}break}}});function it(){try{const C=localStorage.getItem(h.settings);C&&(g.value={...En,...JSON.parse(C)})}catch{}}function V(C){for(const K of C)if(K.files)for(const Q of K.files)Q.id&&I.set(Q.id,Q)}async function me(){if(g.value.providerMode==="proxy"){try{const C=cn(g.value.proxyUrl);if(!C)return;const K=await fetch(`${C}/api/messages?device_id=${encodeURIComponent(Mt())}`);if(!K.ok)return;const Q=await K.json(),x=Q==null?void 0:Q.messages;Array.isArray(x)&&(d.value=x,V(x),U.initialize(an(x)))}catch{}return}try{const C=localStorage.getItem(h.messages);if(C){const K=JSON.parse(C);Array.isArray(K)&&(d.value=K,V(K),U.initialize(an(K)))}}catch{}}function Et(C){g.value={...C},localStorage.setItem(h.settings,JSON.stringify(C)),C.providerMode==="proxy"?U.updateProviderConfig({baseUrl:C.proxyUrl,apiKey:"",model:C.model,temperature:C.temperature}):U.updateProviderConfig({baseUrl:C.baseUrl,apiKey:C.apiKey,model:C.model,temperature:C.temperature})}async function Zt(){if(g.value.providerMode==="proxy"){try{const C=cn(g.value.proxyUrl);if(!C)return;await fetch(`${C}/api/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({device_id:Mt(),messages:d.value})})}catch{}return}try{localStorage.setItem(h.messages,JSON.stringify(d.value))}catch{}}function Lt(C){return C.startsWith("data:")}async function yt(C,K){const Q=C.trim();if(!Q&&(!K||K.length===0))return;if(F.value="",g.value.providerMode==="direct"&&!g.value.apiKey){F.value="请先配置 API Key。";return}if(U.updateProviderConfig(v()),ne=null,Qe.clear(),K&&K.length>0){for(const L of K)L.id=ln(),I.set(L.id,{...L});const G={id:ln(),role:"user",content:Q,status:"done",timestamp:Date.now(),files:K};d.value.push(G),U.initialize(an(d.value))}let x=Q;K&&K.length>0&&(l?x=`已上传文件:
27
- ${K.map((L,Se)=>{const Te=`${Se+1}. **${L.name}**(${L.type},${(L.size/1024).toFixed(1)}KB),文件ID:\`${L.id}\``;return Lt(L.data)?`${Te}
28
- ${L.data}`:`${Te}
26
+ ${mi}`;const z=new Zo({provider:y,providerConfig:F(),tools:Q,systemPrompt:U,maxContextTokens:d,maxHistoryMessages:f});let $=[],ce=!1;const ue=[];async function ve(D,G,W){const R={toolCallId:`${Date.now()}_${Math.random().toString(36).slice(2,6)}`,packageId:D.packageId,toolName:D.toolName,args:D.args};try{const Y=await n(R);$.push({pkg:G,toolDef:W,data:Y,args:D.args});const J=W.displayHints;return ce=(J==null?void 0:J.showModelContent)===!1&&(!!J.suggestComponent||["table","card","list"].includes(J.resultFormat)),{success:!0,result:typeof Y=="string"?Y:JSON.stringify(Y)}}catch(Y){return{success:!1,result:(Y==null?void 0:Y.message)||"工具执行失败"}}}async function Pe(D,G){try{const W=await qo(D.name,G);$.push({pkg:wt,toolDef:D,data:W,args:G});const R=D.displayHints;return ce=(R==null?void 0:R.showModelContent)===!1&&(!!R.suggestComponent||["table","card","list"].includes(R.resultFormat)),{success:!0,result:typeof W=="string"?W:JSON.stringify(W)}}catch(W){return{success:!1,result:(W==null?void 0:W.message)||"内置工具执行失败"}}}function gt(){var R,Y;const D=h.value[h.value.length-1];if(!D||D.role!=="assistant"){$=[];return}const G=[];let W=!1;for(const{pkg:J,toolDef:Ie,data:se,args:ot}of $){const ee=Ie.displayHints;if(ee){if(ee.suggestComponent){let pe=se;if(ee.resultFormat==="map"){if((R=se==null?void 0:se.data)!=null&&R.fileId){const Ae=b.get(se.data.fileId);Ae&&(pe=Ae.name.endsWith(".geojson")||Ae.name.endsWith(".json")?{data:{id:se.data.fileId,wkt:"",geojson:Ae.data}}:{data:{id:se.data.fileId,wkt:Ae.data,geojson:""}})}else if((Y=se==null?void 0:se.data)!=null&&Y.fileIds){const Ae=se.data.fileIds.map(ae=>b.get(ae));if(Ae.filter(ae=>!ae).length)continue;const Ne=[];Ae.forEach(ae=>{ae.name.endsWith(".geojson")||ae.name.endsWith(".json")?Ne.push({id:ae.id,data:ae.data,type:"geojson"}):ae.name.endsWith(".txt")?Ne.push({id:ae.id,data:ae.data,type:"wkt"}):ae.name.endsWith(".tif")?Ne.push({id:ae.id,data:ae,type:"tif"}):Ne.push({id:ae.id,data:ae.data,type:"unknown"})}),pe={...se,data:Ne}}}G.push({type:"component",packageId:J.id,componentName:ee.suggestComponent,data:pe})}else if(ee.resultFormat==="table"||ee.resultFormat==="card"||ee.resultFormat==="list"||ee.resultFormat==="auto"){const pe=Mt(se);if(pe!=null&&pe.length){const Ae=ee.resultFormat==="auto"?Mn(se):ee.resultFormat;if(Ae==="none")continue;G.push({type:Ae,title:X(ee.summaryTemplate,ot),data:pe,fields:ee.previewFields,labelField:ee.labelField,selectable:ee.selectable})}}if(ee.showModelContent===!1&&(ee.suggestComponent||["table","card","list","auto"].includes(ee.resultFormat))&&(W=!0),ee.suggestedNext)if(ee.suggestedNextEvent){const pe=ee.suggestedNextEvent,Ae=w.on(pe,()=>Ct(pe));ue.push({event:pe,text:ee.suggestedNext,unsub:Ae})}else D.suggestedNext=ee.suggestedNext}}W&&!G.length&&(W=!1),D.renderBlocks=G,D.hideMarkdown=W,$=[]}function Ct(D){const G=ue.findIndex(R=>R.event===D);if(G===-1)return;const W=ue[G];W.unsub(),ue.splice(G,1);for(let R=h.value.length-1;R>=0;R--){const Y=h.value[R];if(Y.role==="assistant"){Y.suggestedNext=W.text;break}}}function tt(){for(const D of ue)D.unsub();ue.length=0}function X(D,G){if(D)return D.replace(/\{(\w+)\}/g,(W,R)=>G[R]!==void 0?String(G[R]):W)}const Se=new Map;z.on(D=>{var G,W;switch(D.type){case"message":{if(D.message.role==="tool")break;const R={id:mn(),role:D.message.role,content:D.message.content,reasoning:"",status:D.message.role==="assistant"?"streaming":"done",timestamp:Date.now(),tool_calls:D.message.tool_calls};D.message.role==="assistant"&&ce&&(R.hideMarkdown=!0,ce=!1),h.value.push(R);break}case"stream:delta":{const R=h.value[h.value.length-1];(R==null?void 0:R.role)==="assistant"&&R.status==="streaming"&&(D.delta.content&&(R.content+=D.delta.content),D.delta.reasoning&&(R.reasoning=(R.reasoning||"")+D.delta.reasoning));break}case"stream:end":{const R=h.value[h.value.length-1];(R==null?void 0:R.role)==="assistant"&&(R.content=D.content,D.reasoning&&(R.reasoning=D.reasoning),R.status==="streaming"&&(R.status="done"));break}case"tool:start":{const R=h.value[h.value.length-1];if(!R||R.role!=="assistant")break;R.tool_calls||(R.tool_calls=[]),R.toolResults||(R.toolResults=[]);const Y=R.toolResults.length;R.toolResults.push({callId:D.call.id,name:D.call.function.name,arguments:D.call.function.arguments,result:"",success:!1,status:"running"}),Se.set(D.call.id,{msgIndex:h.value.length-1,toolIndex:Y}),R.tool_calls.find(J=>J.id===D.call.id)||R.tool_calls.push({id:D.call.id,type:"function",function:{name:D.call.function.name,arguments:D.call.function.arguments}});break}case"tool:end":{const R=Se.get(D.call.id);if(!R)break;const Y=(W=(G=h.value[R.msgIndex])==null?void 0:G.toolResults)==null?void 0:W[R.toolIndex];Y&&(Y.result=D.output.result,Y.success=D.output.success,Y.status=D.output.success?"success":"error"),Se.delete(D.call.id);break}case"error":{g.value=D.error;const R=h.value[h.value.length-1];(R==null?void 0:R.role)==="assistant"&&(R.status="error",R.error=D.error);break}case"status":{if(E.value=D.loading,!D.loading){let R=null;for(const Y of h.value)Y.role==="assistant"&&Y.status==="streaming"&&(Y.status="done",!Y.content&&!R&&(R=Y));R&&(R.content="(已停止生成)"),gt()}break}}});function _t(){try{const D=localStorage.getItem(m.settings);k.value={...zt,...e.settings??{},...D?JSON.parse(D):{}}}catch{k.value={...zt,...e.settings??{}}}}function nt(D){for(const G of D)if(G.files)for(const W of G.files)W.id&&b.set(W.id,W)}async function ne(){if(k.value.providerMode==="proxy"){try{const D=gn(k.value.proxyUrl);if(!D)return;const G=await fetch(`${D}/api/messages?device_id=${encodeURIComponent(Jt())}`);if(!G.ok)return;const W=await G.json(),R=W==null?void 0:W.messages;Array.isArray(R)&&(h.value=R,nt(R),z.initialize(Cn(R)))}catch{}return}try{const D=localStorage.getItem(m.messages);if(D){const G=JSON.parse(D);Array.isArray(G)&&(h.value=G,nt(G),z.initialize(Cn(G)))}}catch{}}function V(D){k.value={...D},localStorage.setItem(m.settings,JSON.stringify(D)),D.providerMode==="proxy"?z.updateProviderConfig({baseUrl:D.proxyUrl,apiKey:"",model:D.model,temperature:D.temperature}):z.updateProviderConfig({baseUrl:D.baseUrl,apiKey:D.apiKey,model:D.model,temperature:D.temperature})}async function Be(){if(k.value.providerMode==="proxy"){try{const D=gn(k.value.proxyUrl);if(!D)return;await fetch(`${D}/api/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({device_id:Jt(),messages:h.value})})}catch{}return}try{localStorage.setItem(m.messages,JSON.stringify(h.value))}catch{}}function ye(D){return D.startsWith("data:")}async function ze(D,G){const W=D.trim();if(!W&&(!G||G.length===0))return;if(g.value="",k.value.providerMode==="direct"&&!k.value.apiKey){g.value="请先配置 API Key。";return}if(z.updateProviderConfig(F()),$=[],Se.clear(),G&&G.length>0){for(const J of G)J.id=mn(),b.set(J.id,{...J});const Y={id:mn(),role:"user",content:W,status:"done",timestamp:Date.now(),files:G};h.value.push(Y),z.initialize(Cn(h.value))}let R=W;G&&G.length>0&&(l?R=`已上传文件:
27
+ ${G.map((J,Ie)=>{const se=`${Ie+1}. **${J.name}**(${J.type},${(J.size/1024).toFixed(1)}KB),文件ID:\`${J.id}\``;return ye(J.data)?`${se}
28
+ ${J.data}`:`${se}
29
29
  \`\`\`
30
- ${L.data}
30
+ ${J.data}
31
31
  \`\`\``}).join(`
32
32
 
33
- `)}`+(Q?`
33
+ `)}`+(W?`
34
34
 
35
- ${Q}`:""):x=`已上传文件:
36
- ${K.map((L,Se)=>`${Se+1}. **${L.name}**(${L.type},${(L.size/1024).toFixed(1)}KB),文件ID:\`${L.id}\``).join(`
37
- `)}`+(Q?`
35
+ ${W}`:""):R=`已上传文件:
36
+ ${G.map((J,Ie)=>`${Ie+1}. **${J.name}**(${J.type},${(J.size/1024).toFixed(1)}KB),文件ID:\`${J.id}\``).join(`
37
+ `)}`+(W?`
38
38
 
39
- ${Q}`:"")),await U.sendMessage(x)}function Vt(){U.stop()}async function Bt(){if(st(),U.clear(),d.value=[],F.value="",ne=null,_e(),I.clear(),g.value.providerMode==="proxy")try{const C=cn(g.value.proxyUrl);C&&await fetch(`${C}/api/messages?device_id=${encodeURIComponent(Mt())}`,{method:"DELETE"})}catch{}else localStorage.removeItem(h.messages)}const Pt=s.computed(()=>g.value.providerMode==="proxy"||!!g.value.apiKey);s.onMounted(()=>{it(),me()});let Ee=null;function j(){Ee&&clearTimeout(Ee),Ee=setTimeout(()=>{Ee=null,Zt()},400)}function st(){Ee&&(clearTimeout(Ee),Ee=null)}return s.watch(d,()=>j(),{deep:!0}),{messages:d,settings:g,loading:p,errorMsg:F,hasApiKey:Pt,toolPackages:t,fileStore:I,visible:D,eventBus:w,deviceId:Mt(),sendMessage:yt,stopGeneration:Vt,clearMessages:Bt,saveSettings:Et,suggestedCommands:c}}/*! Element Plus Icons Vue v2.3.2 */var di=s.defineComponent({name:"ChatDotRound",__name:"chat-dot-round",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.06 461.06 0 0 1-206.912-48.384l-175.616 58.56z"}),s.createElementVNode("path",{fill:"currentColor",d:"M512 563.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4"})]))}}),pi=di,mi=s.defineComponent({name:"Close",__name:"close",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),gi=mi,Ci=s.defineComponent({name:"Delete",__name:"delete",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),_i=Ci,ki=s.defineComponent({name:"Document",__name:"document",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),Po=ki,Ii=s.defineComponent({name:"FullScreen",__name:"full-screen",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),Di=Ii,Ei=s.defineComponent({name:"InfoFilled",__name:"info-filled",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),yi=Ei,Bi=s.defineComponent({name:"Paperclip",__name:"paperclip",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M602.496 240.448A192 192 0 1 1 874.048 512l-316.8 316.8A256 256 0 0 1 195.2 466.752L602.496 59.456l45.248 45.248L240.448 512A192 192 0 0 0 512 783.552l316.8-316.8a128 128 0 1 0-181.056-181.056L353.6 579.904a32 32 0 1 0 45.248 45.248l294.144-294.144 45.312 45.248L444.096 670.4a96 96 0 1 1-135.744-135.744z"})]))}}),bi=Bi,Fi=s.defineComponent({name:"Picture",__name:"picture",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32"}),s.createElementVNode("path",{fill:"currentColor",d:"M384 288q64 0 64 64t-64 64-64-64 64-64M185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952z"})]))}}),wi=Fi,xi=s.defineComponent({name:"Promotion",__name:"promotion",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472zm256 512V657.024L512 768z"})]))}}),vi=xi,Si=s.defineComponent({name:"Setting",__name:"setting",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357 357 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a352 352 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357 357 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294 294 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293 293 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294 294 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288 288 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293 293 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a288 288 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384m0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256"})]))}}),$n=Si,Ni=s.defineComponent({name:"UserFilled",__name:"user-filled",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0m544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z"})]))}}),Ri=Ni,Qi=s.defineComponent({name:"VideoPause",__name:"video-pause",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32m192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32"})]))}}),Ti=Qi,Mi=s.defineComponent({name:"View",__name:"view",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),Ki=Mi;const Gi={class:"render-block"},Wi={key:0,class:"render-block__title"},Yi={key:2,class:"render-block__cards"},Oi={class:"card-item"},Hi={class:"card-label"},Ui={class:"card-value"},Ji={key:3,class:"render-block__table"},Zi={key:4,class:"render-block__cards"},Li={class:"card-label"},Vi={class:"card-value"},Pi={key:5,class:"render-block__list"},zi=400,ji=320,Xi=80,$i=s.defineComponent({__name:"RenderBlock",props:{block:{},resolvedComponent:{}},emits:["select"],setup(e,{emit:t}){const n=e,r=t,o=s.computed(()=>n.block.data||{}),i=s.computed(()=>n.block.selectable&&A.value.length>1),A=s.computed(()=>Array.isArray(o.value)?o.value:o.value.list?Array.isArray(o.value.list)?o.value.list:[]:o.value.items?Array.isArray(o.value.items)?o.value.items:[]:[o.value]),l=s.computed(()=>{var d;return A.value.length?(d=n.block.fields)!=null&&d.length?n.block.fields:Object.keys(A.value[0]):[]});function c(d){if(d==null)return 0;let g=0;for(const p of String(d))g+=/^[\u2E80-\u9FFF\uF900-\uFAFF\uFF00-\uFFEF]/.test(p)?14:8;return g}const u=s.computed(()=>{const d={};for(const g of l.value){let p=c(g);for(const F of A.value){const I=F!=null?F[g]:void 0;I!=null&&(p=Math.max(p,c(String(I))))}d[g]=Math.min(ji,Math.max(Xi,p+32))}return d});function f(d){return typeof d=="string"?d:Object.values(d).join(" - ")}function h(d){var p;const g=(n.block.labelField&&(d==null?void 0:d[n.block.labelField])!=null?d[n.block.labelField]:(p=n.block.fields)!=null&&p.length?d==null?void 0:d[n.block.fields[0]]:(d==null?void 0:d.name)??(d==null?void 0:d.title)??(d==null?void 0:d.id)??Object.values(d??{})[0])??"";r("select",`我选择 ${g}`)}return(d,g)=>{const p=s.resolveComponent("el-button");return s.openBlock(),s.createElementBlock("div",Gi,[e.block.title?(s.openBlock(),s.createElementBlock("div",Wi,s.toDisplayString(e.block.title),1)):s.createCommentVNode("",!0),e.resolvedComponent?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(e.resolvedComponent),{key:1,class:"render-block__component",data:e.block.data},null,8,["data"])):e.block.type==="component"?(s.openBlock(),s.createElementBlock("div",Yi,[s.createElementVNode("div",Oi,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(A.value[0],(F,I)=>(s.openBlock(),s.createElementBlock("div",{key:I,class:"card-field"},[s.createElementVNode("span",Hi,s.toDisplayString(I)+":",1),s.createElementVNode("span",Ui,s.toDisplayString(F),1)]))),128))])])):e.block.type==="table"?(s.openBlock(),s.createElementBlock("div",Ji,[s.createVNode(s.unref(Yt.ElTable),{data:A.value,"max-height":zi,border:"",stripe:"",size:"small","table-layout":"fixed",style:{width:"100%"}},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(l.value,F=>(s.openBlock(),s.createBlock(s.unref(Yt.ElTableColumn),{key:F,prop:F,label:F,width:u.value[F],align:"center","show-overflow-tooltip":""},null,8,["prop","label","width"]))),128)),i.value?(s.openBlock(),s.createBlock(s.unref(Yt.ElTableColumn),{key:0,label:"操作","min-width":80,align:"center",fixed:"right"},{default:s.withCtx(({row:F})=>[s.createVNode(p,{size:"small",type:"primary",plain:"",onClick:I=>h(F)},{default:s.withCtx(()=>[...g[0]||(g[0]=[s.createTextVNode(" 选择 ",-1)])]),_:1},8,["onClick"])]),_:1})):s.createCommentVNode("",!0)]),_:1},8,["data"])])):e.block.type==="card"?(s.openBlock(),s.createElementBlock("div",Zi,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(A.value,(F,I)=>(s.openBlock(),s.createElementBlock("div",{key:I,class:"card-item"},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(F,(D,y)=>(s.openBlock(),s.createElementBlock("div",{key:y,class:"card-field"},[s.createElementVNode("span",Li,s.toDisplayString(y)+":",1),s.createElementVNode("span",Vi,s.toDisplayString(D),1)]))),128))]))),128))])):e.block.type==="list"?(s.openBlock(),s.createElementBlock("div",Pi,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(A.value,(F,I)=>(s.openBlock(),s.createElementBlock("div",{key:I,class:"list-item"},s.toDisplayString(f(F)),1))),128))])):s.createCommentVNode("",!0)])}}}),rt=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},zo=rt($i,[["__scopeId","data-v-dd314030"]]),qi={key:0,class:"suggested-next"},es={class:"suggested-next__text"},ts=s.defineComponent({__name:"SuggestedNext",props:{text:{}},emits:["execute"],setup(e,{emit:t}){const n=e,r=t;function o(){r("execute",n.text)}return(i,A)=>{const l=s.resolveComponent("el-button");return e.text?(s.openBlock(),s.createElementBlock("div",qi,[A[1]||(A[1]=s.createElementVNode("span",{class:"suggested-next__icon"},"💡",-1)),s.createElementVNode("span",es,s.toDisplayString(e.text),1),s.createVNode(l,{size:"small",type:"primary",plain:"",onClick:o},{default:s.withCtx(()=>[...A[0]||(A[0]=[s.createTextVNode("去执行",-1)])]),_:1})])):s.createCommentVNode("",!0)}}}),jo=rt(ts,[["__scopeId","data-v-0e0e9b65"]]),qn={};function ns(e){let t=qn[e];if(t)return t;t=qn[e]=[];for(let n=0;n<128;n++){const r=String.fromCharCode(n);t.push(r)}for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);t[r]="%"+("0"+r.toString(16).toUpperCase()).slice(-2)}return t}function nt(e,t){typeof t!="string"&&(t=nt.defaultChars);const n=ns(t);return e.replace(/(%[a-f0-9]{2})+/gi,function(r){let o="";for(let i=0,A=r.length;i<A;i+=3){const l=parseInt(r.slice(i+1,i+3),16);if(l<128){o+=n[l];continue}if((l&224)===192&&i+3<A){const c=parseInt(r.slice(i+4,i+6),16);if((c&192)===128){const u=l<<6&1984|c&63;u<128?o+="��":o+=String.fromCharCode(u),i+=3;continue}}if((l&240)===224&&i+6<A){const c=parseInt(r.slice(i+4,i+6),16),u=parseInt(r.slice(i+7,i+9),16);if((c&192)===128&&(u&192)===128){const f=l<<12&61440|c<<6&4032|u&63;f<2048||f>=55296&&f<=57343?o+="���":o+=String.fromCharCode(f),i+=6;continue}}if((l&248)===240&&i+9<A){const c=parseInt(r.slice(i+4,i+6),16),u=parseInt(r.slice(i+7,i+9),16),f=parseInt(r.slice(i+10,i+12),16);if((c&192)===128&&(u&192)===128&&(f&192)===128){let h=l<<18&1835008|c<<12&258048|u<<6&4032|f&63;h<65536||h>1114111?o+="����":(h-=65536,o+=String.fromCharCode(55296+(h>>10),56320+(h&1023))),i+=9;continue}}o+="�"}return o})}nt.defaultChars=";/?:@&=+$,#";nt.componentChars="";const eo={};function os(e){let t=eo[e];if(t)return t;t=eo[e]=[];for(let n=0;n<128;n++){const r=String.fromCharCode(n);/^[0-9a-z]$/i.test(r)?t.push(r):t.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n<e.length;n++)t[e.charCodeAt(n)]=e[n];return t}function Dt(e,t,n){typeof t!="string"&&(n=t,t=Dt.defaultChars),typeof n>"u"&&(n=!0);const r=os(t);let o="";for(let i=0,A=e.length;i<A;i++){const l=e.charCodeAt(i);if(n&&l===37&&i+2<A&&/^[0-9a-f]{2}$/i.test(e.slice(i+1,i+3))){o+=e.slice(i,i+3),i+=2;continue}if(l<128){o+=r[l];continue}if(l>=55296&&l<=57343){if(l>=55296&&l<=56319&&i+1<A){const c=e.charCodeAt(i+1);if(c>=56320&&c<=57343){o+=encodeURIComponent(e[i]+e[i+1]),i++;continue}}o+="%EF%BF%BD";continue}o+=encodeURIComponent(e[i])}return o}Dt.defaultChars=";/?:@&=+$,-_.!~*'()#";Dt.componentChars="-_.!~*'()";function yn(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function Ot(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}const rs=/^([a-z0-9.+-]+:)/i,is=/:[0-9]*$/,ss=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,As=["<",">",'"',"`"," ","\r",`
40
- `," "],ls=["{","}","|","\\","^","`"].concat(As),cs=["'"].concat(ls),to=["%","/","?",";","#"].concat(cs),no=["/","?","#"],as=255,oo=/^[+a-z0-9A-Z_-]{0,63}$/,us=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,ro={javascript:!0,"javascript:":!0},io={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Bn(e,t){if(e&&e instanceof Ot)return e;const n=new Ot;return n.parse(e,t),n}Ot.prototype.parse=function(e,t){let n,r,o,i=e;if(i=i.trim(),!t&&e.split("#").length===1){const u=ss.exec(i);if(u)return this.pathname=u[1],u[2]&&(this.search=u[2]),this}let A=rs.exec(i);if(A&&(A=A[0],n=A.toLowerCase(),this.protocol=A,i=i.substr(A.length)),(t||A||i.match(/^\/\/[^@\/]+@[^@\/]+/))&&(o=i.substr(0,2)==="//",o&&!(A&&ro[A])&&(i=i.substr(2),this.slashes=!0)),!ro[A]&&(o||A&&!io[A])){let u=-1;for(let p=0;p<no.length;p++)r=i.indexOf(no[p]),r!==-1&&(u===-1||r<u)&&(u=r);let f,h;u===-1?h=i.lastIndexOf("@"):h=i.lastIndexOf("@",u),h!==-1&&(f=i.slice(0,h),i=i.slice(h+1),this.auth=f),u=-1;for(let p=0;p<to.length;p++)r=i.indexOf(to[p]),r!==-1&&(u===-1||r<u)&&(u=r);u===-1&&(u=i.length),i[u-1]===":"&&u--;const d=i.slice(0,u);i=i.slice(u),this.parseHost(d),this.hostname=this.hostname||"";const g=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!g){const p=this.hostname.split(/\./);for(let F=0,I=p.length;F<I;F++){const D=p[F];if(D&&!D.match(oo)){let y="";for(let w=0,_=D.length;w<_;w++)D.charCodeAt(w)>127?y+="x":y+=D[w];if(!y.match(oo)){const w=p.slice(0,F),_=p.slice(F+1),b=D.match(us);b&&(w.push(b[1]),_.unshift(b[2])),_.length&&(i=_.join(".")+i),this.hostname=w.join(".");break}}}}this.hostname.length>as&&(this.hostname=""),g&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const l=i.indexOf("#");l!==-1&&(this.hash=i.substr(l),i=i.slice(0,l));const c=i.indexOf("?");return c!==-1&&(this.search=i.substr(c),i=i.slice(0,c)),i&&(this.pathname=i),io[n]&&this.hostname&&!this.pathname&&(this.pathname=""),this};Ot.prototype.parseHost=function(e){let t=is.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};const hs=Object.freeze(Object.defineProperty({__proto__:null,decode:nt,encode:Dt,format:yn,parse:Bn},Symbol.toStringTag,{value:"Module"})),Xo=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,$o=/[\0-\x1F\x7F-\x9F]/,fs=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,xn=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B4E\u1B4F\u1B5A-\u1B60\u1B7D-\u1B7F\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDD6E\uDEAD\uDED0\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9\uDFD4\uDFD5\uDFD7\uDFD8]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09\uDFE1]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDD6D-\uDD6F\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD839\uDDFF|\uD83A[\uDD5E\uDD5F]/,qo=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C1\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2429\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E5\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD803[\uDD8E\uDD8F\uDED1-\uDED8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDC00-\uDCEF\uDCFA-\uDCFC\uDD00-\uDEB3\uDEBA-\uDED0\uDEE0-\uDEF0\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED8\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0-\uDCBB\uDCC0\uDCC1\uDCD0-\uDCD8\uDD00-\uDE57\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF-\uDEF8\uDF00-\uDF92\uDF94-\uDFEF\uDFFA]/,er=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,ds=Object.freeze(Object.defineProperty({__proto__:null,Any:Xo,Cc:$o,Cf:fs,P:xn,S:qo,Z:er},Symbol.toStringTag,{value:"Module"})),ps=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function ms(e){return e>=55296&&e<=57343||e>1114111?65533:ps.get(e)??e}function gs(e){const t=atob(e),n=t.length&-2,r=new Uint16Array(n/2);for(let o=0,i=0;o<n;o+=2){const A=t.charCodeAt(o),l=t.charCodeAt(o+1);r[i++]=A|l<<8}return r}const Cs=gs("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");var pe;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(pe||(pe={}));var te;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(te||(te={}));const so=32;function bn(e){return e>=te.ZERO&&e<=te.NINE}function _s(e){return e>=te.UPPER_A&&e<=te.UPPER_F||e>=te.LOWER_A&&e<=te.LOWER_F}function ks(e){return e>=te.UPPER_A&&e<=te.UPPER_Z||e>=te.LOWER_A&&e<=te.LOWER_Z||bn(e)}function Is(e){return e===te.EQUALS||ks(e)}var ce;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(ce||(ce={}));var We;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(We||(We={}));class Ds{constructor(t,n,r){O(this,"decodeTree");O(this,"emitCodePoint");O(this,"errors");O(this,"state",ce.EntityStart);O(this,"consumed",1);O(this,"result",0);O(this,"treeIndex",0);O(this,"excess",1);O(this,"decodeMode",We.Strict);O(this,"runConsumed",0);this.decodeTree=t,this.emitCodePoint=n,this.errors=r}startEntity(t){this.decodeMode=t,this.state=ce.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(t,n){switch(this.state){case ce.EntityStart:return t.charCodeAt(n)===te.NUM?(this.state=ce.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=ce.NamedEntity,this.stateNamedEntity(t,n));case ce.NumericStart:return this.stateNumericStart(t,n);case ce.NumericDecimal:return this.stateNumericDecimal(t,n);case ce.NumericHex:return this.stateNumericHex(t,n);case ce.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|so)===te.LOWER_X?(this.state=ce.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=ce.NumericDecimal,this.stateNumericDecimal(t,n))}stateNumericHex(t,n){for(;n<t.length;){const r=t.charCodeAt(n);if(bn(r)||_s(r)){const o=r<=te.NINE?r-te.ZERO:(r|so)-te.LOWER_A+10;this.result=this.result*16+o,this.consumed++,n++}else return this.emitNumericEntity(r,3)}return-1}stateNumericDecimal(t,n){for(;n<t.length;){const r=t.charCodeAt(n);if(bn(r))this.result=this.result*10+(r-te.ZERO),this.consumed++,n++;else return this.emitNumericEntity(r,2)}return-1}emitNumericEntity(t,n){var r;if(this.consumed<=n)return(r=this.errors)==null||r.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(t===te.SEMI)this.consumed+=1;else if(this.decodeMode===We.Strict)return 0;return this.emitCodePoint(ms(this.result),this.consumed),this.errors&&(t!==te.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(t,n){const{decodeTree:r}=this;let o=r[this.treeIndex],i=(o&pe.VALUE_LENGTH)>>14;for(;n<t.length;){if(i===0&&(o&pe.FLAG13)!==0){const l=(o&pe.BRANCH_LENGTH)>>7;if(this.runConsumed===0){const c=o&pe.JUMP_TABLE;if(t.charCodeAt(n)!==c)return this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}for(;this.runConsumed<l;){if(n>=t.length)return-1;const c=this.runConsumed-1,u=r[this.treeIndex+1+(c>>1)],f=c%2===0?u&255:u>>8&255;if(t.charCodeAt(n)!==f)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(l>>1),o=r[this.treeIndex],i=(o&pe.VALUE_LENGTH)>>14}if(n>=t.length)break;const A=t.charCodeAt(n);if(A===te.SEMI&&i!==0&&(o&pe.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);if(this.treeIndex=ys(r,o,this.treeIndex+Math.max(1,i),A),this.treeIndex<0)return this.result===0||this.decodeMode===We.Attribute&&(i===0||Is(A))?0:this.emitNotTerminatedNamedEntity();if(o=r[this.treeIndex],i=(o&pe.VALUE_LENGTH)>>14,i!==0){if(A===te.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==We.Strict&&(o&pe.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}n++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var o;const{result:t,decodeTree:n}=this,r=(n[t]&pe.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),(o=this.errors)==null||o.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,r){const{decodeTree:o}=this;return this.emitCodePoint(n===1?o[t]&~(pe.VALUE_LENGTH|pe.FLAG13):o[t+1],r),n===3&&this.emitCodePoint(o[t+2],r),r}end(){var t;switch(this.state){case ce.NamedEntity:return this.result!==0&&(this.decodeMode!==We.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case ce.NumericDecimal:return this.emitNumericEntity(0,2);case ce.NumericHex:return this.emitNumericEntity(0,3);case ce.NumericStart:return(t=this.errors)==null||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case ce.EntityStart:return 0}}}function Es(e){let t="";const n=new Ds(e,r=>t+=String.fromCodePoint(r));return function(o,i){let A=0,l=0;for(;(l=o.indexOf("&",l))>=0;){t+=o.slice(A,l),n.startEntity(i);const u=n.write(o,l+1);if(u<0){A=l+n.end();break}A=l+u,l=u===0?A+1:A}const c=t+o.slice(A);return t="",c}}function ys(e,t,n,r){const o=(t&pe.BRANCH_LENGTH)>>7,i=t&pe.JUMP_TABLE;if(o===0)return i!==0&&r===i?n:-1;if(i){const u=r-i;return u<0||u>=o?-1:e[n+u]-1}const A=o+1>>1;let l=0,c=o-1;for(;l<=c;){const u=l+c>>>1,f=u>>1,d=e[n+f]>>(u&1)*8&255;if(d<r)l=u+1;else if(d>r)c=u-1;else return e[n+A+u]}return-1}const Bs=Es(Cs);function tr(e){return Bs(e,We.Strict)}var bs=class{constructor(e={}){O(this,"src_Any",Xo.source);O(this,"src_Cc",$o.source);O(this,"src_Z",er.source);O(this,"src_P",xn.source);O(this,"src_ZPCc",[this.src_Z,this.src_P,this.src_Cc].join("|"));O(this,"src_ZCc",[this.src_Z,this.src_Cc].join("|"));O(this,"cache",{});O(this,"opts",{maxLength:1e4,urlAuth:!1,schema_names:[]});this.opts={...this.opts,...e}}set(e={}){return this.opts={...this.opts,...e},this.cache={},this}escapeRE(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}nestedPairRE(e,t,n=4){const r=this.escapeRE(e),o=this.escapeRE(t),i=`(?:(?!${this.src_ZCc}|${r}|${o}).)`;let A=`${r}${i}{0,1000}${o}`;for(let l=2;l<=n;l++)A=`${r}(?:${i}|${A}){0,1000}${o}`;return A}get_text_separators(){var e;return(e=this.cache).text_separators??(e.text_separators=/[><\uff5c]/)}get_pseudo_letter(){var e;return(e=this.cache).src_pseudo_letter??(e.src_pseudo_letter=new RegExp(`(?:(?!${this.get_text_separators().source}|${this.src_ZPCc})${this.src_Any})`))}get_ipv4_addr(){var e;return(e=this.cache).src_ip4??(e.src_ip4=new RegExp("(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])"))}get_ipv6_addr(){var n;const e="[0-9A-Fa-f]{1,4}",t=`(?:(?:${e}:${e})|${this.get_ipv4_addr().source})`;return(n=this.cache).src_ip6_addr??(n.src_ip6_addr=new RegExp(`(?:(?:${e}:){6}${t}|::(?:${e}:){5}${t}|(?:${e})?::(?:${e}:){4}${t}|(?:(?:${e}:){0,1}${e})?::(?:${e}:){3}${t}|(?:(?:${e}:){0,2}${e})?::(?:${e}:){2}${t}|(?:(?:${e}:){0,3}${e})?::${e}:${t}|(?:(?:${e}:){0,4}${e})?::${t}|(?:(?:${e}:){0,5}${e})?::${e}|(?:(?:${e}:){0,6}${e})?::)`))}get_ipv6_url_host(){var e;return(e=this.cache).src_ip6_host??(e.src_ip6_host=new RegExp(`\\[${this.get_ipv6_addr().source}\\]`))}get_ipv6_mail_host(){var e;return(e=this.cache).src_ipv6_mail_host??(e.src_ipv6_mail_host=new RegExp(`\\[IPv6:${this.get_ipv6_addr().source}\\]`))}get_auth(){var e;return(e=this.cache).src_auth??(e.src_auth=new RegExp(`(?:(?:(?!${this.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`))}get_port(){var e;return(e=this.cache).src_port??(e.src_port=new RegExp("(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?"))}get_host_terminator(){var e;return(e=this.cache).src_host_terminator??(e.src_host_terminator=new RegExp(`(?=$|${this.get_text_separators().source}|${this.src_ZPCc})(?!${this.opts["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${this.src_ZPCc}))`))}get_path_terminator(){var e;return(e=this.cache).src_path_terminator??(e.src_path_terminator=new RegExp(`${this.src_ZPCc}|${this.get_text_separators().source}`))}get_path(){var e;return(e=this.cache).src_path??(e.src_path=new RegExp(`(?:[/?#](?:${this.nestedPairRE("[","]")}|${this.nestedPairRE("(",")")}|${this.nestedPairRE("{","}")}|\\"(?:(?!${this.src_ZCc}|["]).){1,100}\\"|\\'(?:(?!${this.src_ZCc}|[']).){1,100}\\'|\\'(?=${this.get_pseudo_letter().source}|[-])|\\.{2,20}[:]?[a-zA-Z0-9%/&]|\\.(?!${this.src_ZCc}|[.]|$)|`+(this.opts["---"]?"\\-(?!--(?:[^-]|$))(?:-{0,19})|":"\\-{1,20}|")+`,(?!${this.src_ZCc}|$)|;(?!${this.src_ZCc}|$)|\\!{1,20}(?!${this.src_ZCc}|[!]|$)|\\?(?!${this.src_ZCc}|[?]|$)|`+this.get_path_extra().source+`[\\\\/:%@#&=_~*]|(?!${this.get_path_terminator().source}).){1,${this.opts.maxLength}}|\\/)?`))}get_mail_name(){var e;return(e=this.cache).src_mail_name??(e.src_mail_name=new RegExp("[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9](?:[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]|[.](?=[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9])){0,63}"))}get_xn(){var e;return(e=this.cache).src_xn??(e.src_xn=new RegExp("xn--[a-z0-9\\-]{1,59}"))}get_tld(){if(this.cache.tld)return this.cache.tld;const e=[...new Set(this.opts.tlds||[])].sort().reverse().join("|");return this.cache.tld=new RegExp(`${e||"$#none#$"}|${this.get_xn().source}`),this.cache.tld}get_domain_root(){var e;return(e=this.cache).src_domain_root??(e.src_domain_root=new RegExp("(?:"+this.get_xn().source+`|${this.get_pseudo_letter().source}{1,63})`))}get_domain(){var e;return(e=this.cache).src_domain??(e.src_domain=new RegExp("(?:"+this.get_xn().source+`|(?:${this.get_pseudo_letter().source})|(?:${this.get_pseudo_letter().source}(?:-|${this.get_pseudo_letter().source}){0,61}${this.get_pseudo_letter().source}))`))}get_url_host_port(){var e;return(e=this.cache).url_host_port??(e.url_host_port=new RegExp("(?:"+this.get_ipv6_url_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,10}${this.get_domain().source}))`+this.get_port().source+this.get_host_terminator().source))}get_fuzzy_url_host_port(){var e;return(e=this.cache).fuzzy_url_host_port??(e.fuzzy_url_host_port=new RegExp("(?:"+(this.opts.fuzzyIP?this.get_ipv4_addr().source+"|":"")+`(?:(?:(?:${this.get_domain().source})\\.){1,10}(?:${this.get_tld().source})))`+this.get_host_terminator().source))}get_mail_host(){var e;return(e=this.cache).src_mail_host??(e.src_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,4}${this.get_domain().source}))`+this.get_host_terminator().source))}get_fuzzy_mail_host(){var e;return(e=this.cache).src_fuzzy_mail_host??(e.src_fuzzy_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})[.]){1,4}${this.get_domain_root().source}))`+this.get_host_terminator().source))}get_path_extra(){var e;return(e=this.cache).src_path_extra??(e.src_path_extra=new RegExp(""))}get_fuzzy_mail_host_search(){var e;return(e=this.cache).mail_fuzzy_host_search??(e.mail_fuzzy_host_search=new RegExp(`@${this.get_fuzzy_mail_host().source}`,"ig"))}get_fuzzy_link_search(){var e;return(e=this.cache).link_fuzzy_search??(e.link_fuzzy_search=new RegExp(`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${this.src_ZPCc}))(?:(?![$+<=>^\`||])${this.get_fuzzy_url_host_port().source}${this.get_path().source})`,"ig"))}get_http_validator(){var e;return(e=this.cache).http_validator??(e.http_validator=new RegExp("\\/\\/"+(this.opts.urlAuth?this.get_auth().source:"")+this.get_url_host_port().source+this.get_path().source,"iy"))}get_relative_proto_validator(){var e;return(e=this.cache).relative_proto_validator??(e.relative_proto_validator=new RegExp((this.opts.urlAuth?this.get_auth().source:"")+`(?:localhost|${this.get_ipv6_url_host().source}|(?:(?:${this.get_domain().source})[.]){1,10}${this.get_domain_root().source})`+this.get_port().source+this.get_host_terminator().source+this.get_path().source,"iy"))}get_mail_name_validator(){var e;return(e=this.cache).mail_name_validator??(e.mail_name_validator=new RegExp(`(?:^|${this.get_text_separators().source}|"|\\(|${this.src_ZCc})(${this.get_mail_name().source})$`))}get_mailto_validator(){var e;return(e=this.cache).mailto_validator??(e.mailto_validator=new RegExp(`${this.get_mail_name().source}@${this.get_mail_host().source}`,"iy"))}get_schema_names(){var e;return(e=this.cache).schema_names??(e.schema_names=new RegExp((this.opts.schema_names||[]).map(t=>this.escapeRE(t)).join("|")))}get_schema_search(){var e;return(e=this.cache).schema_search??(e.schema_search=new RegExp(`(^|(?!_)(?:[><|]|${this.src_ZPCc}))(${this.get_schema_names().source})`,"ig"))}get_schema_at_start(){var e;return(e=this.cache).schema_at_start??(e.schema_at_start=new RegExp(`^${this.get_schema_search().source}`,"i"))}},un={validate:(e,t,n)=>{const r=n.re.get_http_validator();r.lastIndex=t;const o=r.exec(e);return o?o[0].length:0},normalize:(e,t)=>t.normalize(e)},Fs={"http:":un,"https:":un,"ftp:":un,"//":{validate:function(e,t,n){const r=n.re.get_relative_proto_validator();r.lastIndex=t;const o=r.exec(e);return o?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:o[0].length:0},normalize:(e,t)=>t.normalize(e)},"mailto:":{validate:function(e,t,n){const r=n.re.get_mailto_validator();r.lastIndex=t;const o=r.exec(e);return o?o[0].length:0},normalize:(e,t)=>t.normalize(e)}},ws="a:cdefgilmnoqrstuwxz|b:abdefghijmnorstvwyz|c:acdfghiklmnoruvwxyz|d:ejkmoz|e:cegrstu|f:ijkmor|g:abdefghilmnpqrstuwy|h:kmnrtu|i:delmnoqrst|j:emop|k:eghimnprwyz|l:abcikrstuvy|m:acdeghklmnopqrstuvwxyz|n:acefgilopruz|o:m|p:aefghklmnrstwy|q:a|r:eosuw|s:abcdeghijklmnortuvxyz|t:cdfghjklmnortvwz|u:agksyz|v:aceginu|w:fs|y:et|z:amw",xs="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function vs(){const e=xs.split("|");return ws.split("|").forEach(t=>{const n=t.indexOf(":"),r=t.slice(0,n);for(const o of t.slice(n+1))e.push(r+o)}),e}var Ss={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:vs(),urlAuth:!1,maxLength:1e4},Ao=class{constructor(e,t,n,r){O(this,"schema");O(this,"index");O(this,"lastIndex");O(this,"raw");O(this,"text");O(this,"url");const o=e.slice(n,r);this.schema=t.toLowerCase(),this.index=n,this.lastIndex=r,this.raw=o,this.text=o,this.url=o}},Ns=class{constructor(e={}){O(this,"__opts__");O(this,"__schemas__");O(this,"re");const{rebuilder:t,...n}=e;this.__opts__={...Ss,...n},this.__schemas__={...Fs},this.re=t||new bs,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,t=null){if(!t)delete this.__schemas__[e];else{const n={normalize:(r,o)=>o.normalize(r),...t};this.__schemas__[e]=n}return this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}set(e={}){return this.__opts__={...this.__opts__,...e},this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}test(e){if(!e.length)return!1;let t,n;for(n=this.re.get_schema_search(),n.lastIndex=0;(t=n.exec(e))!==null;)if(this.testSchemaAt(e,t[2],n.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(n=this.re.get_fuzzy_link_search(),n.lastIndex=0,n.exec(e)!==null))return!0;if(this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&e.indexOf("@")>=0){const r=this.re.get_fuzzy_mail_host_search(),o=this.re.get_mail_name_validator();for(r.lastIndex=0;(t=r.exec(e))!==null;){const i=e.slice(Math.max(0,t.index-65),t.index);if(o.test(i))return!0}}return!1}testSchemaAt(e,t,n){return this.__schemas__[t.toLowerCase()]?this.__schemas__[t.toLowerCase()].validate(e.slice(0,n+this.__opts__.maxLength),n,this):0}match(e){const t=[],n=this.re.get_schema_search();let r,o,i,A,l,c,u=!1,f=!1,h=!1,d=0;if(!e.length)return null;for(n.lastIndex=0,this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(r=this.re.get_fuzzy_link_search(),r.lastIndex=0),this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&(o=this.re.get_fuzzy_mail_host_search(),o.lastIndex=0,i=this.re.get_mail_name_validator());;){const g=Math.max(d-1,0);if(o&&i&&!h&&(!l||l.index<d))for(o.lastIndex<g&&(o.lastIndex=g);;){const y=o.exec(e);if(!y){h=!0,l=void 0;break}const w=i.exec(e.slice(Math.max(0,y.index-65),y.index));if(w){if(l={schema:"mailto:",index:y.index-w[1].length,lastIndex:y.index+y[0].length},l.index>=d)break;o.lastIndex<g&&(o.lastIndex=g)}}if(r&&!f&&(!A||A.index<d))for(r.lastIndex<g&&(r.lastIndex=g);;){const y=r.exec(e);if(!y){f=!0,A=void 0;break}if(A={schema:"",index:y.index+y[1].length,lastIndex:y.index+y[0].length},A.index>=d)break;r.lastIndex<g&&(r.lastIndex=g)}let p=l;(!p||A&&(A.index<p.index||A.index===p.index&&A.lastIndex>p.lastIndex))&&(p=A);let F;if(!u)for(;;){if(!c){n.lastIndex<g&&(n.lastIndex=g);const _=n.exec(e);if(!_){u=!0;break}c={schema:_[2],index:_.index+_[1].length,lastIndex:_.index+_[0].length}}if(c.index<d){c=void 0;continue}if(p&&c.index>p.index)break;const y=c;c=void 0;const w=this.testSchemaAt(e,y.schema,y.lastIndex);if(w){F={schema:y.schema,index:y.index,lastIndex:y.lastIndex+w};break}}let I=F;if((!I||l&&(l.index<I.index||l.index===I.index&&l.lastIndex>I.lastIndex))&&(I=l),(!I||A&&(A.index<I.index||A.index===I.index&&A.lastIndex>I.lastIndex))&&(I=A),!I)break;I===l?l=void 0:I===A&&(A=void 0);const D=new Ao(e,I.schema,I.index,I.lastIndex);D.schema?this.__schemas__[D.schema].normalize(D,this):this.normalize(D),t.push(D),d=I.lastIndex}return t.length?t:null}matchAtStart(e){if(!e.length)return null;const t=this.re.get_schema_at_start().exec(e);if(!t)return null;const n=this.testSchemaAt(e,t[2],t[0].length);if(!n)return null;const r=new Ao(e,t[2],t.index+t[1].length,t.index+t[0].length+n);return this.__schemas__[r.schema].normalize(r,this),r}tlds(e,t=!1){return e=Array.isArray(e)?e:[e],t?this.__opts__.tlds=this.__opts__.tlds.concat(e):this.__opts__.tlds=e,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}normalize(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)}};const tt=2147483647,Fe=36,vn=1,pt=26,Rs=38,Qs=700,nr=72,or=128,rr="-",Ts=/^xn--/,Ms=/[^\0-\x7F]/,Ks=/[\x2E\u3002\uFF0E\uFF61]/g,Gs={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},hn=Fe-vn,we=Math.floor,fn=String.fromCharCode;function Ge(e){throw new RangeError(Gs[e])}function Ws(e,t){const n=[];let r=e.length;for(;r--;)n[r]=t(e[r]);return n}function ir(e,t){const n=e.split("@");let r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(Ks,".");const o=e.split("."),i=Ws(o,t).join(".");return r+i}function sr(e){const t=[];let n=0;const r=e.length;for(;n<r;){const o=e.charCodeAt(n++);if(o>=55296&&o<=56319&&n<r){const i=e.charCodeAt(n++);(i&64512)==56320?t.push(((o&1023)<<10)+(i&1023)+65536):(t.push(o),n--)}else t.push(o)}return t}const Ys=e=>String.fromCodePoint(...e),Os=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:Fe},lo=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},Ar=function(e,t,n){let r=0;for(e=n?we(e/Qs):e>>1,e+=we(e/t);e>hn*pt>>1;r+=Fe)e=we(e/hn);return we(r+(hn+1)*e/(e+Rs))},lr=function(e){const t=[],n=e.length;let r=0,o=or,i=nr,A=e.lastIndexOf(rr);A<0&&(A=0);for(let l=0;l<A;++l)e.charCodeAt(l)>=128&&Ge("not-basic"),t.push(e.charCodeAt(l));for(let l=A>0?A+1:0;l<n;){const c=r;for(let f=1,h=Fe;;h+=Fe){l>=n&&Ge("invalid-input");const d=Os(e.charCodeAt(l++));d>=Fe&&Ge("invalid-input"),d>we((tt-r)/f)&&Ge("overflow"),r+=d*f;const g=h<=i?vn:h>=i+pt?pt:h-i;if(d<g)break;const p=Fe-g;f>we(tt/p)&&Ge("overflow"),f*=p}const u=t.length+1;i=Ar(r-c,u,c==0),we(r/u)>tt-o&&Ge("overflow"),o+=we(r/u),r%=u,t.splice(r++,0,o)}return String.fromCodePoint(...t)},cr=function(e){const t=[];e=sr(e);const n=e.length;let r=or,o=0,i=nr;for(const c of e)c<128&&t.push(fn(c));const A=t.length;let l=A;for(A&&t.push(rr);l<n;){let c=tt;for(const f of e)f>=r&&f<c&&(c=f);const u=l+1;c-r>we((tt-o)/u)&&Ge("overflow"),o+=(c-r)*u,r=c;for(const f of e)if(f<r&&++o>tt&&Ge("overflow"),f===r){let h=o;for(let d=Fe;;d+=Fe){const g=d<=i?vn:d>=i+pt?pt:d-i;if(h<g)break;const p=h-g,F=Fe-g;t.push(fn(lo(g+p%F,0))),h=we(p/F)}t.push(fn(lo(h,0))),i=Ar(o,u,l===A),o=0,++l}++o,++r}return t.join("")},Hs=function(e){return ir(e,function(t){return Ts.test(t)?lr(t.slice(4).toLowerCase()):t})},Us=function(e){return ir(e,function(t){return Ms.test(t)?"xn--"+cr(t):t})},co={version:"2.3.1",ucs2:{decode:sr,encode:Ys},decode:lr,encode:cr,toASCII:Us,toUnicode:Hs};/*! markdown-it 15.0.0 https://github.com/markdown-it/markdown-it @license MIT */var ao=Object.defineProperty,ar=(e,t)=>{let n={};for(var r in e)ao(n,r,{get:e[r],enumerable:!0});return ao(n,Symbol.toStringTag,{value:"Module"}),n},Js=ar({arrayReplaceAt:()=>hr,asciiTrim:()=>Jt,callable:()=>ur,escapeHtml:()=>Oe,escapeRE:()=>eA,fromCodePoint:()=>mt,isMdAsciiPunct:()=>_t,isPunctChar:()=>dr,isPunctCharCode:()=>Ct,isSpace:()=>$,isValidEntityCode:()=>Sn,isWhiteSpace:()=>gt,lib:()=>tA,normalizeReference:()=>Ut,unescapeAll:()=>ot,unescapeMd:()=>Ps});function ur(e){const t=function(...n){return Reflect.construct(e,n,new.target&&new.target!==t?new.target:e)};return Object.defineProperty(t,"name",{value:e.name}),Object.setPrototypeOf(t,e),t.prototype=e.prototype,t}function hr(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function Sn(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function mt(e){if(e>65535){e-=65536;const t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var fr=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,Zs=new RegExp(`${fr.source}|${/&([a-z#][a-z0-9]{1,31});/gi.source}`,"gi"),Ls=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function Vs(e,t){if(t.charCodeAt(0)===35&&Ls.test(t)){const r=t[1].toLowerCase()==="x"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return Sn(r)?mt(r):e}const n=tr(e);return n!==e?n:e}function Ps(e){return e.indexOf("\\")<0?e:e.replace(fr,"$1")}function ot(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(Zs,function(t,n,r){return n||Vs(t,r)})}var zs=/[&<>"]/,js=/[&<>"]/g,Xs={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"};function $s(e){return Xs[e]}function Oe(e){return zs.test(e)?e.replace(js,$s):e}var qs=/[.?*+^$[\]\\(){}|-]/g;function eA(e){return e.replace(qs,"\\$&")}function $(e){switch(e){case 9:case 32:return!0}return!1}function gt(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function dr(e){return xn.test(e)||qo.test(e)}function Ct(e){return dr(mt(e))}function _t(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function Ut(e){return e=e.trim().replace(/\s+/g," "),e.toLowerCase().toUpperCase()}function uo(e){return e===32||e===9||e===10||e===13}function Jt(e){let t=0;for(;t<e.length&&uo(e.charCodeAt(t));t++);let n=e.length-1;for(;n>=t&&uo(e.charCodeAt(n));n--);return e.slice(t,n+1)}var tA={mdurl:hs,ucmicro:ds};function nA(e,t,n){let r,o,i,A;const l=e.posMax,c=e.pos;for(e.pos=t+1,r=1;e.pos<l;){if(i=e.src.charCodeAt(e.pos),i===93&&(r--,r===0)){o=!0;break}if(A=e.pos,e.md.inline.skipToken(e),i===91){if(A===e.pos-1)r++;else if(n)return e.pos=c,-1}}let u=-1;return o&&(u=e.pos),e.pos=c,u}function oA(e,t,n){let r,o=t;const i={ok:!1,pos:0,str:""};if(e.charCodeAt(o)===60){for(o++;o<n;){if(r=e.charCodeAt(o),r===10||r===60)return i;if(r===62)return i.pos=o+1,i.str=ot(e.slice(t+1,o)),i.ok=!0,i;if(r===92&&o+1<n){o+=2;continue}o++}return i}let A=0;for(;o<n&&(r=e.charCodeAt(o),!(r===32||r<32||r===127));){if(r===92&&o+1<n){if(e.charCodeAt(o+1)===32){o++;continue}o+=2;continue}if(r===40&&(A++,A>32))return i;if(r===41){if(A===0)break;A--}o++}return t===o||A!==0||(i.str=ot(e.slice(t,o)),i.pos=o,i.ok=!0),i}function rA(e,t,n,r){let o,i=t;const A={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(r)A.str=r.str,A.marker=r.marker;else{if(i>=n)return A;let l=e.charCodeAt(i);if(l!==34&&l!==39&&l!==40)return A;t++,i++,l===40&&(l=41),A.marker=l}for(;i<n;){if(o=e.charCodeAt(i),o===A.marker)return A.pos=i+1,A.str+=ot(e.slice(t,i)),A.ok=!0,A;if(o===40&&A.marker===41)return A;o===92&&i+1<n&&i++,i++}return A.can_continue=!0,A.str+=ot(e.slice(t,i)),A}var iA=ar({parseLinkDestination:()=>oA,parseLinkLabel:()=>nA,parseLinkTitle:()=>rA});function kt(e){"@babel/helpers - typeof";return kt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kt(e)}function sA(e,t){if(kt(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(kt(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function AA(e){var t=sA(e,"string");return kt(t)=="symbol"?t:t+""}function N(e,t,n){return(t=AA(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ze=class{constructor(e,t,n){N(this,"map",null),N(this,"level",0),N(this,"children",null),N(this,"content",""),N(this,"markup",""),N(this,"info",""),N(this,"block",!1),N(this,"hidden",!1),this.type=e,this.tag=t,this.attrs=null,this.nesting=n,this.meta=null}attrIndex(e){if(!this.attrs)return-1;const t=this.attrs;for(let n=0,r=t.length;n<r;n++)if(t[n][0]===e)return n;return-1}attrPush(e){this.attrs?this.attrs.push(e):this.attrs=[e]}attrSet(e,t){const n=this.attrIndex(e),r=[e,t];n<0?this.attrPush(r):this.attrs[n]=r}attrGet(e){const t=this.attrIndex(e);let n=null;return t>=0&&(n=this.attrs[t][1]),n}attrJoin(e,t){const n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=`${this.attrs[n][1]} ${t}`}},It=class{constructor(){N(this,"__rules__",[]),N(this,"__cache__",null)}__find__(e){for(let t=0;t<this.__rules__.length;t++)if(this.__rules__[t].name===e)return t;return-1}__compile__(){const e=new Set;this.__rules__.forEach(t=>{t.enabled&&t.alt.forEach(n=>{n&&e.add(n)})}),this.__cache__=Object.create(null),this.__cache__[""]=[],this.__rules__.forEach(t=>{t.enabled&&this.__cache__[""].push(t.fn)}),e.forEach(t=>{this.__cache__[t]=[],this.__rules__.forEach(n=>{n.enabled&&n.alt.indexOf(t)>=0&&this.__cache__[t].push(n.fn)})})}at(e,t,n={}){const r=this.__find__(e);if(r===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__[r].fn=t,this.__rules__[r].alt=n.alt||[],this.__cache__=null}before(e,t,n,r={}){const o=this.__find__(e);if(o===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(o,0,{name:t,enabled:!0,fn:n,alt:r.alt||[]}),this.__cache__=null}after(e,t,n,r={}){const o=this.__find__(e);if(o===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(o+1,0,{name:t,enabled:!0,fn:n,alt:r.alt||[]}),this.__cache__=null}push(e,t,n={}){this.__rules__.push({name:e,enabled:!0,fn:t,alt:n.alt||[]}),this.__cache__=null}enable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(r=>{const o=this.__find__(r);if(o<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${r}`)}this.__rules__[o].enabled=!0,n.push(r)}),this.__cache__=null,n}enableOnly(e,t=!1){Array.isArray(e)||(e=[e]),this.__rules__.forEach(n=>{n.enabled=!1}),this.enable(e,t)}disable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(r=>{const o=this.__find__(r);if(o<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${r}`)}this.__rules__[o].enabled=!1,n.push(r)}),this.__cache__=null,n}getRules(e){return this.__cache__||this.__compile__(),this.__cache__[e]||[]}},xe={};xe.code_inline=function(e,t,n,r,o){const i=e[t];return`<code${o.renderAttrs(i)}>${Oe(i.content)}</code>`};xe.code_block=function(e,t,n,r,o){const i=e[t];return`<pre${o.renderAttrs(i)}><code>${Oe(e[t].content)}</code></pre>
41
- `};xe.fence=function(e,t,n,r,o){const i=e[t],A=i.info?ot(i.info).trim():"";let l="",c="";if(A){const f=A.split(/(\s+)/g);l=f[0],c=f.slice(2).join("")}let u;if(n.highlight?u=n.highlight(i.content,l,c)||Oe(i.content):u=Oe(i.content),u.indexOf("<pre")===0)return u+`
42
- `;if(A){const f=i.attrIndex("class"),h=i.attrs?i.attrs.slice():[];f<0?h.push(["class",`${n.langPrefix}${l}`]):(h[f]=[h[f][0],h[f][1]],h[f][1]+=` ${n.langPrefix}${l}`);const d={attrs:h};return`<pre><code${o.renderAttrs(d)}>${u}</code></pre>
39
+ ${W}`:"")),await z.sendMessage(R)}function we(){z.stop()}async function j(){if(L(),z.clear(),h.value=[],g.value="",$=[],tt(),b.clear(),k.value.providerMode==="proxy")try{const D=gn(k.value.proxyUrl);D&&await fetch(`${D}/api/messages?device_id=${encodeURIComponent(Jt())}`,{method:"DELETE"})}catch{}else localStorage.removeItem(m.messages)}const je=s.computed(()=>k.value.providerMode==="proxy"||!!k.value.apiKey);s.onMounted(()=>{_t(),ne()});let Z=null;function Oe(){Z&&clearTimeout(Z),Z=setTimeout(()=>{Z=null,Be()},400)}function L(){Z&&(clearTimeout(Z),Z=null)}return s.watch(h,()=>Oe(),{deep:!0}),{messages:h,settings:k,loading:E,errorMsg:g,hasApiKey:je,toolPackages:t,fileStore:b,visible:v,eventBus:w,deviceId:Jt(),sendMessage:ze,stopGeneration:we,clearMessages:j,saveSettings:V,suggestedCommands:c}}function Ao(e={}){const t=e.threshold??4,n=s.ref(null),r=s.ref(!1);let o=0,i=0,A=0,l=0,c=0,u=0,d=!1;function f(k){var Q;const E=k.clientX-o,g=k.clientY-i;if(!d&&Math.hypot(E,g)>t&&(d=!0,r.value=!0,(Q=e.onDragStart)==null||Q.call(e)),!d)return;const b=Math.max(window.innerWidth-c,0),v=Math.max(window.innerHeight-u,0),C=Math.min(Math.max(A+E,0),b),w=Math.min(Math.max(l+g,0),v);n.value={x:C,y:w}}function _(){var k;window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",_),window.removeEventListener("pointercancel",_),document.body.style.userSelect="",d&&((k=e.onDragMove)==null||k.call(e)),r.value=!1}function m(k,E){var b;if(k.button!==0||(b=e.disabled)!=null&&b.call(e))return;const g=E.getBoundingClientRect();A=g.left,l=g.top,c=g.width,u=g.height,o=k.clientX,i=k.clientY,d=!1,window.addEventListener("pointermove",f),window.addEventListener("pointerup",_),window.addEventListener("pointercancel",_),document.body.style.userSelect="none"}function h(){const k=d;return d=!1,k}return{pos:n,dragging:r,startDrag:m,consumeMoved:h}}/*! Element Plus Icons Vue v2.3.2 */var Ni=s.defineComponent({name:"ChatDotRound",__name:"chat-dot-round",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.06 461.06 0 0 1-206.912-48.384l-175.616 58.56z"}),s.createElementVNode("path",{fill:"currentColor",d:"M512 563.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4"})]))}}),Ri=Ni,Ti=s.defineComponent({name:"Close",__name:"close",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),Qi=Ti,Mi=s.defineComponent({name:"CopyDocument",__name:"copy-document",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64z"}),s.createElementVNode("path",{fill:"currentColor",d:"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64"})]))}}),Ki=Mi,Gi=s.defineComponent({name:"Cpu",__name:"cpu",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M320 256a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H320a128 128 0 0 1-128-128V320a128 128 0 0 1 128-128"}),s.createElementVNode("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m-320 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 896a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m160 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m-320 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32M64 512a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0-160a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0 320a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m896-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0 320a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32"})]))}}),Wi=Gi,Yi=s.defineComponent({name:"Delete",__name:"delete",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),Oi=Yi,Hi=s.defineComponent({name:"Document",__name:"document",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),Ar=Hi,Ui=s.defineComponent({name:"FullScreen",__name:"full-screen",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),Vi=Ui,Ji=s.defineComponent({name:"InfoFilled",__name:"info-filled",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),Li=Ji,Zi=s.defineComponent({name:"Paperclip",__name:"paperclip",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M602.496 240.448A192 192 0 1 1 874.048 512l-316.8 316.8A256 256 0 0 1 195.2 466.752L602.496 59.456l45.248 45.248L240.448 512A192 192 0 0 0 512 783.552l316.8-316.8a128 128 0 1 0-181.056-181.056L353.6 579.904a32 32 0 1 0 45.248 45.248l294.144-294.144 45.312 45.248L444.096 670.4a96 96 0 1 1-135.744-135.744z"})]))}}),Pi=Zi,zi=s.defineComponent({name:"Picture",__name:"picture",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32"}),s.createElementVNode("path",{fill:"currentColor",d:"M384 288q64 0 64 64t-64 64-64-64 64-64M185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952z"})]))}}),ji=zi,Xi=s.defineComponent({name:"Promotion",__name:"promotion",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472zm256 512V657.024L512 768z"})]))}}),$i=Xi,qi=s.defineComponent({name:"Setting",__name:"setting",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357 357 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a352 352 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357 357 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294 294 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293 293 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294 294 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288 288 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293 293 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a288 288 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384m0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256"})]))}}),lo=qi,es=s.defineComponent({name:"UserFilled",__name:"user-filled",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0m544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z"})]))}}),ts=es,ns=s.defineComponent({name:"VideoPause",__name:"video-pause",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32m192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32"})]))}}),os=ns,rs=s.defineComponent({name:"View",__name:"view",setup(e){return(t,n)=>(s.openBlock(),s.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),is=rs;const ss={key:0,class:"render-block"},As={key:0,class:"render-block__title"},ls={key:2,class:"render-block__cards"},cs={class:"card-item"},as={class:"card-label"},us={class:"card-value"},hs={key:3,class:"render-block__table"},ds={key:4,class:"render-block__cards"},fs={class:"card-label"},ps={class:"card-value"},ms={key:5,class:"render-block__list"},gs=400,Cs=320,_s=80,ks=s.defineComponent({__name:"RenderBlock",props:{block:{},resolvedComponent:{}},emits:["select"],setup(e,{emit:t}){const n=e,r=t,o=s.computed(()=>n.block.type==="auto"?Mn(n.block.data):n.block.type);function i(h){const k=n.block.fields;return k&&k.length?k.filter(E=>h!=null&&E in h):Object.keys(h??{})}const A=s.computed(()=>n.block.data||{}),l=s.computed(()=>n.block.selectable&&c.value.length>1),c=s.computed(()=>Array.isArray(A.value)?A.value:A.value.list?Array.isArray(A.value.list)?A.value.list:[]:A.value.items?Array.isArray(A.value.items)?A.value.items:[]:[A.value]),u=s.computed(()=>{var h;return c.value.length?(h=n.block.fields)!=null&&h.length?n.block.fields:Object.keys(c.value[0]):[]});function d(h){if(h==null)return 0;let k=0;for(const E of String(h))k+=/^[\u2E80-\u9FFF\uF900-\uFAFF\uFF00-\uFFEF]/.test(E)?14:8;return k}const f=s.computed(()=>{const h={};for(const k of u.value){let E=d(k);for(const g of c.value){const b=g!=null?g[k]:void 0;b!=null&&(E=Math.max(E,d(String(b))))}h[k]=Math.min(Cs,Math.max(_s,E+32))}return h});function _(h){return typeof h=="string"?h:Object.values(h).join(" - ")}function m(h){var E;const k=(n.block.labelField&&(h==null?void 0:h[n.block.labelField])!=null?h[n.block.labelField]:(E=n.block.fields)!=null&&E.length?h==null?void 0:h[n.block.fields[0]]:(h==null?void 0:h.name)??(h==null?void 0:h.title)??(h==null?void 0:h.id)??Object.values(h??{})[0])??"";r("select",`我选择 ${k}`)}return(h,k)=>{const E=s.resolveComponent("el-button");return o.value!=="none"?(s.openBlock(),s.createElementBlock("div",ss,[e.block.title?(s.openBlock(),s.createElementBlock("div",As,s.toDisplayString(e.block.title),1)):s.createCommentVNode("",!0),e.resolvedComponent?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(e.resolvedComponent),{key:1,class:"render-block__component",data:e.block.data},null,8,["data"])):o.value==="component"?(s.openBlock(),s.createElementBlock("div",ls,[s.createElementVNode("div",cs,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(i(c.value[0]),g=>(s.openBlock(),s.createElementBlock("div",{key:g,class:"card-field"},[s.createElementVNode("span",as,s.toDisplayString(g)+":",1),s.createElementVNode("span",us,s.toDisplayString(c.value[0][g]),1)]))),128))])])):o.value==="table"?(s.openBlock(),s.createElementBlock("div",hs,[s.createVNode(s.unref(ht.ElTable),{data:c.value,"max-height":gs,border:"",stripe:"",size:"small","table-layout":"fixed",style:{width:"100%"}},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(u.value,g=>(s.openBlock(),s.createBlock(s.unref(ht.ElTableColumn),{key:g,prop:g,label:g,width:f.value[g],align:"center","show-overflow-tooltip":""},null,8,["prop","label","width"]))),128)),l.value?(s.openBlock(),s.createBlock(s.unref(ht.ElTableColumn),{key:0,label:"操作","min-width":80,align:"center",fixed:"right"},{default:s.withCtx(({row:g})=>[s.createVNode(E,{size:"small",type:"primary",plain:"",onClick:b=>m(g)},{default:s.withCtx(()=>[...k[0]||(k[0]=[s.createTextVNode(" 选择 ",-1)])]),_:1},8,["onClick"])]),_:1})):s.createCommentVNode("",!0)]),_:1},8,["data"])])):o.value==="card"?(s.openBlock(),s.createElementBlock("div",ds,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(c.value,(g,b)=>(s.openBlock(),s.createElementBlock("div",{key:b,class:"card-item"},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(i(g),v=>(s.openBlock(),s.createElementBlock("div",{key:v,class:"card-field"},[s.createElementVNode("span",fs,s.toDisplayString(v)+":",1),s.createElementVNode("span",ps,s.toDisplayString(g[v]),1)]))),128))]))),128))])):o.value==="list"?(s.openBlock(),s.createElementBlock("div",ms,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(c.value,(g,b)=>(s.openBlock(),s.createElementBlock("div",{key:b,class:"list-item"},s.toDisplayString(_(g)),1))),128))])):s.createCommentVNode("",!0)])):s.createCommentVNode("",!0)}}}),mt=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},lr=mt(ks,[["__scopeId","data-v-ea599d5b"]]),ys={key:0,class:"suggested-next"},Es={class:"suggested-next__text"},Ds=s.defineComponent({__name:"SuggestedNext",props:{text:{}},emits:["execute"],setup(e,{emit:t}){const n=e,r=t;function o(){r("execute",n.text)}return(i,A)=>{const l=s.resolveComponent("el-button");return e.text?(s.openBlock(),s.createElementBlock("div",ys,[A[1]||(A[1]=s.createElementVNode("span",{class:"suggested-next__icon"},"💡",-1)),s.createElementVNode("span",Es,s.toDisplayString(e.text),1),s.createVNode(l,{size:"small",type:"primary",plain:"",onClick:o},{default:s.withCtx(()=>[...A[0]||(A[0]=[s.createTextVNode("去执行",-1)])]),_:1})])):s.createCommentVNode("",!0)}}}),cr=mt(Ds,[["__scopeId","data-v-0e0e9b65"]]),co={};function Is(e){let t=co[e];if(t)return t;t=co[e]=[];for(let n=0;n<128;n++){const r=String.fromCharCode(n);t.push(r)}for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);t[r]="%"+("0"+r.toString(16).toUpperCase()).slice(-2)}return t}function ft(e,t){typeof t!="string"&&(t=ft.defaultChars);const n=Is(t);return e.replace(/(%[a-f0-9]{2})+/gi,function(r){let o="";for(let i=0,A=r.length;i<A;i+=3){const l=parseInt(r.slice(i+1,i+3),16);if(l<128){o+=n[l];continue}if((l&224)===192&&i+3<A){const c=parseInt(r.slice(i+4,i+6),16);if((c&192)===128){const u=l<<6&1984|c&63;u<128?o+="��":o+=String.fromCharCode(u),i+=3;continue}}if((l&240)===224&&i+6<A){const c=parseInt(r.slice(i+4,i+6),16),u=parseInt(r.slice(i+7,i+9),16);if((c&192)===128&&(u&192)===128){const d=l<<12&61440|c<<6&4032|u&63;d<2048||d>=55296&&d<=57343?o+="���":o+=String.fromCharCode(d),i+=6;continue}}if((l&248)===240&&i+9<A){const c=parseInt(r.slice(i+4,i+6),16),u=parseInt(r.slice(i+7,i+9),16),d=parseInt(r.slice(i+10,i+12),16);if((c&192)===128&&(u&192)===128&&(d&192)===128){let f=l<<18&1835008|c<<12&258048|u<<6&4032|d&63;f<65536||f>1114111?o+="����":(f-=65536,o+=String.fromCharCode(55296+(f>>10),56320+(f&1023))),i+=9;continue}}o+="�"}return o})}ft.defaultChars=";/?:@&=+$,#";ft.componentChars="";const ao={};function bs(e){let t=ao[e];if(t)return t;t=ao[e]=[];for(let n=0;n<128;n++){const r=String.fromCharCode(n);/^[0-9a-z]$/i.test(r)?t.push(r):t.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n<e.length;n++)t[e.charCodeAt(n)]=e[n];return t}function Kt(e,t,n){typeof t!="string"&&(n=t,t=Kt.defaultChars),typeof n>"u"&&(n=!0);const r=bs(t);let o="";for(let i=0,A=e.length;i<A;i++){const l=e.charCodeAt(i);if(n&&l===37&&i+2<A&&/^[0-9a-f]{2}$/i.test(e.slice(i+1,i+3))){o+=e.slice(i,i+3),i+=2;continue}if(l<128){o+=r[l];continue}if(l>=55296&&l<=57343){if(l>=55296&&l<=56319&&i+1<A){const c=e.charCodeAt(i+1);if(c>=56320&&c<=57343){o+=encodeURIComponent(e[i]+e[i+1]),i++;continue}}o+="%EF%BF%BD";continue}o+=encodeURIComponent(e[i])}return o}Kt.defaultChars=";/?:@&=+$,-_.!~*'()#";Kt.componentChars="-_.!~*'()";function Sn(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function jt(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}const Bs=/^([a-z0-9.+-]+:)/i,ws=/:[0-9]*$/,Fs=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,xs=["<",">",'"',"`"," ","\r",`
40
+ `," "],vs=["{","}","|","\\","^","`"].concat(xs),Ss=["'"].concat(vs),uo=["%","/","?",";","#"].concat(Ss),ho=["/","?","#"],Ns=255,fo=/^[+a-z0-9A-Z_-]{0,63}$/,Rs=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,po={javascript:!0,"javascript:":!0},mo={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Nn(e,t){if(e&&e instanceof jt)return e;const n=new jt;return n.parse(e,t),n}jt.prototype.parse=function(e,t){let n,r,o,i=e;if(i=i.trim(),!t&&e.split("#").length===1){const u=Fs.exec(i);if(u)return this.pathname=u[1],u[2]&&(this.search=u[2]),this}let A=Bs.exec(i);if(A&&(A=A[0],n=A.toLowerCase(),this.protocol=A,i=i.substr(A.length)),(t||A||i.match(/^\/\/[^@\/]+@[^@\/]+/))&&(o=i.substr(0,2)==="//",o&&!(A&&po[A])&&(i=i.substr(2),this.slashes=!0)),!po[A]&&(o||A&&!mo[A])){let u=-1;for(let h=0;h<ho.length;h++)r=i.indexOf(ho[h]),r!==-1&&(u===-1||r<u)&&(u=r);let d,f;u===-1?f=i.lastIndexOf("@"):f=i.lastIndexOf("@",u),f!==-1&&(d=i.slice(0,f),i=i.slice(f+1),this.auth=d),u=-1;for(let h=0;h<uo.length;h++)r=i.indexOf(uo[h]),r!==-1&&(u===-1||r<u)&&(u=r);u===-1&&(u=i.length),i[u-1]===":"&&u--;const _=i.slice(0,u);i=i.slice(u),this.parseHost(_),this.hostname=this.hostname||"";const m=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!m){const h=this.hostname.split(/\./);for(let k=0,E=h.length;k<E;k++){const g=h[k];if(g&&!g.match(fo)){let b="";for(let v=0,C=g.length;v<C;v++)g.charCodeAt(v)>127?b+="x":b+=g[v];if(!b.match(fo)){const v=h.slice(0,k),C=h.slice(k+1),w=g.match(Rs);w&&(v.push(w[1]),C.unshift(w[2])),C.length&&(i=C.join(".")+i),this.hostname=v.join(".");break}}}}this.hostname.length>Ns&&(this.hostname=""),m&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const l=i.indexOf("#");l!==-1&&(this.hash=i.substr(l),i=i.slice(0,l));const c=i.indexOf("?");return c!==-1&&(this.search=i.substr(c),i=i.slice(0,c)),i&&(this.pathname=i),mo[n]&&this.hostname&&!this.pathname&&(this.pathname=""),this};jt.prototype.parseHost=function(e){let t=ws.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};const Ts=Object.freeze(Object.defineProperty({__proto__:null,decode:ft,encode:Kt,format:Sn,parse:Nn},Symbol.toStringTag,{value:"Module"})),ar=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,ur=/[\0-\x1F\x7F-\x9F]/,Qs=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,Wn=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B4E\u1B4F\u1B5A-\u1B60\u1B7D-\u1B7F\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDD6E\uDEAD\uDED0\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9\uDFD4\uDFD5\uDFD7\uDFD8]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09\uDFE1]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDD6D-\uDD6F\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD839\uDDFF|\uD83A[\uDD5E\uDD5F]/,hr=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C1\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2429\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E5\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD803[\uDD8E\uDD8F\uDED1-\uDED8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDC00-\uDCEF\uDCFA-\uDCFC\uDD00-\uDEB3\uDEBA-\uDED0\uDEE0-\uDEF0\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED8\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0-\uDCBB\uDCC0\uDCC1\uDCD0-\uDCD8\uDD00-\uDE57\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF-\uDEF8\uDF00-\uDF92\uDF94-\uDFEF\uDFFA]/,dr=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,Ms=Object.freeze(Object.defineProperty({__proto__:null,Any:ar,Cc:ur,Cf:Qs,P:Wn,S:hr,Z:dr},Symbol.toStringTag,{value:"Module"})),Ks=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function Gs(e){return e>=55296&&e<=57343||e>1114111?65533:Ks.get(e)??e}function Ws(e){const t=atob(e),n=t.length&-2,r=new Uint16Array(n/2);for(let o=0,i=0;o<n;o+=2){const A=t.charCodeAt(o),l=t.charCodeAt(o+1);r[i++]=A|l<<8}return r}const Ys=Ws("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");var ke;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(ke||(ke={}));var ie;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(ie||(ie={}));const go=32;function Rn(e){return e>=ie.ZERO&&e<=ie.NINE}function Os(e){return e>=ie.UPPER_A&&e<=ie.UPPER_F||e>=ie.LOWER_A&&e<=ie.LOWER_F}function Hs(e){return e>=ie.UPPER_A&&e<=ie.UPPER_Z||e>=ie.LOWER_A&&e<=ie.LOWER_Z||Rn(e)}function Us(e){return e===ie.EQUALS||Hs(e)}var de;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(de||(de={}));var Je;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Je||(Je={}));class Vs{constructor(t,n,r){H(this,"decodeTree");H(this,"emitCodePoint");H(this,"errors");H(this,"state",de.EntityStart);H(this,"consumed",1);H(this,"result",0);H(this,"treeIndex",0);H(this,"excess",1);H(this,"decodeMode",Je.Strict);H(this,"runConsumed",0);this.decodeTree=t,this.emitCodePoint=n,this.errors=r}startEntity(t){this.decodeMode=t,this.state=de.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(t,n){switch(this.state){case de.EntityStart:return t.charCodeAt(n)===ie.NUM?(this.state=de.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=de.NamedEntity,this.stateNamedEntity(t,n));case de.NumericStart:return this.stateNumericStart(t,n);case de.NumericDecimal:return this.stateNumericDecimal(t,n);case de.NumericHex:return this.stateNumericHex(t,n);case de.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|go)===ie.LOWER_X?(this.state=de.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=de.NumericDecimal,this.stateNumericDecimal(t,n))}stateNumericHex(t,n){for(;n<t.length;){const r=t.charCodeAt(n);if(Rn(r)||Os(r)){const o=r<=ie.NINE?r-ie.ZERO:(r|go)-ie.LOWER_A+10;this.result=this.result*16+o,this.consumed++,n++}else return this.emitNumericEntity(r,3)}return-1}stateNumericDecimal(t,n){for(;n<t.length;){const r=t.charCodeAt(n);if(Rn(r))this.result=this.result*10+(r-ie.ZERO),this.consumed++,n++;else return this.emitNumericEntity(r,2)}return-1}emitNumericEntity(t,n){var r;if(this.consumed<=n)return(r=this.errors)==null||r.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(t===ie.SEMI)this.consumed+=1;else if(this.decodeMode===Je.Strict)return 0;return this.emitCodePoint(Gs(this.result),this.consumed),this.errors&&(t!==ie.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(t,n){const{decodeTree:r}=this;let o=r[this.treeIndex],i=(o&ke.VALUE_LENGTH)>>14;for(;n<t.length;){if(i===0&&(o&ke.FLAG13)!==0){const l=(o&ke.BRANCH_LENGTH)>>7;if(this.runConsumed===0){const c=o&ke.JUMP_TABLE;if(t.charCodeAt(n)!==c)return this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}for(;this.runConsumed<l;){if(n>=t.length)return-1;const c=this.runConsumed-1,u=r[this.treeIndex+1+(c>>1)],d=c%2===0?u&255:u>>8&255;if(t.charCodeAt(n)!==d)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(l>>1),o=r[this.treeIndex],i=(o&ke.VALUE_LENGTH)>>14}if(n>=t.length)break;const A=t.charCodeAt(n);if(A===ie.SEMI&&i!==0&&(o&ke.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);if(this.treeIndex=Ls(r,o,this.treeIndex+Math.max(1,i),A),this.treeIndex<0)return this.result===0||this.decodeMode===Je.Attribute&&(i===0||Us(A))?0:this.emitNotTerminatedNamedEntity();if(o=r[this.treeIndex],i=(o&ke.VALUE_LENGTH)>>14,i!==0){if(A===ie.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==Je.Strict&&(o&ke.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}n++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var o;const{result:t,decodeTree:n}=this,r=(n[t]&ke.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),(o=this.errors)==null||o.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,r){const{decodeTree:o}=this;return this.emitCodePoint(n===1?o[t]&~(ke.VALUE_LENGTH|ke.FLAG13):o[t+1],r),n===3&&this.emitCodePoint(o[t+2],r),r}end(){var t;switch(this.state){case de.NamedEntity:return this.result!==0&&(this.decodeMode!==Je.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case de.NumericDecimal:return this.emitNumericEntity(0,2);case de.NumericHex:return this.emitNumericEntity(0,3);case de.NumericStart:return(t=this.errors)==null||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case de.EntityStart:return 0}}}function Js(e){let t="";const n=new Vs(e,r=>t+=String.fromCodePoint(r));return function(o,i){let A=0,l=0;for(;(l=o.indexOf("&",l))>=0;){t+=o.slice(A,l),n.startEntity(i);const u=n.write(o,l+1);if(u<0){A=l+n.end();break}A=l+u,l=u===0?A+1:A}const c=t+o.slice(A);return t="",c}}function Ls(e,t,n,r){const o=(t&ke.BRANCH_LENGTH)>>7,i=t&ke.JUMP_TABLE;if(o===0)return i!==0&&r===i?n:-1;if(i){const u=r-i;return u<0||u>=o?-1:e[n+u]-1}const A=o+1>>1;let l=0,c=o-1;for(;l<=c;){const u=l+c>>>1,d=u>>1,_=e[n+d]>>(u&1)*8&255;if(_<r)l=u+1;else if(_>r)c=u-1;else return e[n+A+u]}return-1}const Zs=Js(Ys);function fr(e){return Zs(e,Je.Strict)}var Ps=class{constructor(e={}){H(this,"src_Any",ar.source);H(this,"src_Cc",ur.source);H(this,"src_Z",dr.source);H(this,"src_P",Wn.source);H(this,"src_ZPCc",[this.src_Z,this.src_P,this.src_Cc].join("|"));H(this,"src_ZCc",[this.src_Z,this.src_Cc].join("|"));H(this,"cache",{});H(this,"opts",{maxLength:1e4,urlAuth:!1,schema_names:[]});this.opts={...this.opts,...e}}set(e={}){return this.opts={...this.opts,...e},this.cache={},this}escapeRE(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}nestedPairRE(e,t,n=4){const r=this.escapeRE(e),o=this.escapeRE(t),i=`(?:(?!${this.src_ZCc}|${r}|${o}).)`;let A=`${r}${i}{0,1000}${o}`;for(let l=2;l<=n;l++)A=`${r}(?:${i}|${A}){0,1000}${o}`;return A}get_text_separators(){var e;return(e=this.cache).text_separators??(e.text_separators=/[><\uff5c]/)}get_pseudo_letter(){var e;return(e=this.cache).src_pseudo_letter??(e.src_pseudo_letter=new RegExp(`(?:(?!${this.get_text_separators().source}|${this.src_ZPCc})${this.src_Any})`))}get_ipv4_addr(){var e;return(e=this.cache).src_ip4??(e.src_ip4=new RegExp("(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])"))}get_ipv6_addr(){var n;const e="[0-9A-Fa-f]{1,4}",t=`(?:(?:${e}:${e})|${this.get_ipv4_addr().source})`;return(n=this.cache).src_ip6_addr??(n.src_ip6_addr=new RegExp(`(?:(?:${e}:){6}${t}|::(?:${e}:){5}${t}|(?:${e})?::(?:${e}:){4}${t}|(?:(?:${e}:){0,1}${e})?::(?:${e}:){3}${t}|(?:(?:${e}:){0,2}${e})?::(?:${e}:){2}${t}|(?:(?:${e}:){0,3}${e})?::${e}:${t}|(?:(?:${e}:){0,4}${e})?::${t}|(?:(?:${e}:){0,5}${e})?::${e}|(?:(?:${e}:){0,6}${e})?::)`))}get_ipv6_url_host(){var e;return(e=this.cache).src_ip6_host??(e.src_ip6_host=new RegExp(`\\[${this.get_ipv6_addr().source}\\]`))}get_ipv6_mail_host(){var e;return(e=this.cache).src_ipv6_mail_host??(e.src_ipv6_mail_host=new RegExp(`\\[IPv6:${this.get_ipv6_addr().source}\\]`))}get_auth(){var e;return(e=this.cache).src_auth??(e.src_auth=new RegExp(`(?:(?:(?!${this.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`))}get_port(){var e;return(e=this.cache).src_port??(e.src_port=new RegExp("(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?"))}get_host_terminator(){var e;return(e=this.cache).src_host_terminator??(e.src_host_terminator=new RegExp(`(?=$|${this.get_text_separators().source}|${this.src_ZPCc})(?!${this.opts["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${this.src_ZPCc}))`))}get_path_terminator(){var e;return(e=this.cache).src_path_terminator??(e.src_path_terminator=new RegExp(`${this.src_ZPCc}|${this.get_text_separators().source}`))}get_path(){var e;return(e=this.cache).src_path??(e.src_path=new RegExp(`(?:[/?#](?:${this.nestedPairRE("[","]")}|${this.nestedPairRE("(",")")}|${this.nestedPairRE("{","}")}|\\"(?:(?!${this.src_ZCc}|["]).){1,100}\\"|\\'(?:(?!${this.src_ZCc}|[']).){1,100}\\'|\\'(?=${this.get_pseudo_letter().source}|[-])|\\.{2,20}[:]?[a-zA-Z0-9%/&]|\\.(?!${this.src_ZCc}|[.]|$)|`+(this.opts["---"]?"\\-(?!--(?:[^-]|$))(?:-{0,19})|":"\\-{1,20}|")+`,(?!${this.src_ZCc}|$)|;(?!${this.src_ZCc}|$)|\\!{1,20}(?!${this.src_ZCc}|[!]|$)|\\?(?!${this.src_ZCc}|[?]|$)|`+this.get_path_extra().source+`[\\\\/:%@#&=_~*]|(?!${this.get_path_terminator().source}).){1,${this.opts.maxLength}}|\\/)?`))}get_mail_name(){var e;return(e=this.cache).src_mail_name??(e.src_mail_name=new RegExp("[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9](?:[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]|[.](?=[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9])){0,63}"))}get_xn(){var e;return(e=this.cache).src_xn??(e.src_xn=new RegExp("xn--[a-z0-9\\-]{1,59}"))}get_tld(){if(this.cache.tld)return this.cache.tld;const e=[...new Set(this.opts.tlds||[])].sort().reverse().join("|");return this.cache.tld=new RegExp(`${e||"$#none#$"}|${this.get_xn().source}`),this.cache.tld}get_domain_root(){var e;return(e=this.cache).src_domain_root??(e.src_domain_root=new RegExp("(?:"+this.get_xn().source+`|${this.get_pseudo_letter().source}{1,63})`))}get_domain(){var e;return(e=this.cache).src_domain??(e.src_domain=new RegExp("(?:"+this.get_xn().source+`|(?:${this.get_pseudo_letter().source})|(?:${this.get_pseudo_letter().source}(?:-|${this.get_pseudo_letter().source}){0,61}${this.get_pseudo_letter().source}))`))}get_url_host_port(){var e;return(e=this.cache).url_host_port??(e.url_host_port=new RegExp("(?:"+this.get_ipv6_url_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,10}${this.get_domain().source}))`+this.get_port().source+this.get_host_terminator().source))}get_fuzzy_url_host_port(){var e;return(e=this.cache).fuzzy_url_host_port??(e.fuzzy_url_host_port=new RegExp("(?:"+(this.opts.fuzzyIP?this.get_ipv4_addr().source+"|":"")+`(?:(?:(?:${this.get_domain().source})\\.){1,10}(?:${this.get_tld().source})))`+this.get_host_terminator().source))}get_mail_host(){var e;return(e=this.cache).src_mail_host??(e.src_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,4}${this.get_domain().source}))`+this.get_host_terminator().source))}get_fuzzy_mail_host(){var e;return(e=this.cache).src_fuzzy_mail_host??(e.src_fuzzy_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})[.]){1,4}${this.get_domain_root().source}))`+this.get_host_terminator().source))}get_path_extra(){var e;return(e=this.cache).src_path_extra??(e.src_path_extra=new RegExp(""))}get_fuzzy_mail_host_search(){var e;return(e=this.cache).mail_fuzzy_host_search??(e.mail_fuzzy_host_search=new RegExp(`@${this.get_fuzzy_mail_host().source}`,"ig"))}get_fuzzy_link_search(){var e;return(e=this.cache).link_fuzzy_search??(e.link_fuzzy_search=new RegExp(`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${this.src_ZPCc}))(?:(?![$+<=>^\`||])${this.get_fuzzy_url_host_port().source}${this.get_path().source})`,"ig"))}get_http_validator(){var e;return(e=this.cache).http_validator??(e.http_validator=new RegExp("\\/\\/"+(this.opts.urlAuth?this.get_auth().source:"")+this.get_url_host_port().source+this.get_path().source,"iy"))}get_relative_proto_validator(){var e;return(e=this.cache).relative_proto_validator??(e.relative_proto_validator=new RegExp((this.opts.urlAuth?this.get_auth().source:"")+`(?:localhost|${this.get_ipv6_url_host().source}|(?:(?:${this.get_domain().source})[.]){1,10}${this.get_domain_root().source})`+this.get_port().source+this.get_host_terminator().source+this.get_path().source,"iy"))}get_mail_name_validator(){var e;return(e=this.cache).mail_name_validator??(e.mail_name_validator=new RegExp(`(?:^|${this.get_text_separators().source}|"|\\(|${this.src_ZCc})(${this.get_mail_name().source})$`))}get_mailto_validator(){var e;return(e=this.cache).mailto_validator??(e.mailto_validator=new RegExp(`${this.get_mail_name().source}@${this.get_mail_host().source}`,"iy"))}get_schema_names(){var e;return(e=this.cache).schema_names??(e.schema_names=new RegExp((this.opts.schema_names||[]).map(t=>this.escapeRE(t)).join("|")))}get_schema_search(){var e;return(e=this.cache).schema_search??(e.schema_search=new RegExp(`(^|(?!_)(?:[><|]|${this.src_ZPCc}))(${this.get_schema_names().source})`,"ig"))}get_schema_at_start(){var e;return(e=this.cache).schema_at_start??(e.schema_at_start=new RegExp(`^${this.get_schema_search().source}`,"i"))}},_n={validate:(e,t,n)=>{const r=n.re.get_http_validator();r.lastIndex=t;const o=r.exec(e);return o?o[0].length:0},normalize:(e,t)=>t.normalize(e)},zs={"http:":_n,"https:":_n,"ftp:":_n,"//":{validate:function(e,t,n){const r=n.re.get_relative_proto_validator();r.lastIndex=t;const o=r.exec(e);return o?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:o[0].length:0},normalize:(e,t)=>t.normalize(e)},"mailto:":{validate:function(e,t,n){const r=n.re.get_mailto_validator();r.lastIndex=t;const o=r.exec(e);return o?o[0].length:0},normalize:(e,t)=>t.normalize(e)}},js="a:cdefgilmnoqrstuwxz|b:abdefghijmnorstvwyz|c:acdfghiklmnoruvwxyz|d:ejkmoz|e:cegrstu|f:ijkmor|g:abdefghilmnpqrstuwy|h:kmnrtu|i:delmnoqrst|j:emop|k:eghimnprwyz|l:abcikrstuvy|m:acdeghklmnopqrstuvwxyz|n:acefgilopruz|o:m|p:aefghklmnrstwy|q:a|r:eosuw|s:abcdeghijklmnortuvxyz|t:cdfghjklmnortvwz|u:agksyz|v:aceginu|w:fs|y:et|z:amw",Xs="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function $s(){const e=Xs.split("|");return js.split("|").forEach(t=>{const n=t.indexOf(":"),r=t.slice(0,n);for(const o of t.slice(n+1))e.push(r+o)}),e}var qs={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:$s(),urlAuth:!1,maxLength:1e4},Co=class{constructor(e,t,n,r){H(this,"schema");H(this,"index");H(this,"lastIndex");H(this,"raw");H(this,"text");H(this,"url");const o=e.slice(n,r);this.schema=t.toLowerCase(),this.index=n,this.lastIndex=r,this.raw=o,this.text=o,this.url=o}},eA=class{constructor(e={}){H(this,"__opts__");H(this,"__schemas__");H(this,"re");const{rebuilder:t,...n}=e;this.__opts__={...qs,...n},this.__schemas__={...zs},this.re=t||new Ps,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,t=null){if(!t)delete this.__schemas__[e];else{const n={normalize:(r,o)=>o.normalize(r),...t};this.__schemas__[e]=n}return this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}set(e={}){return this.__opts__={...this.__opts__,...e},this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}test(e){if(!e.length)return!1;let t,n;for(n=this.re.get_schema_search(),n.lastIndex=0;(t=n.exec(e))!==null;)if(this.testSchemaAt(e,t[2],n.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(n=this.re.get_fuzzy_link_search(),n.lastIndex=0,n.exec(e)!==null))return!0;if(this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&e.indexOf("@")>=0){const r=this.re.get_fuzzy_mail_host_search(),o=this.re.get_mail_name_validator();for(r.lastIndex=0;(t=r.exec(e))!==null;){const i=e.slice(Math.max(0,t.index-65),t.index);if(o.test(i))return!0}}return!1}testSchemaAt(e,t,n){return this.__schemas__[t.toLowerCase()]?this.__schemas__[t.toLowerCase()].validate(e.slice(0,n+this.__opts__.maxLength),n,this):0}match(e){const t=[],n=this.re.get_schema_search();let r,o,i,A,l,c,u=!1,d=!1,f=!1,_=0;if(!e.length)return null;for(n.lastIndex=0,this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(r=this.re.get_fuzzy_link_search(),r.lastIndex=0),this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&(o=this.re.get_fuzzy_mail_host_search(),o.lastIndex=0,i=this.re.get_mail_name_validator());;){const m=Math.max(_-1,0);if(o&&i&&!f&&(!l||l.index<_))for(o.lastIndex<m&&(o.lastIndex=m);;){const b=o.exec(e);if(!b){f=!0,l=void 0;break}const v=i.exec(e.slice(Math.max(0,b.index-65),b.index));if(v){if(l={schema:"mailto:",index:b.index-v[1].length,lastIndex:b.index+b[0].length},l.index>=_)break;o.lastIndex<m&&(o.lastIndex=m)}}if(r&&!d&&(!A||A.index<_))for(r.lastIndex<m&&(r.lastIndex=m);;){const b=r.exec(e);if(!b){d=!0,A=void 0;break}if(A={schema:"",index:b.index+b[1].length,lastIndex:b.index+b[0].length},A.index>=_)break;r.lastIndex<m&&(r.lastIndex=m)}let h=l;(!h||A&&(A.index<h.index||A.index===h.index&&A.lastIndex>h.lastIndex))&&(h=A);let k;if(!u)for(;;){if(!c){n.lastIndex<m&&(n.lastIndex=m);const C=n.exec(e);if(!C){u=!0;break}c={schema:C[2],index:C.index+C[1].length,lastIndex:C.index+C[0].length}}if(c.index<_){c=void 0;continue}if(h&&c.index>h.index)break;const b=c;c=void 0;const v=this.testSchemaAt(e,b.schema,b.lastIndex);if(v){k={schema:b.schema,index:b.index,lastIndex:b.lastIndex+v};break}}let E=k;if((!E||l&&(l.index<E.index||l.index===E.index&&l.lastIndex>E.lastIndex))&&(E=l),(!E||A&&(A.index<E.index||A.index===E.index&&A.lastIndex>E.lastIndex))&&(E=A),!E)break;E===l?l=void 0:E===A&&(A=void 0);const g=new Co(e,E.schema,E.index,E.lastIndex);g.schema?this.__schemas__[g.schema].normalize(g,this):this.normalize(g),t.push(g),_=E.lastIndex}return t.length?t:null}matchAtStart(e){if(!e.length)return null;const t=this.re.get_schema_at_start().exec(e);if(!t)return null;const n=this.testSchemaAt(e,t[2],t[0].length);if(!n)return null;const r=new Co(e,t[2],t.index+t[1].length,t.index+t[0].length+n);return this.__schemas__[r.schema].normalize(r,this),r}tlds(e,t=!1){return e=Array.isArray(e)?e:[e],t?this.__opts__.tlds=this.__opts__.tlds.concat(e):this.__opts__.tlds=e,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}normalize(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)}};const dt=2147483647,Me=36,Yn=1,xt=26,tA=38,nA=700,pr=72,mr=128,gr="-",oA=/^xn--/,rA=/[^\0-\x7F]/,iA=/[\x2E\u3002\uFF0E\uFF61]/g,sA={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},kn=Me-Yn,Ke=Math.floor,yn=String.fromCharCode;function Ve(e){throw new RangeError(sA[e])}function AA(e,t){const n=[];let r=e.length;for(;r--;)n[r]=t(e[r]);return n}function Cr(e,t){const n=e.split("@");let r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(iA,".");const o=e.split("."),i=AA(o,t).join(".");return r+i}function _r(e){const t=[];let n=0;const r=e.length;for(;n<r;){const o=e.charCodeAt(n++);if(o>=55296&&o<=56319&&n<r){const i=e.charCodeAt(n++);(i&64512)==56320?t.push(((o&1023)<<10)+(i&1023)+65536):(t.push(o),n--)}else t.push(o)}return t}const lA=e=>String.fromCodePoint(...e),cA=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:Me},_o=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},kr=function(e,t,n){let r=0;for(e=n?Ke(e/nA):e>>1,e+=Ke(e/t);e>kn*xt>>1;r+=Me)e=Ke(e/kn);return Ke(r+(kn+1)*e/(e+tA))},yr=function(e){const t=[],n=e.length;let r=0,o=mr,i=pr,A=e.lastIndexOf(gr);A<0&&(A=0);for(let l=0;l<A;++l)e.charCodeAt(l)>=128&&Ve("not-basic"),t.push(e.charCodeAt(l));for(let l=A>0?A+1:0;l<n;){const c=r;for(let d=1,f=Me;;f+=Me){l>=n&&Ve("invalid-input");const _=cA(e.charCodeAt(l++));_>=Me&&Ve("invalid-input"),_>Ke((dt-r)/d)&&Ve("overflow"),r+=_*d;const m=f<=i?Yn:f>=i+xt?xt:f-i;if(_<m)break;const h=Me-m;d>Ke(dt/h)&&Ve("overflow"),d*=h}const u=t.length+1;i=kr(r-c,u,c==0),Ke(r/u)>dt-o&&Ve("overflow"),o+=Ke(r/u),r%=u,t.splice(r++,0,o)}return String.fromCodePoint(...t)},Er=function(e){const t=[];e=_r(e);const n=e.length;let r=mr,o=0,i=pr;for(const c of e)c<128&&t.push(yn(c));const A=t.length;let l=A;for(A&&t.push(gr);l<n;){let c=dt;for(const d of e)d>=r&&d<c&&(c=d);const u=l+1;c-r>Ke((dt-o)/u)&&Ve("overflow"),o+=(c-r)*u,r=c;for(const d of e)if(d<r&&++o>dt&&Ve("overflow"),d===r){let f=o;for(let _=Me;;_+=Me){const m=_<=i?Yn:_>=i+xt?xt:_-i;if(f<m)break;const h=f-m,k=Me-m;t.push(yn(_o(m+h%k,0))),f=Ke(h/k)}t.push(yn(_o(f,0))),i=kr(o,u,l===A),o=0,++l}++o,++r}return t.join("")},aA=function(e){return Cr(e,function(t){return oA.test(t)?yr(t.slice(4).toLowerCase()):t})},uA=function(e){return Cr(e,function(t){return rA.test(t)?"xn--"+Er(t):t})},ko={version:"2.3.1",ucs2:{decode:_r,encode:lA},decode:yr,encode:Er,toASCII:uA,toUnicode:aA};/*! markdown-it 15.0.0 https://github.com/markdown-it/markdown-it @license MIT */var yo=Object.defineProperty,Dr=(e,t)=>{let n={};for(var r in e)yo(n,r,{get:e[r],enumerable:!0});return yo(n,Symbol.toStringTag,{value:"Module"}),n},hA=Dr({arrayReplaceAt:()=>br,asciiTrim:()=>en,callable:()=>Ir,escapeHtml:()=>Ze,escapeRE:()=>EA,fromCodePoint:()=>vt,isMdAsciiPunct:()=>Rt,isPunctChar:()=>wr,isPunctCharCode:()=>Nt,isSpace:()=>te,isValidEntityCode:()=>On,isWhiteSpace:()=>St,lib:()=>DA,normalizeReference:()=>qt,unescapeAll:()=>pt,unescapeMd:()=>mA});function Ir(e){const t=function(...n){return Reflect.construct(e,n,new.target&&new.target!==t?new.target:e)};return Object.defineProperty(t,"name",{value:e.name}),Object.setPrototypeOf(t,e),t.prototype=e.prototype,t}function br(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function On(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function vt(e){if(e>65535){e-=65536;const t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var Br=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,dA=new RegExp(`${Br.source}|${/&([a-z#][a-z0-9]{1,31});/gi.source}`,"gi"),fA=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function pA(e,t){if(t.charCodeAt(0)===35&&fA.test(t)){const r=t[1].toLowerCase()==="x"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return On(r)?vt(r):e}const n=fr(e);return n!==e?n:e}function mA(e){return e.indexOf("\\")<0?e:e.replace(Br,"$1")}function pt(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(dA,function(t,n,r){return n||pA(t,r)})}var gA=/[&<>"]/,CA=/[&<>"]/g,_A={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"};function kA(e){return _A[e]}function Ze(e){return gA.test(e)?e.replace(CA,kA):e}var yA=/[.?*+^$[\]\\(){}|-]/g;function EA(e){return e.replace(yA,"\\$&")}function te(e){switch(e){case 9:case 32:return!0}return!1}function St(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function wr(e){return Wn.test(e)||hr.test(e)}function Nt(e){return wr(vt(e))}function Rt(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function qt(e){return e=e.trim().replace(/\s+/g," "),e.toLowerCase().toUpperCase()}function Eo(e){return e===32||e===9||e===10||e===13}function en(e){let t=0;for(;t<e.length&&Eo(e.charCodeAt(t));t++);let n=e.length-1;for(;n>=t&&Eo(e.charCodeAt(n));n--);return e.slice(t,n+1)}var DA={mdurl:Ts,ucmicro:Ms};function IA(e,t,n){let r,o,i,A;const l=e.posMax,c=e.pos;for(e.pos=t+1,r=1;e.pos<l;){if(i=e.src.charCodeAt(e.pos),i===93&&(r--,r===0)){o=!0;break}if(A=e.pos,e.md.inline.skipToken(e),i===91){if(A===e.pos-1)r++;else if(n)return e.pos=c,-1}}let u=-1;return o&&(u=e.pos),e.pos=c,u}function bA(e,t,n){let r,o=t;const i={ok:!1,pos:0,str:""};if(e.charCodeAt(o)===60){for(o++;o<n;){if(r=e.charCodeAt(o),r===10||r===60)return i;if(r===62)return i.pos=o+1,i.str=pt(e.slice(t+1,o)),i.ok=!0,i;if(r===92&&o+1<n){o+=2;continue}o++}return i}let A=0;for(;o<n&&(r=e.charCodeAt(o),!(r===32||r<32||r===127));){if(r===92&&o+1<n){if(e.charCodeAt(o+1)===32){o++;continue}o+=2;continue}if(r===40&&(A++,A>32))return i;if(r===41){if(A===0)break;A--}o++}return t===o||A!==0||(i.str=pt(e.slice(t,o)),i.pos=o,i.ok=!0),i}function BA(e,t,n,r){let o,i=t;const A={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(r)A.str=r.str,A.marker=r.marker;else{if(i>=n)return A;let l=e.charCodeAt(i);if(l!==34&&l!==39&&l!==40)return A;t++,i++,l===40&&(l=41),A.marker=l}for(;i<n;){if(o=e.charCodeAt(i),o===A.marker)return A.pos=i+1,A.str+=pt(e.slice(t,i)),A.ok=!0,A;if(o===40&&A.marker===41)return A;o===92&&i+1<n&&i++,i++}return A.can_continue=!0,A.str+=pt(e.slice(t,i)),A}var wA=Dr({parseLinkDestination:()=>bA,parseLinkLabel:()=>IA,parseLinkTitle:()=>BA});function Tt(e){"@babel/helpers - typeof";return Tt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tt(e)}function FA(e,t){if(Tt(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Tt(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function xA(e){var t=FA(e,"string");return Tt(t)=="symbol"?t:t+""}function T(e,t,n){return(t=xA(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var et=class{constructor(e,t,n){T(this,"map",null),T(this,"level",0),T(this,"children",null),T(this,"content",""),T(this,"markup",""),T(this,"info",""),T(this,"block",!1),T(this,"hidden",!1),this.type=e,this.tag=t,this.attrs=null,this.nesting=n,this.meta=null}attrIndex(e){if(!this.attrs)return-1;const t=this.attrs;for(let n=0,r=t.length;n<r;n++)if(t[n][0]===e)return n;return-1}attrPush(e){this.attrs?this.attrs.push(e):this.attrs=[e]}attrSet(e,t){const n=this.attrIndex(e),r=[e,t];n<0?this.attrPush(r):this.attrs[n]=r}attrGet(e){const t=this.attrIndex(e);let n=null;return t>=0&&(n=this.attrs[t][1]),n}attrJoin(e,t){const n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=`${this.attrs[n][1]} ${t}`}},Qt=class{constructor(){T(this,"__rules__",[]),T(this,"__cache__",null)}__find__(e){for(let t=0;t<this.__rules__.length;t++)if(this.__rules__[t].name===e)return t;return-1}__compile__(){const e=new Set;this.__rules__.forEach(t=>{t.enabled&&t.alt.forEach(n=>{n&&e.add(n)})}),this.__cache__=Object.create(null),this.__cache__[""]=[],this.__rules__.forEach(t=>{t.enabled&&this.__cache__[""].push(t.fn)}),e.forEach(t=>{this.__cache__[t]=[],this.__rules__.forEach(n=>{n.enabled&&n.alt.indexOf(t)>=0&&this.__cache__[t].push(n.fn)})})}at(e,t,n={}){const r=this.__find__(e);if(r===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__[r].fn=t,this.__rules__[r].alt=n.alt||[],this.__cache__=null}before(e,t,n,r={}){const o=this.__find__(e);if(o===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(o,0,{name:t,enabled:!0,fn:n,alt:r.alt||[]}),this.__cache__=null}after(e,t,n,r={}){const o=this.__find__(e);if(o===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(o+1,0,{name:t,enabled:!0,fn:n,alt:r.alt||[]}),this.__cache__=null}push(e,t,n={}){this.__rules__.push({name:e,enabled:!0,fn:t,alt:n.alt||[]}),this.__cache__=null}enable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(r=>{const o=this.__find__(r);if(o<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${r}`)}this.__rules__[o].enabled=!0,n.push(r)}),this.__cache__=null,n}enableOnly(e,t=!1){Array.isArray(e)||(e=[e]),this.__rules__.forEach(n=>{n.enabled=!1}),this.enable(e,t)}disable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(r=>{const o=this.__find__(r);if(o<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${r}`)}this.__rules__[o].enabled=!1,n.push(r)}),this.__cache__=null,n}getRules(e){return this.__cache__||this.__compile__(),this.__cache__[e]||[]}},Ge={};Ge.code_inline=function(e,t,n,r,o){const i=e[t];return`<code${o.renderAttrs(i)}>${Ze(i.content)}</code>`};Ge.code_block=function(e,t,n,r,o){const i=e[t];return`<pre${o.renderAttrs(i)}><code>${Ze(e[t].content)}</code></pre>
41
+ `};Ge.fence=function(e,t,n,r,o){const i=e[t],A=i.info?pt(i.info).trim():"";let l="",c="";if(A){const d=A.split(/(\s+)/g);l=d[0],c=d.slice(2).join("")}let u;if(n.highlight?u=n.highlight(i.content,l,c)||Ze(i.content):u=Ze(i.content),u.indexOf("<pre")===0)return u+`
42
+ `;if(A){const d=i.attrIndex("class"),f=i.attrs?i.attrs.slice():[];d<0?f.push(["class",`${n.langPrefix}${l}`]):(f[d]=[f[d][0],f[d][1]],f[d][1]+=` ${n.langPrefix}${l}`);const _={attrs:f};return`<pre><code${o.renderAttrs(_)}>${u}</code></pre>
43
43
  `}return`<pre><code${o.renderAttrs(i)}>${u}</code></pre>
44
- `};xe.image=function(e,t,n,r,o){const i=e[t];return i.attrs[i.attrIndex("alt")][1]=o.renderInlineAsText(i.children,n,r),o.renderToken(e,t,n)};xe.hardbreak=function(e,t,n){return n.xhtmlOut?`<br />
44
+ `};Ge.image=function(e,t,n,r,o){const i=e[t];return i.attrs[i.attrIndex("alt")][1]=o.renderInlineAsText(i.children,n,r),o.renderToken(e,t,n)};Ge.hardbreak=function(e,t,n){return n.xhtmlOut?`<br />
45
45
  `:`<br>
46
- `};xe.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?`<br />
46
+ `};Ge.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?`<br />
47
47
  `:`<br>
48
48
  `:`
49
- `};xe.text=function(e,t){return Oe(e[t].content)};xe.html_block=function(e,t){return e[t].content};xe.html_inline=function(e,t){return e[t].content};var pr=class{constructor(){N(this,"rules",Object.assign({},xe))}renderAttrs(e){let t,n,r;if(!e.attrs)return"";for(r="",t=0,n=e.attrs.length;t<n;t++)r+=` ${Oe(e.attrs[t][0])}="${Oe(String(e.attrs[t][1]))}"`;return r}renderToken(e,t,n){const r=e[t];let o="";if(r.hidden)return"";let i=t-1;for(;i>=0&&e[i].hidden&&e[i].nesting===0;)i--;r.block&&r.nesting!==-1&&i>=0&&e[i].hidden&&e[i].nesting===-1&&(o+=`
49
+ `};Ge.text=function(e,t){return Ze(e[t].content)};Ge.html_block=function(e,t){return e[t].content};Ge.html_inline=function(e,t){return e[t].content};var Fr=class{constructor(){T(this,"rules",Object.assign({},Ge))}renderAttrs(e){let t,n,r;if(!e.attrs)return"";for(r="",t=0,n=e.attrs.length;t<n;t++)r+=` ${Ze(e.attrs[t][0])}="${Ze(String(e.attrs[t][1]))}"`;return r}renderToken(e,t,n){const r=e[t];let o="";if(r.hidden)return"";let i=t-1;for(;i>=0&&e[i].hidden&&e[i].nesting===0;)i--;r.block&&r.nesting!==-1&&i>=0&&e[i].hidden&&e[i].nesting===-1&&(o+=`
50
50
  `),o+=(r.nesting===-1?"</":"<")+r.tag,o+=this.renderAttrs(r),r.nesting===0&&n.xhtmlOut&&(o+=" /");let A=!1;if(r.block&&(A=!0,r.nesting===1)){let l=t+1;for(;l<e.length&&e[l].hidden&&e[l].nesting===0;)l++;if(l<e.length){const c=e[l];(c.type==="inline"||c.hidden||c.nesting===-1&&c.tag===r.tag)&&(A=!1)}}return o+=A?`>
51
51
  `:">",o}renderInline(e,t,n){let r="";const o=this.rules;for(let i=0,A=e.length;i<A;i++){const l=e[i].type;typeof o[l]<"u"?r+=o[l](e,i,t,n,this):r+=this.renderToken(e,i,t)}return r}renderInlineAsText(e,t,n){let r="";for(let o=0,i=e.length;o<i;o++)switch(e[o].type){case"text":case"code_inline":r+=e[o].content;break;case"image":r+=this.renderInlineAsText(e[o].children,t,n);break;case"html_inline":case"html_block":r+=e[o].content;break;case"softbreak":case"hardbreak":r+=`
52
- `}return r}render(e,t,n){let r="";const o=this.rules;for(let i=0,A=e.length;i<A;i++){const l=e[i].type;l==="inline"?r+=this.renderInline(e[i].children,t,n):typeof o[l]<"u"?r+=o[l](e,i,t,n,this):r+=this.renderToken(e,i,t)}return r}},mr=class{constructor(e,t,n){N(this,"tokens",[]),N(this,"inlineMode",!1),N(this,"Token",Ze),this.src=e,this.env=n,this.md=t}},lA=/\r\n?|\n/g,cA=/\0/g;function aA(e){let t;t=e.src.replace(lA,`
53
- `),t=t.replace(cA,"�"),e.src=t}function uA(e){let t;e.inlineMode?(t=new e.Token("inline","",0),t.content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}function hA(e){const t=e.tokens;let n=0;for(let r=0;r<t.length;r++)t[r].type!=="reference_definition"&&(r!==n&&(t[n]=t[r]),n++);t.length!==n&&(t.length=n)}function fA(e){const t=e.tokens;for(let n=0,r=t.length;n<r;n++){const o=t[n];o.type==="inline"&&e.md.inline.parse(o.content,e.md,e.env,o.children)}}function dA(e){return/^<a[>\s]/i.test(e)}function pA(e){return/^<\/a\s*>/i.test(e)}function mA(e){const t=e.tokens;if(e.md.options.linkify)for(let n=0,r=t.length;n<r;n++){if(t[n].type!=="inline"||!e.md.linkify.test(t[n].content))continue;let o=t[n].children,i=0;for(let A=o.length-1;A>=0;A--){const l=o[A];if(l.type==="link_close"){for(A--;o[A].level!==l.level&&o[A].type!=="link_open";)A--;continue}if(l.type==="html_inline"&&(dA(l.content)&&i>0&&i--,pA(l.content)&&i++),!(i>0)&&l.type==="text"&&e.md.linkify.test(l.content)){const c=l.content;let u=e.md.linkify.match(c);const f=[];let h=l.level,d=0;u.length>0&&u[0].index===0&&A>0&&o[A-1].type==="text_special"&&(u=u.slice(1));for(let g=0;g<u.length;g++){const p=u[g].url,F=e.md.normalizeLink(p);if(!e.md.validateLink(F))continue;let I=u[g].text;u[g].schema?u[g].schema==="mailto:"&&!/^mailto:/i.test(I)?I=e.md.normalizeLinkText(`mailto:${I}`).replace(/^mailto:/,""):I=e.md.normalizeLinkText(I):I=e.md.normalizeLinkText(`http://${I}`).replace(/^http:\/\//,"");const D=u[g].index;if(D>d){const b=new e.Token("text","",0);b.content=c.slice(d,D),b.level=h,f.push(b)}const y=new e.Token("link_open","a",1);y.attrs=[["href",F]],y.level=h++,y.markup="linkify",y.info="auto",f.push(y);const w=new e.Token("text","",0);w.content=I,w.level=h,f.push(w);const _=new e.Token("link_close","a",-1);_.level=--h,_.markup="linkify",_.info="auto",f.push(_),d=u[g].lastIndex}if(d<c.length){const g=new e.Token("text","",0);g.content=c.slice(d),g.level=h,f.push(g)}t[n].children=o=hr(o,A,f)}}}}var gr=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,gA=/\((c|tm|r)\)/i,CA=/\((c|tm|r)\)/gi,_A={c:"©",r:"®",tm:"™"};function kA(e,t){return _A[t.toLowerCase()]}function IA(e){let t=0;for(let n=e.length-1;n>=0;n--){const r=e[n];r.type==="text"&&!t&&(r.content=r.content.replace(CA,kA)),r.type==="link_open"&&r.info==="auto"&&t--,r.type==="link_close"&&r.info==="auto"&&t++}}function DA(e){let t=0;for(let n=e.length-1;n>=0;n--){const r=e[n];r.type==="text"&&!t&&gr.test(r.content)&&(r.content=r.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")),r.type==="link_open"&&r.info==="auto"&&t--,r.type==="link_close"&&r.info==="auto"&&t++}}function EA(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(gA.test(e.tokens[t].content)&&IA(e.tokens[t].children),gr.test(e.tokens[t].content)&&DA(e.tokens[t].children))}var yA=/['"]/,ho=/['"]/g,fo="’";function Kt(e,t,n,r){e[t]||(e[t]=[]),e[t].push({pos:n,ch:r})}function BA(e,t){let n="",r=0;t.sort((o,i)=>o.pos-i.pos);for(let o=0;o<t.length;o++){const i=t[o];n+=e.slice(r,i.pos)+i.ch,r=i.pos+1}return n+e.slice(r)}function bA(e,t){let n;const r=[],o={};for(let i=0;i<e.length;i++){const A=e[i],l=e[i].level;for(n=r.length-1;n>=0&&!(r[n].level<=l);n--);if(r.length=n+1,A.type!=="text")continue;const c=A.content;let u=0;const f=c.length;e:for(;u<f;){ho.lastIndex=u;const h=ho.exec(c);if(!h)break;let d=!0,g=!0;u=h.index+1;const p=h[0]==="'";let F=32;if(h.index-1>=0)F=c.charCodeAt(h.index-1);else for(n=i-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){F=e[n].content.charCodeAt(e[n].content.length-1);break}let I=32;if(u<f)I=c.charCodeAt(u);else for(n=i+1;n<e.length&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n++)if(e[n].content){I=e[n].content.charCodeAt(0);break}const D=_t(F)||Ct(F),y=_t(I)||Ct(I),w=gt(F),_=gt(I);if(_?d=!1:y&&(w||D||(d=!1)),w?g=!1:D&&(_||y||(g=!1)),I===34&&h[0]==='"'&&F>=48&&F<=57&&(g=d=!1),d&&g&&(d=D,g=y),!d&&!g){p&&Kt(o,i,h.index,fo);continue}if(g)for(n=r.length-1;n>=0;n--){let b=r[n];if(r[n].level<l)break;if(b.single===p&&r[n].level===l){b=r[n];let M,E;p?(M=t.md.options.quotes[2],E=t.md.options.quotes[3]):(M=t.md.options.quotes[0],E=t.md.options.quotes[1]),Kt(o,i,h.index,E),Kt(o,b.token,b.pos,M),r.length=n;continue e}}d?r.push({token:i,pos:h.index,single:p,level:l}):g&&p&&Kt(o,i,h.index,fo)}}Object.keys(o).forEach(function(i){const A=Number(i);e[A].content=BA(e[A].content,o[i])})}function FA(e){if(e.md.options.typographer)for(let t=e.tokens.length-1;t>=0;t--)e.tokens[t].type!=="inline"||!yA.test(e.tokens[t].content)||bA(e.tokens[t].children,e)}function wA(e){let t,n;const r=e.length;for(t=0;t<r;t++)e[t].type==="text_special"&&(e[t].type="text");for(t=n=0;t<r;t++)e[t].type==="text"&&t+1<r&&e[t+1].type==="text"?e[t+1].content=e[t].content+e[t+1].content:(t!==n&&(e[n]=e[t]),n++);t!==n&&(e.length=n)}function xA(e){let t,n;const r=e.tokens,o=r.length;for(let i=0;i<o;i++){if(r[i].type!=="inline")continue;const A=r[i].children,l=A.length;for(t=0;t<l;t++)A[t].type==="text_special"&&(A[t].type="text"),A[t].children&&wA(A[t].children);for(t=n=0;t<l;t++)A[t].type==="text"&&t+1<l&&A[t+1].type==="text"?A[t+1].content=A[t].content+A[t+1].content:(t!==n&&(A[n]=A[t]),n++);t!==n&&(A.length=n)}}var dn=[["normalize",aA],["block",uA],["strip_references",hA],["inline",fA],["linkify",mA],["replacements",EA],["smartquotes",FA],["text_join",xA]],Cr=class{constructor(){N(this,"ruler",new It),N(this,"State",mr);for(let e=0;e<dn.length;e++)this.ruler.push(dn[e][0],dn[e][1])}process(e){const t=this.ruler.getRules("");for(let n=0,r=t.length;n<r;n++)t[n](e)}},_r=class{constructor(e,t,n,r){N(this,"bMarks",[]),N(this,"eMarks",[]),N(this,"tShift",[]),N(this,"sCount",[]),N(this,"bsCount",[]),N(this,"blkIndent",0),N(this,"line",0),N(this,"lineMax",0),N(this,"tight",!1),N(this,"listIndent",-1),N(this,"parentType","root"),N(this,"level",0),N(this,"Token",Ze),this.src=e,this.md=t,this.env=n,this.tokens=r;const o=this.src;for(let i=0,A=0,l=0,c=0,u=o.length,f=!1;A<u;A++){const h=o.charCodeAt(A);if(!f)if($(h)){l++,h===9?c+=4-c%4:c++;continue}else f=!0;(h===10||A===u-1)&&(h!==10&&A++,this.bMarks.push(i),this.eMarks.push(A),this.tShift.push(l),this.sCount.push(c),this.bsCount.push(0),f=!1,l=0,c=0,i=A+1)}this.bMarks.push(o.length),this.eMarks.push(o.length),this.tShift.push(0),this.sCount.push(0),this.bsCount.push(0),this.lineMax=this.bMarks.length-1}push(e,t,n){const r=new Ze(e,t,n);return r.block=!0,n<0&&this.level--,r.level=this.level,n>0&&this.level++,this.tokens.push(r),r}isEmpty(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]}skipEmptyLines(e){for(let t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e}skipSpaces(e){for(let t=this.src.length;e<t&&$(this.src.charCodeAt(e));e++);return e}skipSpacesBack(e,t){if(e<=t)return e;for(;e>t;)if(!$(this.src.charCodeAt(--e)))return e+1;return e}skipChars(e,t){for(let n=this.src.length;e<n&&this.src.charCodeAt(e)===t;e++);return e}skipCharsBack(e,t,n){if(e<=n)return e;for(;e>n;)if(t!==this.src.charCodeAt(--e))return e+1;return e}getLines(e,t,n,r){if(e>=t)return"";const o=new Array(t-e);for(let i=0,A=e;A<t;A++,i++){let l=0;const c=this.bMarks[A];let u=c,f;for(A+1<t||r?f=this.eMarks[A]+1:f=this.eMarks[A];u<f&&l<n;){const h=this.src.charCodeAt(u);if($(h))h===9?l+=4-(l+this.bsCount[A])%4:l++;else if(u-c<this.tShift[A])l++;else break;u++}l>n?o[i]=new Array(l-n+1).join(" ")+this.src.slice(u,f):o[i]=this.src.slice(u,f)}return o.join("")}},vA=65536;function pn(e,t){const n=e.bMarks[t]+e.tShift[t],r=e.eMarks[t];return e.src.slice(n,r)}function po(e){const t=[],n=e.length;let r=0,o=e.charCodeAt(r),i=!1,A=0,l="";for(;r<n;)o===124&&(i?(l+=e.substring(A,r-1),A=r):(t.push(l+e.substring(A,r)),l="",A=r+1)),i=o===92,r++,o=e.charCodeAt(r);return t.push(l+e.substring(A)),t}function SA(e,t,n,r){if(t+2>n)return!1;let o=t+1;if(e.sCount[o]<e.blkIndent||e.sCount[o]-e.blkIndent>=4)return!1;let i=e.bMarks[o]+e.tShift[o];if(i>=e.eMarks[o])return!1;const A=e.src.charCodeAt(i++);if(A!==124&&A!==45&&A!==58||i>=e.eMarks[o])return!1;const l=e.src.charCodeAt(i++);if(l!==124&&l!==45&&l!==58&&!$(l)||A===45&&$(l))return!1;for(;i<e.eMarks[o];){const _=e.src.charCodeAt(i);if(_!==124&&_!==45&&_!==58&&!$(_))return!1;i++}let c=pn(e,t+1),u=c.split("|");const f=[];for(let _=0;_<u.length;_++){const b=u[_].trim();if(!b){if(_===0||_===u.length-1)continue;return!1}if(!/^:?-+:?$/.test(b))return!1;b.charCodeAt(b.length-1)===58?f.push(b.charCodeAt(0)===58?"center":"right"):b.charCodeAt(0)===58?f.push("left"):f.push("")}if(c=pn(e,t).trim(),c.indexOf("|")===-1||e.sCount[t]-e.blkIndent>=4)return!1;u=po(c),u.length&&u[0]===""&&u.shift(),u.length&&u[u.length-1]===""&&u.pop();const h=u.length;if(h===0||h!==f.length)return!1;if(r)return!0;const d=e.parentType;e.parentType="table";const g=e.md.block.ruler.getRules("blockquote"),p=e.push("table_open","table",1),F=[t,0];p.map=F;const I=e.push("thead_open","thead",1);I.map=[t,t+1];const D=e.push("tr_open","tr",1);D.map=[t,t+1];for(let _=0;_<u.length;_++){const b=e.push("th_open","th",1);f[_]&&(b.attrs=[["style",`text-align:${f[_]}`]]);const M=e.push("inline","",0);M.content=u[_].trim(),M.children=[],e.push("th_close","th",-1)}e.push("tr_close","tr",-1),e.push("thead_close","thead",-1);let y,w=0;for(o=t+2;o<n&&!(e.sCount[o]<e.blkIndent);o++){let _=!1;for(let M=0,E=g.length;M<E;M++)if(g[M](e,o,n,!0)){_=!0;break}if(_||(c=pn(e,o).trim(),!c)||e.sCount[o]-e.blkIndent>=4||(u=po(c),u.length&&u[0]===""&&u.shift(),u.length&&u[u.length-1]===""&&u.pop(),w+=h-u.length,w>vA))break;if(o===t+2){const M=e.push("tbody_open","tbody",1);M.map=y=[t+2,0]}const b=e.push("tr_open","tr",1);b.map=[o,o+1];for(let M=0;M<h;M++){const E=e.push("td_open","td",1);f[M]&&(E.attrs=[["style",`text-align:${f[M]}`]]);const v=e.push("inline","",0);v.content=u[M]?u[M].trim():"",v.children=[],e.push("td_close","td",-1)}e.push("tr_close","tr",-1)}return y&&(e.push("tbody_close","tbody",-1),y[1]=o),e.push("table_close","table",-1),F[1]=o,e.parentType=d,e.line=o,!0}function NA(e,t,n){if(e.sCount[t]-e.blkIndent<4)return!1;let r=t+1,o=r;for(;r<n;){if(e.isEmpty(r)){r++;continue}if(e.sCount[r]-e.blkIndent>=4){r++,o=r;continue}break}e.line=o;const i=e.push("code_block","code",0);return i.content=e.getLines(t,o,4+e.blkIndent,!1)+`
54
- `,i.map=[t,e.line],!0}function RA(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||o+3>i)return!1;const A=e.src.charCodeAt(o);if(A!==126&&A!==96)return!1;let l=o;o=e.skipChars(o,A);let c=o-l;if(c<3)return!1;const u=e.src.slice(l,o),f=e.src.slice(o,i);if(A===96&&f.indexOf(String.fromCharCode(A))>=0)return!1;if(r)return!0;let h=t,d=!1;for(;h++,!(h>=n||(o=l=e.bMarks[h]+e.tShift[h],i=e.eMarks[h],o<i&&e.sCount[h]<e.blkIndent));)if(e.src.charCodeAt(o)===A&&!(e.sCount[h]-e.blkIndent>=4)&&(o=e.skipChars(o,A),!(o-l<c)&&(o=e.skipSpaces(o),!(o<i)))){d=!0;break}c=e.sCount[t],e.line=h+(d?1:0);const g=e.push("fence","code",0);return g.info=f,g.content=e.getLines(t+1,h,c,!0),g.markup=u,g.map=[t,e.line],!0}function QA(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];const A=e.lineMax;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(o)!==62)return!1;if(r)return!0;const l=[],c=[],u=[],f=[],h=e.md.block.ruler.getRules("blockquote"),d=e.parentType;e.parentType="blockquote";let g=!1,p;for(p=t;p<n;p++){const w=e.sCount[p]<e.blkIndent;if(o=e.bMarks[p]+e.tShift[p],i=e.eMarks[p],o>=i)break;if(e.src.charCodeAt(o++)===62&&!w){let b=e.sCount[p]+1,M,E;e.src.charCodeAt(o)===32?(o++,b++,E=!1,M=!0):e.src.charCodeAt(o)===9?(M=!0,(e.bsCount[p]+b)%4===3?(o++,b++,E=!1):E=!0):M=!1;let v=b;for(l.push(e.bMarks[p]),e.bMarks[p]=o;o<i;){const S=e.src.charCodeAt(o);if($(S))S===9?v+=4-(v+e.bsCount[p]+(E?1:0))%4:v++;else break;o++}g=o>=i,c.push(e.bsCount[p]),e.bsCount[p]=e.sCount[p]+1+(M?1:0),u.push(e.sCount[p]),e.sCount[p]=v-b,f.push(e.tShift[p]),e.tShift[p]=o-e.bMarks[p];continue}if(g)break;let _=!1;for(let b=0,M=h.length;b<M;b++)if(h[b](e,p,n,!0)){_=!0;break}if(_){e.lineMax=p,e.blkIndent!==0&&(l.push(e.bMarks[p]),c.push(e.bsCount[p]),f.push(e.tShift[p]),u.push(e.sCount[p]),e.sCount[p]-=e.blkIndent);break}l.push(e.bMarks[p]),c.push(e.bsCount[p]),f.push(e.tShift[p]),u.push(e.sCount[p]),e.sCount[p]=-1}const F=e.blkIndent;e.blkIndent=0;const I=e.push("blockquote_open","blockquote",1);I.markup=">";const D=[t,0];I.map=D,e.md.block.tokenize(e,t,p);const y=e.push("blockquote_close","blockquote",-1);y.markup=">",e.lineMax=A,e.parentType=d,D[1]=e.line;for(let w=0;w<f.length;w++)e.bMarks[w+t]=l[w],e.tShift[w+t]=f[w],e.sCount[w+t]=u[w],e.bsCount[w+t]=c[w];return e.blkIndent=F,!0}function TA(e,t,n,r){const o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;let i=e.bMarks[t]+e.tShift[t];const A=e.src.charCodeAt(i++);if(A!==42&&A!==45&&A!==95)return!1;let l=1;for(;i<o;){const u=e.src.charCodeAt(i++);if(u!==A&&!$(u))return!1;u===A&&l++}if(l<3)return!1;if(r)return!0;e.line=t+1;const c=e.push("hr","hr",0);return c.map=[t,e.line],c.markup=Array(l+1).join(String.fromCharCode(A)),!0}function mo(e,t){const n=e.eMarks[t];let r=e.bMarks[t]+e.tShift[t];const o=e.src.charCodeAt(r++);return o!==42&&o!==45&&o!==43||r<n&&!$(e.src.charCodeAt(r))?-1:r}function go(e,t){const n=e.bMarks[t]+e.tShift[t],r=e.eMarks[t];let o=n;if(o+1>=r)return-1;let i=e.src.charCodeAt(o++);if(i<48||i>57)return-1;for(;;){if(o>=r)return-1;if(i=e.src.charCodeAt(o++),i>=48&&i<=57){if(o-n>=10)return-1;continue}if(i===41||i===46)break;return-1}return o<r&&(i=e.src.charCodeAt(o),!$(i))?-1:o}function MA(e,t){const n=e.level+2;for(let r=t+2,o=e.tokens.length-2;r<o;r++)e.tokens[r].level===n&&e.tokens[r].type==="paragraph_open"&&(e.tokens[r+2].hidden=!0,e.tokens[r].hidden=!0,r+=2)}function KA(e,t,n,r){let o,i,A,l,c=t,u=!0;if(e.sCount[c]-e.blkIndent>=4||e.listIndent>=0&&e.sCount[c]-e.listIndent>=4&&e.sCount[c]<e.blkIndent)return!1;let f=!1;r&&e.parentType==="paragraph"&&e.sCount[c]>=e.blkIndent&&(f=!0);let h,d,g;if((g=go(e,c))>=0){if(h=!0,A=e.bMarks[c]+e.tShift[c],d=Number(e.src.slice(A,g-1)),f&&d!==1)return!1}else if((g=mo(e,c))>=0)h=!1;else return!1;if(f&&e.skipSpaces(g)>=e.eMarks[c])return!1;if(r)return!0;const p=e.src.charCodeAt(g-1),F=e.tokens.length;h?(l=e.push("ordered_list_open","ol",1),d!==1&&(l.attrs=[["start",d]])):l=e.push("bullet_list_open","ul",1);const I=[c,0];l.map=I,l.markup=String.fromCharCode(p);let D=!1;const y=e.md.block.ruler.getRules("list"),w=e.parentType;for(e.parentType="list";c<n;){i=g,o=e.eMarks[c];const _=e.sCount[c]+g-(e.bMarks[c]+e.tShift[c]);let b=_;for(;i<o;){const ie=e.src.charCodeAt(i);if(ie===9)b+=4-(b+e.bsCount[c])%4;else if(ie===32)b++;else break;i++}const M=i;let E;M>=o?E=1:E=b-_,E>4&&(E=1);const v=_+E;l=e.push("list_item_open","li",1),l.markup=String.fromCharCode(p);const S=[c,0];l.map=S,h&&(l.info=e.src.slice(A,g-1));const W=e.tight,U=e.tShift[c],ne=e.sCount[c],Z=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=v,e.tight=!0,e.tShift[c]=M-e.bMarks[c],e.sCount[c]=b,M>=o&&e.isEmpty(c+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,c,n),(!e.tight||D)&&(u=!1),D=e.line-c>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=Z,e.tShift[c]=U,e.sCount[c]=ne,e.tight=W,l=e.push("list_item_close","li",-1),l.markup=String.fromCharCode(p),c=e.line,S[1]=c,c>=n||e.sCount[c]<e.blkIndent||e.sCount[c]-e.blkIndent>=4)break;let H=!1;for(let ie=0,Ae=y.length;ie<Ae;ie++)if(y[ie](e,c,n,!0)){H=!0;break}if(H)break;if(h){if(g=go(e,c),g<0)break;A=e.bMarks[c]+e.tShift[c]}else if(g=mo(e,c),g<0)break;if(p!==e.src.charCodeAt(g-1))break}return h?l=e.push("ordered_list_close","ol",-1):l=e.push("bullet_list_close","ul",-1),l.markup=String.fromCharCode(p),I[1]=c,e.line=c,e.parentType=w,u&&MA(e,F),!0}function GA(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t],A=t+1;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(o)!==91)return!1;function l(_){const b=e.lineMax;if(_>=b||e.isEmpty(_))return null;let M=!1;if(e.sCount[_]-e.blkIndent>3&&(M=!0),e.sCount[_]<0&&(M=!0),!M){const S=e.md.block.ruler.getRules("reference"),W=e.parentType;e.parentType="reference";let U=!1;for(let ne=0,Z=S.length;ne<Z;ne++)if(S[ne](e,_,b,!0)){U=!0;break}if(e.parentType=W,U)return null}const E=e.bMarks[_]+e.tShift[_],v=e.eMarks[_];return e.src.slice(E,v+1)}let c=e.src.slice(o,i+1);i=c.length;let u=-1;for(o=1;o<i;o++){const _=c.charCodeAt(o);if(_===91)return!1;if(_===93){u=o;break}else if(_===10){const b=l(A);b!==null&&(c+=b,i=c.length,A++)}else if(_===92&&(o++,o<i&&c.charCodeAt(o)===10)){const b=l(A);b!==null&&(c+=b,i=c.length,A++)}}if(u<0||c.charCodeAt(u+1)!==58)return!1;for(o=u+2;o<i;o++){const _=c.charCodeAt(o);if(_===10){const b=l(A);b!==null&&(c+=b,i=c.length,A++)}else if(!$(_))break}const f=e.md.helpers.parseLinkDestination(c,o,i);if(!f.ok)return!1;const h=e.md.normalizeLink(f.str);if(!e.md.validateLink(h))return!1;o=f.pos;const d=o,g=A,p=o;for(;o<i;o++){const _=c.charCodeAt(o);if(_===10){const b=l(A);b!==null&&(c+=b,i=c.length,A++)}else if(!$(_))break}let F=e.md.helpers.parseLinkTitle(c,o,i);for(;F.can_continue;){const _=l(A);if(_===null)break;c+=_,o=i,i=c.length,A++,F=e.md.helpers.parseLinkTitle(c,o,i,F)}let I;for(o<i&&p!==o&&F.ok?(I=F.str,o=F.pos):(I="",o=d,A=g);o<i&&$(c.charCodeAt(o));)o++;if(o<i&&c.charCodeAt(o)!==10&&I)for(I="",o=d,A=g;o<i&&$(c.charCodeAt(o));)o++;if(o<i&&c.charCodeAt(o)!==10)return!1;const D=Ut(c.slice(1,u));if(!D)return!1;if(r)return!0;typeof e.env.references>"u"&&(e.env.references={}),typeof e.env.references[D]>"u"&&(e.env.references[D]={title:I,href:h});const y=e.push("reference_definition","",0);y.map=[t,A],y.hidden=!0;const w=Object.create(null);return w.label=D,y.meta=w,e.line=A,!0}var WA=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],kr=`<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*\\/?>`,Ir="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",YA=new RegExp(`^(?:${kr}|${Ir}|<!---?>|<!--(?:[^-]|-[^-]|--[^>])*-->|<[?][\\s\\S]*?[?]>|<![A-Za-z][^>]*>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>)`),OA=new RegExp(`^(?:${kr}|${Ir})`),Ue=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Za-z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[new RegExp(`^</?(${WA.join("|")})(?=(\\s|/?>|$))`,"i"),/^$/,!0],[new RegExp(`${OA.source}\\s*$`),/^$/,!1]];function HA(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(o)!==60)return!1;let A=e.src.slice(o,i),l=0;for(;l<Ue.length&&!Ue[l][0].test(A);l++);if(l===Ue.length)return!1;if(r)return Ue[l][2];let c=t+1;const u=Ue[l][1].test("");if(!Ue[l][1].test(A)){for(;c<n&&!(e.sCount[c]<e.blkIndent&&(u||!e.isEmpty(c)));c++)if(o=e.bMarks[c]+e.tShift[c],i=e.eMarks[c],A=e.src.slice(o,i),Ue[l][1].test(A)){A.length!==0&&c++;break}}e.line=c;const f=e.push("html_block","",0);return f.map=[t,c],f.content=e.getLines(t,c,e.blkIndent,!0),!0}function UA(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;let A=e.src.charCodeAt(o);if(A!==35||o>=i)return!1;let l=1;for(A=e.src.charCodeAt(++o);A===35&&o<i&&l<=6;)l++,A=e.src.charCodeAt(++o);if(l>6||o<i&&!$(A))return!1;if(r)return!0;i=e.skipSpacesBack(i,o);const c=e.skipCharsBack(i,35,o);c>o&&$(e.src.charCodeAt(c-1))&&(i=c),e.line=t+1;const u=e.push("heading_open",`h${l}`,1);u.markup="########".slice(0,l),u.map=[t,e.line];const f=e.push("inline","",0);f.content=Jt(e.src.slice(o,i)),f.map=[t,e.line],f.children=[];const h=e.push("heading_close",`h${l}`,-1);return h.markup="########".slice(0,l),!0}function JA(e,t,n){const r=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const o=e.parentType;e.parentType="paragraph";let i=0,A,l=t+1;for(;l<n&&!e.isEmpty(l);l++){if(e.sCount[l]-e.blkIndent>3)continue;if(e.sCount[l]>=e.blkIndent){let g=e.bMarks[l]+e.tShift[l];const p=e.eMarks[l];if(g<p&&(A=e.src.charCodeAt(g),(A===45||A===61)&&(g=e.skipChars(g,A),g=e.skipSpaces(g),g>=p))){i=A===61?1:2;break}}if(e.sCount[l]<0)continue;let d=!1;for(let g=0,p=r.length;g<p;g++)if(r[g](e,l,n,!0)){d=!0;break}if(d)break}if(!i)return e.parentType=o,!1;const c=Jt(e.getLines(t,l,e.blkIndent,!1));e.line=l+1;const u=e.push("heading_open",`h${i}`,1);u.markup=String.fromCharCode(A),u.map=[t,e.line];const f=e.push("inline","",0);f.content=c,f.map=[t,e.line-1],f.children=[];const h=e.push("heading_close",`h${i}`,-1);return h.markup=String.fromCharCode(A),e.parentType=o,!0}function ZA(e,t,n){const r=e.md.block.ruler.getRules("paragraph"),o=e.parentType;let i=t+1;for(e.parentType="paragraph";i<n&&!e.isEmpty(i);i++){if(e.sCount[i]-e.blkIndent>3||e.sCount[i]<0)continue;let u=!1;for(let f=0,h=r.length;f<h;f++)if(r[f](e,i,n,!0)){u=!0;break}if(u)break}const A=Jt(e.getLines(t,i,e.blkIndent,!1));e.line=i;const l=e.push("paragraph_open","p",1);l.map=[t,e.line];const c=e.push("inline","",0);return c.content=A,c.map=[t,e.line],c.children=[],e.push("paragraph_close","p",-1),e.parentType=o,!0}var Gt=[["table",SA,["paragraph","reference"]],["code",NA],["fence",RA,["paragraph","reference","blockquote","list"]],["blockquote",QA,["paragraph","reference","blockquote","list"]],["hr",TA,["paragraph","reference","blockquote","list"]],["list",KA,["paragraph","reference","blockquote"]],["reference",GA],["html_block",HA,["paragraph","reference","blockquote"]],["heading",UA,["paragraph","reference","blockquote"]],["lheading",JA],["paragraph",ZA]],Dr=class{constructor(){N(this,"ruler",new It),N(this,"State",_r);for(let e=0;e<Gt.length;e++)this.ruler.push(Gt[e][0],Gt[e][1],{alt:(Gt[e][2]||[]).slice()})}tokenize(e,t,n){const r=this.ruler.getRules(""),o=r.length,i=e.md.options.maxNesting;let A=t,l=!1;for(;A<n&&(e.line=A=e.skipEmptyLines(A),!(A>=n||e.sCount[A]<e.blkIndent));){if(e.level>=i){e.line=n;break}const c=e.line;let u=!1;for(let f=0;f<o;f++)if(u=r[f](e,A,n,!1),u){if(c>=e.line)throw new Error("block rule didn't increment state.line");break}if(!u)throw new Error("none of the block rules matched");e.tight=!l,e.isEmpty(e.line-1)&&(l=!0),A=e.line,A<n&&e.isEmpty(A)&&(l=!0,A++,e.line=A)}}parse(e,t,n,r){if(!e)return;const o=new this.State(e,t,n,r);this.tokenize(o,o.line,o.lineMax)}},Er=class{constructor(e,t,n,r){N(this,"pos",0),N(this,"level",0),N(this,"pending",""),N(this,"pendingLevel",0),N(this,"cache",{}),N(this,"backticks",{}),N(this,"backticksScanned",!1),N(this,"linkLevel",0),N(this,"delimiters",[]),N(this,"_prev_delimiters",[]),N(this,"Token",Ze),this.src=e,this.env=n,this.md=t,this.tokens=r,this.tokens_meta=Array(r.length),this.posMax=this.src.length}pushPending(){const e=new Ze("text","",0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending="",e}push(e,t,n){this.pending&&this.pushPending();const r=new Ze(e,t,n);let o;return n<0&&(this.level--,this.delimiters=this._prev_delimiters.pop()),r.level=this.level,n>0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],o={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(o),r}scanDelims(e,t){const n=this.posMax,r=this.src.charCodeAt(e);let o;if(e===0)o=32;else if(e===1)o=this.src.charCodeAt(0),(o&63488)===55296&&(o=65533);else if(o=this.src.charCodeAt(e-1),(o&64512)===56320){const p=this.src.charCodeAt(e-2);o=(p&64512)===55296?65536+(p-55296<<10)+(o-56320):65533}else(o&64512)===55296&&(o=65533);let i=e;for(;i<n&&this.src.charCodeAt(i)===r;)i++;const A=i-e;let l=i<n?this.src.charCodeAt(i):32;if((l&64512)===55296){const p=this.src.charCodeAt(i+1);l=(p&64512)===56320?65536+(l-55296<<10)+(p-56320):65533}else(l&64512)===56320&&(l=65533);const c=_t(o)||Ct(o),u=_t(l)||Ct(l),f=gt(o),h=gt(l),d=!h&&(!u||f||c),g=!f&&(!c||h||u);return{can_open:d&&(t||!g||c),can_close:g&&(t||!d||u),length:A}}};function LA(e){switch(e){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return!0;default:return!1}}function VA(e,t){let n=e.pos;for(;n<e.posMax&&!LA(e.src.charCodeAt(n));)n++;return n===e.pos?!1:(t||(e.pending+=e.src.slice(e.pos,n)),e.pos=n,!0)}var PA=/(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;function zA(e,t){if(!e.md.options.linkify||e.linkLevel>0)return!1;const n=e.pos,r=e.posMax;if(n+3>r||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const o=e.pending.match(PA);if(!o)return!1;const i=o[1],A=e.md.linkify.matchAtStart(e.src.slice(n-i.length));if(!A)return!1;let l=A.url;if(l.length<=i.length)return!1;let c=l.length;for(;c>0&&l.charCodeAt(c-1)===42;)c--;c!==l.length&&(l=l.slice(0,c));const u=e.md.normalizeLink(l);if(!e.md.validateLink(u))return!1;if(!t){e.pending=e.pending.slice(0,-i.length);const f=e.push("link_open","a",1);f.attrs=[["href",u]],f.markup="linkify",f.info="auto";const h=e.push("text","",0);h.content=e.md.normalizeLinkText(l);const d=e.push("link_close","a",-1);d.markup="linkify",d.info="auto"}return e.pos+=l.length-i.length,!0}function jA(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const r=e.pending.length-1,o=e.posMax;if(!t)if(r>=0&&e.pending.charCodeAt(r)===32)if(r>=1&&e.pending.charCodeAt(r-1)===32){let i=r-1;for(;i>=1&&e.pending.charCodeAt(i-1)===32;)i--;e.pending=e.pending.slice(0,i),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n<o&&$(e.src.charCodeAt(n));)n++;return e.pos=n,!0}var Nn=[];for(let e=0;e<256;e++)Nn.push(0);"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(e){Nn[e.charCodeAt(0)]=1});function XA(e,t){let n=e.pos;const r=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=r))return!1;let o=e.src.charCodeAt(n);if(o===10){for(t||e.push("hardbreak","br",0),n++;n<r&&(o=e.src.charCodeAt(n),!!$(o));)n++;return e.pos=n,!0}if(o===32){if(!t){const l=e.push("text_special","",0);l.content="\\",l.markup="\\",l.info="escape"}return e.pos=n,!0}let i=e.src[n];if(o>=55296&&o<=56319&&n+1<r){const l=e.src.charCodeAt(n+1);l>=56320&&l<=57343&&(i+=e.src[n+1],n++)}const A="\\"+i;if(!t){const l=e.push("text_special","",0);o<256&&Nn[o]!==0?l.content=i:l.content=A,l.markup=A,l.info="escape"}return e.pos=n+1,!0}function $A(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;const r=n;n++;const o=e.posMax;for(;n<o&&e.src.charCodeAt(n)===96;)n++;const i=e.src.slice(r,n),A=i.length;if(e.backticksScanned&&(e.backticks[A]||0)<=r)return t||(e.pending+=i),e.pos+=A,!0;let l=n,c;for(;(c=e.src.indexOf("`",l))!==-1;){for(l=c+1;l<o&&e.src.charCodeAt(l)===96;)l++;const u=l-c;if(u===A){if(!t){const f=e.push("code_inline","code",0);f.markup=i,f.content=e.src.slice(n,c).replace(/\n/g," ").replace(/^ (.+) $/,"$1")}return e.pos=l,!0}e.backticks[u]=c}return e.backticksScanned=!0,t||(e.pending+=i),e.pos+=A,!0}function qA(e,t){const n=e.pos,r=e.src.charCodeAt(n);if(t||r!==126)return!1;const o=e.scanDelims(e.pos,!0);let i=o.length;const A=String.fromCharCode(r);if(i<2)return!1;let l;i%2&&(l=e.push("text","",0),l.content=A,i--);for(let c=0;c<i;c+=2)l=e.push("text","",0),l.content=A+A,e.delimiters.push({marker:r,length:0,token:e.tokens.length-1,end:-1,open:o.can_open,close:o.can_close});return e.pos+=o.length,!0}function Co(e,t){let n;const r=[],o=t.length;for(let i=0;i<o;i++){const A=t[i];if(A.marker!==126||A.end===-1)continue;const l=t[A.end];n=e.tokens[A.token],n.type="s_open",n.tag="s",n.nesting=1,n.markup="~~",n.content="",n=e.tokens[l.token],n.type="s_close",n.tag="s",n.nesting=-1,n.markup="~~",n.content="",e.tokens[l.token-1].type==="text"&&e.tokens[l.token-1].content==="~"&&r.push(l.token-1)}for(;r.length;){const i=r.pop();let A=i+1;for(;A<e.tokens.length&&e.tokens[A].type==="s_close";)A++;A--,i!==A&&(n=e.tokens[A],e.tokens[A]=e.tokens[i],e.tokens[i]=n)}}function el(e){const t=e.tokens_meta,n=e.tokens_meta.length;Co(e,e.delimiters);for(let o=0;o<n;o++){var r;const i=(r=t[o])===null||r===void 0?void 0:r.delimiters;i&&Co(e,i)}}var yr={tokenize:qA,postProcess:el};function tl(e,t){const n=e.pos,r=e.src.charCodeAt(n);if(t||r!==95&&r!==42)return!1;const o=e.scanDelims(e.pos,r===42);for(let i=0;i<o.length;i++){const A=e.push("text","",0);A.content=String.fromCharCode(r),e.delimiters.push({marker:r,length:o.length,token:e.tokens.length-1,end:-1,open:o.can_open,close:o.can_close})}return e.pos+=o.length,!0}function _o(e,t){const n=t.length;for(let r=n-1;r>=0;r--){const o=t[r];if(o.marker!==95&&o.marker!==42||o.end===-1)continue;const i=t[o.end],A=r>0&&t[r-1].end===o.end+1&&t[r-1].marker===o.marker&&t[r-1].token===o.token-1&&t[o.end+1].token===i.token+1,l=String.fromCharCode(o.marker),c=e.tokens[o.token];c.type=A?"strong_open":"em_open",c.tag=A?"strong":"em",c.nesting=1,c.markup=A?l+l:l,c.content="";const u=e.tokens[i.token];u.type=A?"strong_close":"em_close",u.tag=A?"strong":"em",u.nesting=-1,u.markup=A?l+l:l,u.content="",A&&(e.tokens[t[r-1].token].content="",e.tokens[t[o.end+1].token].content="",r--)}}function nl(e){const t=e.tokens_meta,n=e.tokens_meta.length;_o(e,e.delimiters);for(let o=0;o<n;o++){var r;const i=(r=t[o])===null||r===void 0?void 0:r.delimiters;i&&_o(e,i)}}var Br={tokenize:tl,postProcess:nl};function ol(e,t){let n,r,o,i,A="",l="",c=e.pos,u=!0;if(e.src.charCodeAt(e.pos)!==91)return!1;const f=e.pos,h=e.posMax,d=e.pos+1,g=e.md.helpers.parseLinkLabel(e,e.pos,!0);if(g<0)return!1;let p=g+1;if(p<h&&e.src.charCodeAt(p)===40){for(u=!1,p++;p<h&&(n=e.src.charCodeAt(p),!(!$(n)&&n!==10));p++);if(p>=h)return!1;if(c=p,o=e.md.helpers.parseLinkDestination(e.src,p,e.posMax),o.ok){for(A=e.md.normalizeLink(o.str),e.md.validateLink(A)?p=o.pos:A="",c=p;p<h&&(n=e.src.charCodeAt(p),!(!$(n)&&n!==10));p++);if(o=e.md.helpers.parseLinkTitle(e.src,p,e.posMax),p<h&&c!==p&&o.ok)for(l=o.str,p=o.pos;p<h&&(n=e.src.charCodeAt(p),!(!$(n)&&n!==10));p++);}(p>=h||e.src.charCodeAt(p)!==41)&&(u=!0),p++}if(u){if(typeof e.env.references>"u")return!1;if(p<h&&e.src.charCodeAt(p)===91?(c=p+1,p=e.md.helpers.parseLinkLabel(e,p),p>=0?r=e.src.slice(c,p++):p=g+1):p=g+1,r||(r=e.src.slice(d,g)),r=Ut(r),i=e.env.references[r],!i)return e.pos=f,!1;A=i.href,l=i.title}if(!t){e.pos=d,e.posMax=g;const F=e.push("link_open","a",1),I=[["href",A]];if(F.attrs=I,l&&I.push(["title",l]),r){const D=Object.create(null);D.label=r,F.meta=D}e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=p,e.posMax=h,!0}function rl(e,t){let n,r,o,i,A,l,c,u,f="";const h=e.pos,d=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const g=e.pos+2,p=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(p<0)return!1;if(i=p+1,i<d&&e.src.charCodeAt(i)===40){for(i++;i<d&&(n=e.src.charCodeAt(i),!(!$(n)&&n!==10));i++);if(i>=d)return!1;for(u=i,l=e.md.helpers.parseLinkDestination(e.src,i,e.posMax),l.ok&&(f=e.md.normalizeLink(l.str),e.md.validateLink(f)?i=l.pos:f=""),u=i;i<d&&(n=e.src.charCodeAt(i),!(!$(n)&&n!==10));i++);if(l=e.md.helpers.parseLinkTitle(e.src,i,e.posMax),i<d&&u!==i&&l.ok)for(c=l.str,i=l.pos;i<d&&(n=e.src.charCodeAt(i),!(!$(n)&&n!==10));i++);else c="";if(i>=d||e.src.charCodeAt(i)!==41)return e.pos=h,!1;i++}else{if(typeof e.env.references>"u")return!1;if(i<d&&e.src.charCodeAt(i)===91?(u=i+1,i=e.md.helpers.parseLinkLabel(e,i),i>=0?o=e.src.slice(u,i++):i=p+1):i=p+1,o||(o=e.src.slice(g,p)),o=Ut(o),A=e.env.references[o],!A)return e.pos=h,!1;f=A.href,c=A.title}if(!t){r=e.src.slice(g,p);const F=[];e.md.inline.parse(r,e.md,e.env,F);const I=e.push("image","img",0),D=[["src",f],["alt",""]];if(I.attrs=D,I.children=F,I.content=r,c&&D.push(["title",c]),o){const y=Object.create(null);y.label=o,I.meta=y}}return e.pos=i,e.posMax=d,!0}var il=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,sl=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function Al(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const r=e.pos,o=e.posMax;for(;;){if(++n>=o)return!1;const A=e.src.charCodeAt(n);if(A===60)return!1;if(A===62)break}const i=e.src.slice(r+1,n);if(sl.test(i)){const A=e.md.normalizeLink(i);if(!e.md.validateLink(A))return!1;if(!t){const l=e.push("link_open","a",1);l.attrs=[["href",A]],l.markup="autolink",l.info="auto";const c=e.push("text","",0);c.content=e.md.normalizeLinkText(i);const u=e.push("link_close","a",-1);u.markup="autolink",u.info="auto"}return e.pos+=i.length+2,!0}if(il.test(i)){const A=e.md.normalizeLink(`mailto:${i}`);if(!e.md.validateLink(A))return!1;if(!t){const l=e.push("link_open","a",1);l.attrs=[["href",A]],l.markup="autolink",l.info="auto";const c=e.push("text","",0);c.content=e.md.normalizeLinkText(i);const u=e.push("link_close","a",-1);u.markup="autolink",u.info="auto"}return e.pos+=i.length+2,!0}return!1}function ll(e){return/^<a[>\s]/i.test(e)}function cl(e){return/^<\/a\s*>/i.test(e)}function al(e){const t=e|32;return t>=97&&t<=122}function ul(e,t){if(!e.md.options.html)return!1;const n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;const o=e.src.charCodeAt(r+1);if(o!==33&&o!==63&&o!==47&&!al(o))return!1;const i=e.src.slice(r).match(YA);if(!i)return!1;if(!t){const A=e.push("html_inline","",0);A.content=i[0],ll(A.content)&&e.linkLevel++,cl(A.content)&&e.linkLevel--}return e.pos+=i[0].length,!0}var hl=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,fl=/^&([a-z][a-z0-9]{1,31});/i;function dl(e,t){const n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=r)return!1;if(e.src.charCodeAt(n+1)===35){const o=e.src.slice(n).match(hl);if(o){if(!t){const i=o[1][0].toLowerCase()==="x"?parseInt(o[1].slice(1),16):parseInt(o[1],10),A=e.push("text_special","",0);A.content=Sn(i)?mt(i):mt(65533),A.markup=o[0],A.info="entity"}return e.pos+=o[0].length,!0}}else{const o=e.src.slice(n).match(fl);if(o){const i=tr(o[0]);if(i!==o[0]){if(!t){const A=e.push("text_special","",0);A.content=i,A.markup=o[0],A.info="entity"}return e.pos+=o[0].length,!0}}}return!1}function ko(e){const t={},n=e.length;if(!n)return;let r=0,o=-2;const i=[];for(let A=0;A<n;A++){const l=e[A];if(i.push(0),(e[r].marker!==l.marker||o!==l.token-1)&&(r=A),o=l.token,l.length=l.length||0,!l.close)continue;t.hasOwnProperty(l.marker)||(t[l.marker]=[-1,-1,-1,-1,-1,-1]);const c=t[l.marker][(l.open?3:0)+l.length%3];let u=r-i[r]-1,f=u;for(;u>c;u-=i[u]+1){const h=e[u];if(h.marker===l.marker&&h.open&&h.end<0){let d=!1;if((h.close||l.open)&&(h.length+l.length)%3===0&&(h.length%3!==0||l.length%3!==0)&&(d=!0),!d){const g=u>0&&!e[u-1].open?i[u-1]+1:0;i[A]=A-u+g,i[u]=g,l.open=!1,h.end=A,h.close=!1,f=-1,o=-2;break}}}f!==-1&&(t[l.marker][(l.open?3:0)+(l.length||0)%3]=f)}}function pl(e){const t=e.tokens_meta,n=e.tokens_meta.length;ko(e.delimiters);for(let o=0;o<n;o++){var r;const i=(r=t[o])===null||r===void 0?void 0:r.delimiters;i&&ko(i)}}function ml(e){let t,n,r=0;const o=e.tokens,i=e.tokens.length;for(t=n=0;t<i;t++)o[t].nesting<0&&r--,o[t].level=r,o[t].nesting>0&&r++,o[t].type==="text"&&t+1<i&&o[t+1].type==="text"?o[t+1].content=o[t].content+o[t+1].content:(t!==n&&(o[n]=o[t]),n++);t!==n&&(o.length=n)}var mn=[["text",VA],["linkify",zA],["newline",jA],["escape",XA],["backticks",$A],["strikethrough",yr.tokenize],["emphasis",Br.tokenize],["link",ol],["image",rl],["autolink",Al],["html_inline",ul],["entity",dl]],gn=[["balance_pairs",pl],["strikethrough",yr.postProcess],["emphasis",Br.postProcess],["fragments_join",ml]],br=class{constructor(){N(this,"ruler",new It),N(this,"ruler2",new It),N(this,"State",Er);for(let e=0;e<mn.length;e++)this.ruler.push(mn[e][0],mn[e][1]);for(let e=0;e<gn.length;e++)this.ruler2.push(gn[e][0],gn[e][1])}skipToken(e){const t=e.pos,n=this.ruler.getRules(""),r=n.length,o=e.md.options.maxNesting,i=e.cache;if(typeof i[t]<"u"){e.pos=i[t];return}let A=!1;if(e.level<o){for(let l=0;l<r;l++)if(e.level++,A=n[l](e,!0),e.level--,A){if(t>=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;A||e.pos++,i[t]=e.pos}tokenize(e){const t=this.ruler.getRules(""),n=t.length,r=e.posMax,o=e.md.options.maxNesting;for(;e.pos<r;){const i=e.pos;let A=!1;if(e.level<o){for(let l=0;l<n;l++)if(A=t[l](e,!1),A){if(i>=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(A){if(e.pos>=r)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()}parse(e,t,n,r){const o=new this.State(e,t,n,r);this.tokenize(o);const i=this.ruler2.getRules(""),A=i.length;for(let l=0;l<A;l++)i[l](o)}},gl={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}},zero:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","strip_references","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","strip_references","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}}},Cl=/^(vbscript|javascript|file|data):/,_l=/^data:image\/(gif|png|jpeg|webp);/,Io=["http:","https:","mailto:"],ve=class{validateLink(e){const t=e.trim().toLowerCase();return Cl.test(t)?_l.test(t):!0}normalizeLink(e){const t=Bn(e,!0);if(t.hostname&&(!t.protocol||Io.indexOf(t.protocol)>=0))try{t.hostname=co.toASCII(t.hostname)}catch{}return Dt(yn(t))}normalizeLinkText(e){const t=Bn(e,!0);if(t.hostname&&(!t.protocol||Io.indexOf(t.protocol)>=0))try{t.hostname=co.toUnicode(t.hostname)}catch{}return nt(yn(t),nt.defaultChars+"%")}constructor(...e){N(this,"inline",new br),N(this,"block",new Dr),N(this,"core",new Cr),N(this,"renderer",new pr),N(this,"linkify",new Ns),N(this,"utils",Js),N(this,"helpers",Object.assign({},iA));const[t,n]=e;typeof t=="string"?(this.configure(t),n&&this.set(n)):(this.configure("default"),this.set(t||{}))}set(e){return Object.assign(this.options,e),this}configure(e){let t;if(typeof e=="string"){const o=e;if(t=gl[o],!t)throw new Error(`Wrong 'markdown-it' preset "${o}", check name`)}else t=e;if(!t)throw new Error("Wrong `markdown-it` preset, can't be empty");t.options&&(this.options={...t.options});const n=t.components;if(n){var r;["core","block","inline"].forEach(i=>{var A;const l=(A=n[i])===null||A===void 0?void 0:A.rules;l&&this[i].ruler.enableOnly(l)});const o=(r=n.inline)===null||r===void 0?void 0:r.rules2;o&&this.inline.ruler2.enableOnly(o)}return this}enable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(o=>{n=n.concat(this[o].ruler.enable(e,!0))}),n=n.concat(this.inline.ruler2.enable(e,!0));const r=e.filter(o=>n.indexOf(o)<0);if(r.length&&!t)throw new Error(`MarkdownIt. Failed to enable unknown rule(s): ${r}`);return this}disable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(o=>{n=n.concat(this[o].ruler.disable(e,!0))}),n=n.concat(this.inline.ruler2.disable(e,!0));const r=e.filter(o=>n.indexOf(o)<0);if(r.length&&!t)throw new Error(`MarkdownIt. Failed to disable unknown rule(s): ${r}`);return this}use(e,...t){return e.apply(e,[this,...t]),this}parse(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens}render(e,t={}){return this.renderer.render(this.parse(e,t),this.options,t)}parseInline(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens}renderInline(e,t={}){return this.renderer.render(this.parseInline(e,t),this.options,t)}};N(ve,"Token",Ze);N(ve,"Ruler",It);N(ve,"Renderer",pr);N(ve,"ParserCore",Cr);N(ve,"StateCore",mr);N(ve,"ParserBlock",Dr);N(ve,"StateBlock",_r);N(ve,"ParserInline",br);N(ve,"StateInline",Er);var kl=ur(ve);/*! @license DOMPurify 3.4.13 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.13/LICENSE */function Do(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Il(e){if(Array.isArray(e))return e}function Dl(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,o,i,A,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,t!==0)for(;!(c=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(f){u=!0,o=f}finally{try{if(!c&&n.return!=null&&(A=n.return(),Object(A)!==A))return}finally{if(u)throw o}}return l}}function El(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
55
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yl(e,t){return Il(e)||Dl(e,t)||Bl(e,t)||El()}function Bl(e,t){if(e){if(typeof e=="string")return Do(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Do(e,t):void 0}}const Fr=Object.entries,Eo=Object.setPrototypeOf,bl=Object.isFrozen,Fl=Object.getPrototypeOf,wl=Object.getOwnPropertyDescriptor;let ue=Object.freeze,he=Object.seal,et=Object.create,wr=typeof Reflect<"u"&&Reflect,Fn=wr.apply,wn=wr.construct;ue||(ue=function(t){return t});he||(he=function(t){return t});Fn||(Fn=function(t,n){for(var r=arguments.length,o=new Array(r>2?r-2:0),i=2;i<r;i++)o[i-2]=arguments[i];return t.apply(n,o)});wn||(wn=function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return new t(...r)});const $e=re(Array.prototype.forEach),xl=re(Array.prototype.lastIndexOf),yo=re(Array.prototype.pop),qe=re(Array.prototype.push),vl=re(Array.prototype.splice),Ye=Array.isArray,ft=re(String.prototype.toLowerCase),Cn=re(String.prototype.toString),Bo=re(String.prototype.match),ut=re(String.prototype.replace),bo=re(String.prototype.indexOf),Sl=re(String.prototype.trim),Nl=re(Number.prototype.toString),Rl=re(Boolean.prototype.toString),Fo=typeof BigInt>"u"?null:re(BigInt.prototype.toString),wo=typeof Symbol>"u"?null:re(Symbol.prototype.toString),ae=re(Object.prototype.hasOwnProperty),ht=re(Object.prototype.toString),le=re(RegExp.prototype.test),Je=Ql(TypeError);function re(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return Fn(e,t,r)}}function Ql(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return wn(e,n)}}function J(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ft;if(Eo&&Eo(e,null),!Ye(t))return e;let r=t.length;for(;r--;){let o=t[r];if(typeof o=="string"){const i=n(o);i!==o&&(bl(t)||(t[r]=i),o=i)}e[o]=!0}return e}function Tl(e){for(let t=0;t<e.length;t++)ae(e,t)||(e[t]=null);return e}function fe(e){const t=et(null);for(const r of Fr(e)){var n=yl(r,2);const o=n[0],i=n[1];ae(e,o)&&(Ye(i)?t[o]=Tl(i):i&&typeof i=="object"&&i.constructor===Object?t[o]=fe(i):t[o]=i)}return t}function Ml(e){switch(typeof e){case"string":return e;case"number":return Nl(e);case"boolean":return Rl(e);case"bigint":return Fo?Fo(e):"0";case"symbol":return wo?wo(e):"Symbol()";case"undefined":return ht(e);case"function":case"object":{if(e===null)return ht(e);const t=e,n=De(t,"toString");if(typeof n=="function"){const r=n(t);return typeof r=="string"?r:ht(r)}return ht(e)}default:return ht(e)}}function De(e,t){for(;e!==null;){const r=wl(e,t);if(r){if(r.get)return re(r.get);if(typeof r.value=="function")return re(r.value)}e=Fl(e)}function n(){return null}return n}function Kl(e){try{return le(e,""),!0}catch{return!1}}const xo=ue(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),_n=ue(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),kn=ue(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Gl=ue(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),In=ue(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Wl=ue(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),vo=ue(["#text"]),So=ue(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Dn=ue(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),No=ue(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Wt=ue(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Yl=he(/{{[\w\W]*|^[\w\W]*}}/g),Ol=he(/<%[\w\W]*|^[\w\W]*%>/g),Hl=he(/\${[\w\W]*/g),Ul=he(/^data-[\-\w.\u00B7-\uFFFF]+$/),Jl=he(/^aria-[\-\w]+$/),Ro=he(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Zl=he(/^(?:\w+script|data):/i),Ll=he(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Vl=he(/^html$/i),Pl=he(/^[a-z][.\w]*(-[.\w]+)+$/i),Qo=he(/<[/\w!]/g),To=he(/<[/\w]/g),zl=he(/<\/no(script|embed|frames)/i),jl=he(/\/>/i),ke={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Xl=function(){return typeof window>"u"?null:window},$l=function(t,n){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null;const o="data-tt-policy-suffix";n&&n.hasAttribute(o)&&(r=n.getAttribute(o));const i="dompurify"+(r?"#"+r:"");try{return t.createPolicy(i,{createHTML(A){return A},createScriptURL(A){return A}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},Mo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Ke=function(t,n,r,o){return ae(t,n)&&Ye(t[n])?J(o.base?fe(o.base):{},t[n],o.transform):r};function xr(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Xl();const t=B=>xr(B);if(t.version="3.4.13",t.removed=[],!e||!e.document||e.document.nodeType!==ke.document||!e.Element)return t.isSupported=!1,t;let n=e.document;const r=n,o=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,A=e.Node,l=e.Element,c=e.NodeFilter,u=e.NamedNodeMap;u===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const f=e.DOMParser,h=e.trustedTypes,d=l.prototype,g=De(d,"cloneNode"),p=De(d,"remove"),F=De(d,"nextSibling"),I=De(d,"childNodes"),D=De(d,"parentNode"),y=De(d,"shadowRoot"),w=De(d,"attributes"),_=A&&A.prototype?De(A.prototype,"nodeType"):null,b=A&&A.prototype?De(A.prototype,"nodeName"):null,M=A&&A.prototype?De(A.prototype,"ownerDocument"):null;if(typeof i=="function"){const B=n.createElement("template");B.content&&B.content.ownerDocument&&(n=B.content.ownerDocument)}let E,v="",S,W=!1,U=0;const ne=function(){if(U>0)throw Je('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},Z=function(a){ne(),U++;try{return E.createHTML(a)}finally{U--}},H=function(a){ne(),U++;try{return E.createScriptURL(a)}finally{U--}},ie=function(){return W||(S=$l(h,o),W=!0),S},Ae=n,Ne=Ae.implementation,_e=Ae.createNodeIterator,Re=Ae.createDocumentFragment,Qe=Ae.getElementsByTagName,it=r.importNode;let V=Mo();t.isSupported=typeof Fr=="function"&&typeof D=="function"&&Ne&&Ne.createHTMLDocument!==void 0;const me=Yl,Et=Ol,Zt=Hl,Lt=Ul,yt=Jl,Vt=Zl,Bt=Ll,Pt=Pl;let Ee=Ro,j=null;const st=J({},[...xo,..._n,...kn,...In,...vo]);let z=null;const Le=J({},[...So,...Dn,...No,...Wt]);let C=Object.seal(et(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),K=null,Q=null;const x=Object.seal(et(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let G=!0,L=!0,Se=!1,Te=!0,X=!1,se=!0,Ie=!1,oe=!1,At=null,bt=null,zt=!1,Ve=!1,Ft=!1,wt=!1,Rn=!0,Qn=!1;const Tn="user-content-";let jt=!0,xt=!1,Pe={},ye=null;const Xt=J({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let Mn=null;const Kn=J({},["audio","video","img","source","image","track"]);let $t=null;const Gn=J({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),vt="http://www.w3.org/1998/Math/MathML",St="http://www.w3.org/2000/svg",Be="http://www.w3.org/1999/xhtml";let ze=Be,qt=!1,en=null;const Qr=J({},[vt,St,Be],Cn),Wn=ue(["mi","mo","mn","ms","mtext"]);let tn=J({},Wn);const Yn=ue(["annotation-xml"]);let nn=J({},Yn);const Tr=J({},["title","style","font","a","script"]);let lt=null;const Mr=["application/xhtml+xml","text/html"],Kr="text/html";let q=null,je=null;const Gr=n.createElement("form"),On=function(a){return a instanceof RegExp||a instanceof Function},on=function(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(je&&je===a)return;(!a||typeof a!="object")&&(a={}),a=fe(a),lt=Mr.indexOf(a.PARSER_MEDIA_TYPE)===-1?Kr:a.PARSER_MEDIA_TYPE,q=lt==="application/xhtml+xml"?Cn:ft,j=Ke(a,"ALLOWED_TAGS",st,{transform:q}),z=Ke(a,"ALLOWED_ATTR",Le,{transform:q}),en=Ke(a,"ALLOWED_NAMESPACES",Qr,{transform:Cn}),$t=Ke(a,"ADD_URI_SAFE_ATTR",Gn,{transform:q,base:Gn}),Mn=Ke(a,"ADD_DATA_URI_TAGS",Kn,{transform:q,base:Kn}),ye=Ke(a,"FORBID_CONTENTS",Xt,{transform:q}),K=Ke(a,"FORBID_TAGS",fe({}),{transform:q}),Q=Ke(a,"FORBID_ATTR",fe({}),{transform:q}),Pe=ae(a,"USE_PROFILES")?a.USE_PROFILES&&typeof a.USE_PROFILES=="object"?fe(a.USE_PROFILES):a.USE_PROFILES:!1,G=a.ALLOW_ARIA_ATTR!==!1,L=a.ALLOW_DATA_ATTR!==!1,Se=a.ALLOW_UNKNOWN_PROTOCOLS||!1,Te=a.ALLOW_SELF_CLOSE_IN_ATTR!==!1,X=a.SAFE_FOR_TEMPLATES||!1,se=a.SAFE_FOR_XML!==!1,Ie=a.WHOLE_DOCUMENT||!1,Ve=a.RETURN_DOM||!1,Ft=a.RETURN_DOM_FRAGMENT||!1,wt=a.RETURN_TRUSTED_TYPE||!1,zt=a.FORCE_BODY||!1,Rn=a.SANITIZE_DOM!==!1,Qn=a.SANITIZE_NAMED_PROPS||!1,jt=a.KEEP_CONTENT!==!1,xt=a.IN_PLACE||!1,Ee=Kl(a.ALLOWED_URI_REGEXP)?a.ALLOWED_URI_REGEXP:Ro,ze=typeof a.NAMESPACE=="string"?a.NAMESPACE:Be,tn=ae(a,"MATHML_TEXT_INTEGRATION_POINTS")&&a.MATHML_TEXT_INTEGRATION_POINTS&&typeof a.MATHML_TEXT_INTEGRATION_POINTS=="object"?fe(a.MATHML_TEXT_INTEGRATION_POINTS):J({},Wn),nn=ae(a,"HTML_INTEGRATION_POINTS")&&a.HTML_INTEGRATION_POINTS&&typeof a.HTML_INTEGRATION_POINTS=="object"?fe(a.HTML_INTEGRATION_POINTS):J({},Yn);const m=ae(a,"CUSTOM_ELEMENT_HANDLING")&&a.CUSTOM_ELEMENT_HANDLING&&typeof a.CUSTOM_ELEMENT_HANDLING=="object"?fe(a.CUSTOM_ELEMENT_HANDLING):et(null);if(C=et(null),ae(m,"tagNameCheck")&&On(m.tagNameCheck)&&(C.tagNameCheck=m.tagNameCheck),ae(m,"attributeNameCheck")&&On(m.attributeNameCheck)&&(C.attributeNameCheck=m.attributeNameCheck),ae(m,"allowCustomizedBuiltInElements")&&typeof m.allowCustomizedBuiltInElements=="boolean"&&(C.allowCustomizedBuiltInElements=m.allowCustomizedBuiltInElements),he(C),X&&(L=!1),Ft&&(Ve=!0),Pe&&(j=J({},vo),z=et(null),Pe.html===!0&&(J(j,xo),J(z,So)),Pe.svg===!0&&(J(j,_n),J(z,Dn),J(z,Wt)),Pe.svgFilters===!0&&(J(j,kn),J(z,Dn),J(z,Wt)),Pe.mathMl===!0&&(J(j,In),J(z,No),J(z,Wt))),x.tagCheck=null,x.attributeCheck=null,ae(a,"ADD_TAGS")&&(typeof a.ADD_TAGS=="function"?x.tagCheck=a.ADD_TAGS:Ye(a.ADD_TAGS)&&(j===st&&(j=fe(j)),J(j,a.ADD_TAGS,q))),ae(a,"ADD_ATTR")&&(typeof a.ADD_ATTR=="function"?x.attributeCheck=a.ADD_ATTR:Ye(a.ADD_ATTR)&&(z===Le&&(z=fe(z)),J(z,a.ADD_ATTR,q))),ae(a,"ADD_URI_SAFE_ATTR")&&Ye(a.ADD_URI_SAFE_ATTR)&&J($t,a.ADD_URI_SAFE_ATTR,q),ae(a,"FORBID_CONTENTS")&&Ye(a.FORBID_CONTENTS)&&(ye===Xt&&(ye=fe(ye)),J(ye,a.FORBID_CONTENTS,q)),ae(a,"ADD_FORBID_CONTENTS")&&Ye(a.ADD_FORBID_CONTENTS)&&(ye===Xt&&(ye=fe(ye)),J(ye,a.ADD_FORBID_CONTENTS,q)),jt&&(j["#text"]=!0),Ie&&J(j,["html","head","body"]),j.table&&(J(j,["tbody"]),delete K.tbody),a.TRUSTED_TYPES_POLICY){if(typeof a.TRUSTED_TYPES_POLICY.createHTML!="function")throw Je('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof a.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Je('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const k=E;E=a.TRUSTED_TYPES_POLICY;try{v=Z("")}catch(R){throw E=k,R}}else a.TRUSTED_TYPES_POLICY===null?(E=void 0,v=""):(E===void 0&&(E=ie()),E&&typeof v=="string"&&(v=Z("")));ue&&ue(a),je=a},Hn=J({},[..._n,...kn,...Gl]),Un=J({},[...In,...Wl]),Wr=function(a,m,k){return m.namespaceURI===Be?a==="svg":m.namespaceURI===vt?a==="svg"&&(k==="annotation-xml"||tn[k]):!!Hn[a]},Yr=function(a,m,k){return m.namespaceURI===Be?a==="math":m.namespaceURI===St?a==="math"&&nn[k]:!!Un[a]},Or=function(a,m,k){return m.namespaceURI===St&&!nn[k]||m.namespaceURI===vt&&!tn[k]?!1:!Un[a]&&(Tr[a]||!Hn[a])},Hr=function(a){let m=D(a);(!m||!m.tagName)&&(m={namespaceURI:ze,tagName:"template"});const k=ft(a.tagName),R=ft(m.tagName);return en[a.namespaceURI]?a.namespaceURI===St?Wr(k,m,R):a.namespaceURI===vt?Yr(k,m,R):a.namespaceURI===Be?Or(k,m,R):!!(lt==="application/xhtml+xml"&&en[a.namespaceURI]):!1},Me=function(a){qe(t.removed,{element:a});try{D(a).removeChild(a)}catch{if(p(a),!D(a))throw Je("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Nt=function(a){ct(a);const m=I(a);if(m){const R=[];$e(m,T=>{qe(R,T)}),$e(R,T=>{try{p(T)}catch{}})}const k=w(a);if(k)for(let R=k.length-1;R>=0;--R){const T=k[R],Y=T&&T.name;if(typeof Y=="string")try{a.removeAttribute(Y)}catch{}}},He=function(a,m){try{qe(t.removed,{attribute:m.getAttributeNode(a),from:m})}catch{qe(t.removed,{attribute:null,from:m})}if(m.removeAttribute(a),a==="is")if(Ve||Ft)try{Me(m)}catch{}else try{m.setAttribute(a,"")}catch{}},Ur=function(a){const m=w(a);if(m)for(let k=m.length-1;k>=0;--k){const R=m[k],T=R&&R.name;if(!(typeof T!="string"||z[q(T)]))try{a.removeAttribute(T)}catch{}}},ct=function(a){const m=[a];for(;m.length>0;){const k=m.pop();(_?_(k):k.nodeType)===ke.element&&Ur(k);const T=I(k);if(T)for(let Y=T.length-1;Y>=0;--Y)m.push(T[Y])}},Jr=function(a){if(!se)return;const m=[a];for(;m.length>0;){const k=m.pop(),R=_?_(k):k.nodeType;if(R===ke.processingInstruction||R===ke.comment&&le(To,k.data)){try{p(k)}catch{}continue}if(R===ke.element){const Y=k,P=q(b?b(k):k.nodeName);try{Y.hasAttribute&&Y.hasAttribute("patchsrc")&&Y.removeAttribute("patchsrc"),Y.hasAttribute&&Y.hasAttribute("for")&&P!=="label"&&P!=="output"&&Y.removeAttribute("for")}catch{}}const T=I(k);if(T)for(let Y=T.length-1;Y>=0;--Y)m.push(T[Y])}},Jn=function(a){let m=null,k=null;if(zt)a="<remove></remove>"+a;else{const Y=Bo(a,/^[\r\n\t ]+/);k=Y&&Y[0]}lt==="application/xhtml+xml"&&ze===Be&&(a='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+a+"</body></html>");const R=E?Z(a):a;if(ze===Be)try{m=new f().parseFromString(R,lt)}catch{}if(!m||!m.documentElement){m=Ne.createDocument(ze,"template",null);try{m.documentElement.innerHTML=qt?v:R}catch{}}const T=m.body||m.documentElement;return a&&k&&T.insertBefore(n.createTextNode(k),T.childNodes[0]||null),ze===Be?Qe.call(m,Ie?"html":"body")[0]:Ie?m.documentElement:T},Zn=function(a){const m=M?M(a):a.ownerDocument;return _e.call(m||a,a,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Rt=function(a){return a=ut(a,me," "),a=ut(a,Et," "),a=ut(a,Zt," "),a},rn=function(a){var m;a.normalize();const k=M?M(a):a.ownerDocument,R=_e.call(k||a,a,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let T=R.nextNode();for(;T;)T.data=Rt(T.data),T=R.nextNode();const Y=(m=a.querySelectorAll)===null||m===void 0?void 0:m.call(a,"template");Y&&$e(Y,P=>{Xe(P.content)&&rn(P.content)})},Qt=function(a){const m=b?b(a):null;return typeof m!="string"||q(m)!=="form"?!1:typeof a.nodeName!="string"||typeof a.textContent!="string"||typeof a.removeChild!="function"||a.attributes!==w(a)||typeof a.removeAttribute!="function"||typeof a.setAttribute!="function"||typeof a.namespaceURI!="string"||typeof a.insertBefore!="function"||typeof a.hasChildNodes!="function"||a.nodeType!==_(a)||a.childNodes!==I(a)},Xe=function(a){if(!_||typeof a!="object"||a===null)return!1;try{return _(a)===ke.documentFragment}catch{return!1}},at=function(a){if(!_||typeof a!="object"||a===null)return!1;try{return typeof _(a)=="number"}catch{return!1}};function be(B,a,m){B.length!==0&&$e(B,k=>{k.call(t,a,m,je)})}const Zr=function(a,m){return!!(se&&a.hasChildNodes()&&!at(a.firstElementChild)&&le(Qo,a.textContent)&&le(Qo,a.innerHTML)||se&&a.namespaceURI===Be&&m==="style"&&at(a.firstElementChild)||a.nodeType===ke.processingInstruction||se&&a.nodeType===ke.comment&&le(To,a.data))},Lr=function(a,m,k){if(!K[m]&&zn(m)&&(C.tagNameCheck instanceof RegExp&&le(C.tagNameCheck,m)||C.tagNameCheck instanceof Function&&C.tagNameCheck(m)))return!1;if(jt&&!ye[m]){const R=D(a),T=I(a);if(T&&R){const Y=T.length;for(let P=Y-1;P>=0;--P){const ee=a===k?g(T[P],!0):T[P];R.insertBefore(ee,F(a))}}}return Me(a),!0},Ln=function(a,m,k,R){return a.length===0?m:m===k||m===R?fe(m):m},Vn=function(a,m){if(be(V.beforeSanitizeElements,a,null),a!==m&&D(a)===null)return xt&&ct(a),!0;if(Qt(a))return Me(a),!0;const k=q(b?b(a):a.nodeName);if(j=Ln(V.uponSanitizeElement,j,st,At),be(V.uponSanitizeElement,a,{tagName:k,allowedTags:j}),a!==m&&D(a)===null)return xt&&ct(a),!0;if(Zr(a,k))return Me(a),!0;if(K[k]||!(x.tagCheck instanceof Function&&x.tagCheck(k))&&!j[k]){const T=Lr(a,k,m);return T===!1&&be(V.afterSanitizeElements,a,null),T}if((_?_(a):a.nodeType)===ke.element&&!Hr(a)||(k==="noscript"||k==="noembed"||k==="noframes")&&le(zl,a.innerHTML))return Me(a),!0;if(X&&a.nodeType===ke.text){const T=Rt(a.textContent);a.textContent!==T&&(qe(t.removed,{element:a.cloneNode()}),a.textContent=T)}return be(V.afterSanitizeElements,a,null),!1},Pn=function(a,m,k){if(Q[m]||se&&m==="patchsrc"||se&&m==="for"&&a!=="label"&&a!=="output"||Rn&&(m==="id"||m==="name")&&(k in n||k in Gr))return!1;const R=z[m]||x.attributeCheck instanceof Function&&x.attributeCheck(m,a);if(!(L&&le(Lt,m))){if(!(G&&le(yt,m))){if(R){if(!$t[m]){if(!le(Ee,ut(k,Bt,""))){if(!((m==="src"||m==="xlink:href"||m==="href")&&a!=="script"&&bo(k,"data:")===0&&Mn[a])){if(!(Se&&!le(Vt,ut(k,Bt,"")))){if(k)return!1}}}}}else if(!(zn(a)&&(C.tagNameCheck instanceof RegExp&&le(C.tagNameCheck,a)||C.tagNameCheck instanceof Function&&C.tagNameCheck(a))&&(C.attributeNameCheck instanceof RegExp&&le(C.attributeNameCheck,m)||C.attributeNameCheck instanceof Function&&C.attributeNameCheck(m,a))||m==="is"&&C.allowCustomizedBuiltInElements&&(C.tagNameCheck instanceof RegExp&&le(C.tagNameCheck,k)||C.tagNameCheck instanceof Function&&C.tagNameCheck(k))))return!1}}return!0},Vr=J({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),zn=function(a){return!Vr[ft(a)]&&le(Pt,a)},Pr=function(a,m,k,R){if(E&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!k)switch(h.getAttributeType(a,m)){case"TrustedHTML":return Z(R);case"TrustedScriptURL":return H(R)}return R},zr=function(a,m,k,R){try{k?a.setAttributeNS(k,m,R):a.setAttribute(m,R),Qt(a)?Me(a):yo(t.removed)}catch{He(m,a)}},jn=function(a){be(V.beforeSanitizeAttributes,a,null);const m=a.attributes;if(!m||Qt(a))return;z=Ln(V.uponSanitizeAttribute,z,Le,bt);const k={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:z,forceKeepAttr:void 0};let R=m.length;const T=q(a.nodeName);for(;R--;){const Y=m[R],P=Y.name,ee=Y.namespaceURI,ge=Y.value,Ce=q(P),An=ge;let de=P==="value"?An:Sl(An);if(k.attrName=Ce,k.attrValue=de,k.keepAttr=!0,k.forceKeepAttr=void 0,be(V.uponSanitizeAttribute,a,k),de=k.attrValue,Qn&&(Ce==="id"||Ce==="name")&&bo(de,Tn)!==0&&(He(P,a),de=Tn+de),se&&le(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,de)){He(P,a);continue}if(Ce==="attributename"&&Bo(de,"href")){He(P,a);continue}if(!k.forceKeepAttr){if(!k.keepAttr){He(P,a);continue}if(!Te&&le(jl,de)){He(P,a);continue}if(X&&(de=Rt(de)),!Pn(T,Ce,de)){He(P,a);continue}de=Pr(T,Ce,ee,de),de!==An&&zr(a,P,ee,de)}}be(V.afterSanitizeAttributes,a,null)},Tt=function(a){let m=null;const k=Zn(a);for(be(V.beforeSanitizeShadowDOM,a,null);m=k.nextNode();)if(be(V.uponSanitizeShadowNode,m,null),Vn(m,a),jn(m),Xe(m.content)&&Tt(m.content),(_?_(m):m.nodeType)===ke.element){const T=y(m);Xe(T)&&(sn(T),Tt(T))}be(V.afterSanitizeShadowDOM,a,null)},sn=function(a){const m=[{node:a,shadow:null}];for(;m.length>0;){const k=m.pop();if(k.shadow){Tt(k.shadow);continue}const R=k.node,Y=(_?_(R):R.nodeType)===ke.element,P=I(R);if(P)for(let ee=P.length-1;ee>=0;--ee)m.push({node:P[ee],shadow:null});if(Y){const ee=b?b(R):null;if(typeof ee=="string"&&q(ee)==="template"){const ge=R.content;Xe(ge)&&m.push({node:ge,shadow:null})}}if(Y){const ee=y(R);Xe(ee)&&m.push({node:null,shadow:ee},{node:ee,shadow:null})}}};return t.sanitize=function(B){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},m=null,k=null,R=null,T=null;if(qt=!B,qt&&(B="<!-->"),typeof B!="string"&&!at(B)&&(B=Ml(B),typeof B!="string"))throw Je("dirty is not a string, aborting");if(!t.isSupported)return B;oe?(j=At,z=bt):on(a),(V.uponSanitizeElement.length>0||V.uponSanitizeAttribute.length>0)&&(j=fe(j)),V.uponSanitizeAttribute.length>0&&(z=fe(z)),t.removed=[];const Y=xt&&typeof B!="string"&&at(B);if(Y){Jr(B);const ge=b?b(B):B.nodeName;if(typeof ge=="string"){const Ce=q(ge);if(!j[Ce]||K[Ce])throw Nt(B),Je("root node is forbidden and cannot be sanitized in-place")}if(Qt(B))throw Nt(B),Je("root node is clobbered and cannot be sanitized in-place");try{sn(B)}catch(Ce){throw Nt(B),Ce}}else if(at(B))m=Jn("<!---->"),k=m.ownerDocument.importNode(B,!0),k.nodeType===ke.element&&k.nodeName==="BODY"||k.nodeName==="HTML"?m=k:m.appendChild(k),sn(k);else{if(!Ve&&!X&&!Ie&&B.indexOf("<")===-1)return E&&wt?Z(B):B;if(m=Jn(B),!m)return Ve?null:wt?v:""}m&&zt&&Me(m.firstChild);const P=Y?B:m;try{const ge=Zn(P);for(;R=ge.nextNode();)Vn(R,P),jn(R),Xe(R.content)&&Tt(R.content)}catch(ge){throw Y&&(Nt(B),$e(t.removed,Ce=>{Ce.element&&ct(Ce.element)})),ge}if(Y)return $e(t.removed,ge=>{ge.element&&ct(ge.element)}),X&&rn(B),B;if(Ve){if(X&&rn(m),Ft)for(T=Re.call(m.ownerDocument);m.firstChild;)T.appendChild(m.firstChild);else T=m;return(z.shadowroot||z.shadowrootmode)&&(T=it.call(r,T,!0)),T}let ee=Ie?m.outerHTML:m.innerHTML;return Ie&&j["!doctype"]&&m.ownerDocument&&m.ownerDocument.doctype&&m.ownerDocument.doctype.name&&le(Vl,m.ownerDocument.doctype.name)&&(ee="<!DOCTYPE "+m.ownerDocument.doctype.name+`>
56
- `+ee),X&&(ee=Rt(ee)),E&&wt?Z(ee):ee},t.setConfig=function(){let B=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};on(B),oe=!0,At=j,bt=z},t.clearConfig=function(){je=null,oe=!1,At=null,bt=null,E=S,v=""},t.isValidAttribute=function(B,a,m){je||on({});const k=q(B),R=q(a);return Pn(k,R,m)},t.addHook=function(B,a){typeof a=="function"&&ae(V,B)&&qe(V[B],a)},t.removeHook=function(B,a){if(ae(V,B)){if(a!==void 0){const m=xl(V[B],a);return m===-1?void 0:vl(V[B],m,1)[0]}return yo(V[B])}},t.removeHooks=function(B){ae(V,B)&&(V[B]=[])},t.removeAllHooks=function(){V=Mo()},t}var ql=xr();const ec=new kl({html:!1,linkify:!0,breaks:!0});function tc(e){if(!e)return"";const t=ec.render(e);return ql.sanitize(t)}const nc={class:"message-avatar"},oc={class:"message-body"},rc={key:0,class:"message-files"},ic=["src","alt"],sc={class:"file-info"},Ac={class:"file-name"},lc={class:"file-size"},cc={key:1,class:"message-user-text"},ac={key:0,class:"message-reasoning"},uc=["innerHTML"],hc={key:3,class:"message-cursor"},fc={key:4,class:"message-error"},dc=s.defineComponent({__name:"ChatMessage",props:{message:{},toolPackages:{}},emits:["execute"],setup(e,{emit:t}){const n=e,r=t,o=s.computed(()=>tc(n.message.content));function i(l){var u;if(l.type!=="component"||!l.componentName)return null;let c=l.packageId?n.toolPackages.find(f=>f.id===l.packageId):null;return c||(c=n.toolPackages.find(f=>f.components&&l.componentName in f.components)),c||(c=n.toolPackages[n.toolPackages.length-1]),c&&((u=c.components)==null?void 0:u[l.componentName])||null}function A(l){r("execute",l)}return(l,c)=>{var f;const u=s.resolveComponent("el-icon");return s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(["chat-message",[`role-${e.message.role}`,{"is-streaming":e.message.status==="streaming"}]])},[s.createElementVNode("div",nc,[e.message.role==="user"?(s.openBlock(),s.createBlock(u,{key:0},{default:s.withCtx(()=>[s.createVNode(s.unref(Ri))]),_:1})):(s.openBlock(),s.createBlock(u,{key:1},{default:s.withCtx(()=>[s.createVNode(s.unref(pi))]),_:1}))]),s.createElementVNode("div",oc,[(f=e.message.files)!=null&&f.length?(s.openBlock(),s.createElementBlock("div",rc,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.message.files,(h,d)=>{var g,p;return s.openBlock(),s.createElementBlock("div",{key:d,class:s.normalizeClass(["message-file",{"is-image":h.type.startsWith("image/")&&((g=h.data)==null?void 0:g.startsWith("data:"))}])},[h.type.startsWith("image/")&&((p=h.data)!=null&&p.startsWith("data:"))?(s.openBlock(),s.createElementBlock("img",{key:0,src:h.data,alt:h.name,class:"file-image"},null,8,ic)):(s.openBlock(),s.createBlock(u,{key:1},{default:s.withCtx(()=>[s.createVNode(s.unref(Po))]),_:1})),s.createElementVNode("div",sc,[s.createElementVNode("span",Ac,s.toDisplayString(h.name),1),s.createElementVNode("span",lc,s.toDisplayString((h.size/1024).toFixed(1))+" KB",1)])],2)}),128))])):s.createCommentVNode("",!0),e.message.role==="user"?(s.openBlock(),s.createElementBlock("div",cc,s.toDisplayString(e.message.content),1)):s.createCommentVNode("",!0),e.message.role==="assistant"?(s.openBlock(),s.createElementBlock(s.Fragment,{key:2},[e.message.reasoning?(s.openBlock(),s.createElementBlock("div",ac,[s.createElementVNode("details",null,[c[0]||(c[0]=s.createElementVNode("summary",null,"推理过程",-1)),s.createElementVNode("pre",null,s.toDisplayString(e.message.reasoning),1)])])):s.createCommentVNode("",!0),s.createElementVNode("div",{class:"message-content markdown-body",innerHTML:o.value},null,8,uc),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.message.renderBlocks,(h,d)=>(s.openBlock(),s.createBlock(zo,{key:d,block:h,"resolved-component":i(h),onSelect:A},null,8,["block","resolved-component"]))),128)),e.message.suggestedNext?(s.openBlock(),s.createBlock(jo,{key:1,text:e.message.suggestedNext,onExecute:A},null,8,["text"])):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0),e.message.status==="streaming"?(s.openBlock(),s.createElementBlock("div",hc,"▍")):s.createCommentVNode("",!0),e.message.status==="error"?(s.openBlock(),s.createElementBlock("div",fc,s.toDisplayString(e.message.error),1)):s.createCommentVNode("",!0)])],2)}}}),vr=rt(dc,[["__scopeId","data-v-61b9c7d3"]]);function Sr(e){return/\.tiff?$/i.test(e)}function pc(e){var t;try{const n=e.slice(0,e.indexOf(",")),r=e.slice(e.indexOf(",")+1),o=((t=n.match(/^data:([^;]+)/))==null?void 0:t[1])||"",i=atob(r),A=new Uint8Array(i.length);for(let l=0;l<i.length;l++)A[l]=i.charCodeAt(l);return new Blob([A],{type:o})}catch{return null}}function mc(e){var t;return e.blob instanceof Blob?e.blob:(t=e.data)!=null&&t.startsWith("data:")?pc(e.data):null}const gc={class:"chat-input"},Cc={key:0,class:"chat-input__files"},_c={class:"chat-input__wrap"},kc={class:"chat-input__actions"},Ic=s.defineComponent({__name:"ChatInput",props:{loading:{type:Boolean},disabled:{type:Boolean},placeholder:{}},emits:["send"],setup(e,{emit:t}){const n=e,r=t,o=s.ref(""),i=s.ref([]),A=s.ref(null),l=s.computed(()=>(o.value.trim().length>0||i.value.length>0)&&!n.disabled);function c(){var D;(D=A.value)==null||D.click()}const u=new Set(["text/plain","text/html","text/css","text/javascript","text/typescript","text/markdown","text/csv","text/xml","application/json","application/xml","application/javascript","application/typescript","application/yaml","application/x-yaml"]);function f(D){var y;if(D.type.startsWith("text/")||u.has(D.type))return!0;if(D.type===""||D.type.startsWith("application/")){const w=(y=D.name.split(".").pop())==null?void 0:y.toLowerCase();return new Set(["txt","md","json","geojson","xml","yml","yaml","csv","ts","js","tsx","jsx","vue","html","css","scss","less","sh","bat","ps1","py","java","c","cpp","h","hpp","go","rs","rb","php","sql","toml","ini","cfg","conf","log","env","gitignore","dockerfile","wkt","wkb","kml","gpx","geojson","topojson","xlsx","docx"]).has(w??"")}return!1}function h(D){return new Promise(y=>{const w={id:"",name:D.name,size:D.size,type:D.type,blob:D};if(Sr(D.name)){y({...w,data:""});return}const _=new FileReader;_.onload=()=>{y({...w,data:_.result})},f(D)?_.readAsText(D):_.readAsDataURL(D)})}async function d(D){var w;const y=D.target;if((w=y.files)!=null&&w.length){for(const _ of Array.from(y.files)){const b=await h(_);i.value.push(b)}y.value=""}}function g(D){i.value.splice(D,1)}function p(D){D.shiftKey||(D.preventDefault(),F())}function F(){if(!l.value||n.loading)return;const D=o.value.trim();r("send",D,i.value),o.value="",i.value=[]}function I(){!i.value.length||n.disabled||n.loading||(r("send","预览",i.value),i.value=[])}return(D,y)=>{const w=s.resolveComponent("el-icon"),_=s.resolveComponent("el-tag"),b=s.resolveComponent("el-button"),M=s.resolveComponent("el-input"),E=s.resolveComponent("el-tooltip");return s.openBlock(),s.createElementBlock("div",gc,[i.value.length?(s.openBlock(),s.createElementBlock("div",Cc,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(i.value,(v,S)=>(s.openBlock(),s.createBlock(_,{key:S,closable:"",size:"small",type:v.type.startsWith("image/")?"success":"info",onClose:W=>g(S)},{default:s.withCtx(()=>[v.type.startsWith("image/")?(s.openBlock(),s.createBlock(w,{key:0,style:{"margin-right":"4px"}},{default:s.withCtx(()=>[s.createVNode(s.unref(wi))]),_:1})):(s.openBlock(),s.createBlock(w,{key:1,style:{"margin-right":"4px"}},{default:s.withCtx(()=>[s.createVNode(s.unref(Po))]),_:1})),s.createTextVNode(" "+s.toDisplayString(v.name),1)]),_:2},1032,["type","onClose"]))),128)),s.createVNode(b,{class:"chat-input__preview",size:"small",plain:"",disabled:e.disabled||e.loading,onClick:I},{default:s.withCtx(()=>[s.createVNode(w,{style:{"margin-right":"2px"}},{default:s.withCtx(()=>[s.createVNode(s.unref(Ki))]),_:1}),y[1]||(y[1]=s.createTextVNode("预览 ",-1))]),_:1},8,["disabled"])])):s.createCommentVNode("",!0),s.createElementVNode("div",_c,[s.createVNode(M,{modelValue:o.value,"onUpdate:modelValue":y[0]||(y[0]=v=>o.value=v),type:"textarea",autosize:{minRows:1,maxRows:6},resize:"none",placeholder:e.placeholder,onKeydown:s.withKeys(p,["enter"])},null,8,["modelValue","placeholder"]),s.createElementVNode("div",kc,[s.createVNode(E,{content:"上传文件",placement:"top"},{default:s.withCtx(()=>[s.createVNode(b,{text:"",circle:"",onClick:c},{default:s.withCtx(()=>[s.createVNode(w,null,{default:s.withCtx(()=>[s.createVNode(s.unref(bi))]),_:1})]),_:1})]),_:1}),s.createElementVNode("input",{ref_key:"fileInputRef",ref:A,type:"file",multiple:"",hidden:"",onChange:d},null,544),s.createVNode(E,{content:"Enter 发送,Shift+Enter 换行",placement:"top"},{default:s.withCtx(()=>[s.createVNode(b,{type:"primary",icon:s.unref(vi),loading:e.loading,disabled:!l.value,circle:"",onClick:F},null,8,["icon","loading","disabled"])]),_:1})])])])}}}),Nr=rt(Ic,[["__scopeId","data-v-fcb6ee4c"]]),Dc=[{label:"deepseek-chat (V3 最强)",value:"deepseek-chat"},{label:"deepseek-reasoner (R1 推理)",value:"deepseek-reasoner"}],Ec={class:"form-tip"},yc={class:"temp-row"},Bc={class:"temp-val"},bc=s.defineComponent({__name:"ChatSettings",props:{modelValue:{type:Boolean},settings:{},deviceId:{}},emits:["update:modelValue","save"],setup(e,{emit:t}){const n=e,r=t,o=s.ref(n.modelValue);s.watch(()=>n.modelValue,l=>{o.value=l,l&&(i.value={...n.settings})}),s.watch(o,l=>r("update:modelValue",l));const i=s.ref({...n.settings});function A(){r("save",{...i.value}),o.value=!1}return(l,c)=>{const u=s.resolveComponent("el-radio"),f=s.resolveComponent("el-radio-group"),h=s.resolveComponent("el-form-item"),d=s.resolveComponent("el-input"),g=s.resolveComponent("el-link"),p=s.resolveComponent("el-option"),F=s.resolveComponent("el-select"),I=s.resolveComponent("el-slider"),D=s.resolveComponent("el-icon"),y=s.resolveComponent("el-tooltip"),w=s.resolveComponent("el-switch"),_=s.resolveComponent("el-form"),b=s.resolveComponent("el-button"),M=s.resolveComponent("el-dialog");return s.openBlock(),s.createBlock(M,{modelValue:o.value,"onUpdate:modelValue":c[8]||(c[8]=E=>o.value=E),title:"AI 助手设置",width:"520px","append-to-body":""},{footer:s.withCtx(()=>[s.createVNode(b,{onClick:c[7]||(c[7]=E=>o.value=!1)},{default:s.withCtx(()=>[...c[17]||(c[17]=[s.createTextVNode("取消",-1)])]),_:1}),s.createVNode(b,{type:"primary",onClick:A},{default:s.withCtx(()=>[...c[18]||(c[18]=[s.createTextVNode("保存",-1)])]),_:1})]),default:s.withCtx(()=>[s.createVNode(_,{model:i.value,"label-width":"110px","label-position":"right"},{default:s.withCtx(()=>[s.createVNode(h,{label:"调用模式"},{default:s.withCtx(()=>[s.createVNode(f,{modelValue:i.value.providerMode,"onUpdate:modelValue":c[0]||(c[0]=E=>i.value.providerMode=E)},{default:s.withCtx(()=>[s.createVNode(u,{value:"direct"},{default:s.withCtx(()=>[...c[9]||(c[9]=[s.createTextVNode("前端直连",-1)])]),_:1}),s.createVNode(u,{value:"proxy"},{default:s.withCtx(()=>[...c[10]||(c[10]=[s.createTextVNode("后端代理",-1)])]),_:1})]),_:1},8,["modelValue"]),c[11]||(c[11]=s.createElementVNode("div",{class:"form-tip"}," 前端直连:API Key 保存在浏览器本地,浏览器直接调用模型 API。 后端代理:由你的后端转发请求,API Key 保存在服务端。 ",-1))]),_:1}),i.value.providerMode==="direct"?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createVNode(h,{label:"API Key"},{default:s.withCtx(()=>[s.createVNode(d,{modelValue:i.value.apiKey,"onUpdate:modelValue":c[1]||(c[1]=E=>i.value.apiKey=E),type:"password","show-password":"",placeholder:"sk-xxxxxxxxxxxxxxxx",clearable:""},null,8,["modelValue"]),s.createElementVNode("div",Ec,[c[13]||(c[13]=s.createTextVNode(" 在 ",-1)),s.createVNode(g,{type:"primary",href:"https://platform.deepseek.com/api_keys",target:"_blank"},{default:s.withCtx(()=>[...c[12]||(c[12]=[s.createTextVNode(" DeepSeek 开放平台 ",-1)])]),_:1}),c[14]||(c[14]=s.createTextVNode(" 获取,仅保存在浏览器本地。 ",-1))])]),_:1}),s.createVNode(h,{label:"接口地址"},{default:s.withCtx(()=>[s.createVNode(d,{modelValue:i.value.baseUrl,"onUpdate:modelValue":c[2]||(c[2]=E=>i.value.baseUrl=E),placeholder:"https://api.deepseek.com",clearable:""},null,8,["modelValue"])]),_:1})],64)):(s.openBlock(),s.createBlock(h,{key:1,label:"代理地址"},{default:s.withCtx(()=>[s.createVNode(d,{modelValue:i.value.proxyUrl,"onUpdate:modelValue":c[3]||(c[3]=E=>i.value.proxyUrl=E),placeholder:"http://localhost:3001/api/chat",clearable:""},null,8,["modelValue"]),c[15]||(c[15]=s.createElementVNode("div",{class:"form-tip"}," 你的后端代理服务地址,API Key 配置在服务端环境变量中。 ",-1))]),_:1})),s.createVNode(h,{label:"模型"},{default:s.withCtx(()=>[s.createVNode(F,{modelValue:i.value.model,"onUpdate:modelValue":c[4]||(c[4]=E=>i.value.model=E),style:{width:"100%"}},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(s.unref(Dc),E=>(s.openBlock(),s.createBlock(p,{key:E.value,label:E.label,value:E.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s.createVNode(h,{label:"温度"},{default:s.withCtx(()=>[s.createElementVNode("div",yc,[s.createVNode(I,{modelValue:i.value.temperature,"onUpdate:modelValue":c[5]||(c[5]=E=>i.value.temperature=E),min:0,max:2,step:.1,style:{flex:"1"}},null,8,["modelValue"]),s.createElementVNode("span",Bc,s.toDisplayString(i.value.temperature.toFixed(1)),1)])]),_:1}),s.createVNode(h,{label:"设备ID"},{default:s.withCtx(()=>[s.createVNode(d,{"model-value":e.deviceId,readonly:""},{append:s.withCtx(()=>[s.createVNode(y,{content:"该 ID 用于在服务端区分当前浏览器会话,历史消息按此 ID 保存"},{default:s.withCtx(()=>[s.createVNode(D,null,{default:s.withCtx(()=>[s.createVNode(s.unref(yi))]),_:1})]),_:1})]),_:1},8,["model-value"])]),_:1}),s.createVNode(h,{label:"启用工具"},{default:s.withCtx(()=>[s.createVNode(w,{modelValue:i.value.useTools,"onUpdate:modelValue":c[6]||(c[6]=E=>i.value.useTools=E)},null,8,["modelValue"]),c[16]||(c[16]=s.createElementVNode("span",{class:"form-tip-inline"},"关闭后助手仅对话,不会执行页面导航/数据查询等操作",-1))]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}}),Rr=rt(bc,[["__scopeId","data-v-9634bbdc"]]),Fc={class:"chat-panel-root"},wc={class:"ai-fab__label"},xc={class:"chat-panel__header"},vc={class:"chat-panel__title"},Sc={class:"chat-panel__ops"},Nc={key:0,class:"chat-empty"},Rc={class:"chat-empty__logo"},Qc={key:0,class:"chat-empty__commands"},Tc={key:0,class:"chat-panel__error"},Mc={class:"chat-panel__footer"},Kc={key:0,class:"chat-panel__stop"},Gc=s.defineComponent({__name:"ChatPanel",props:{chat:{},options:{},showFab:{type:Boolean,default:!0}},setup(e){const t=e,n={get_current_time:{label:"现在几点",text:"现在几点了?"},calculate_expression:{label:"帮我计算",text:"帮我计算 (1+2)*3"},generate_uuid:{label:"生成 UUID",text:"帮我生成一个 UUID"},get_client_info:{label:"客户端信息",text:"获取我的客户端信息"}};function r(Z){const H=Z??{toolPackages:[]};let ie;return H.suggestedCommands!==void 0?ie=H.suggestedCommands:H.builtInTools===!1?ie=[]:Array.isArray(H.builtInTools)?ie=H.builtInTools.map(Ae=>n[Ae]).filter(Boolean):ie=Object.values(n),{...H,toolPackages:H.toolPackages??[],suggestedCommands:ie}}const o=t.chat?null:Vo(r(t.options)),i=t.chat??o,{messages:A,settings:l,loading:c,errorMsg:u,hasApiKey:f,visible:h,toolPackages:d,sendMessage:g,stopGeneration:p,clearMessages:F,saveSettings:I,deviceId:D,suggestedCommands:y}=i,w=s.ref(!1),_=s.ref(!1),b=s.ref(null);function M(){h.value=!h.value}function E(){h.value=!1}function v(){_.value=!_.value}function S(){s.nextTick(()=>{const Z=b.value;Z&&(Z.scrollTop=Z.scrollHeight)})}function W(Z,H){g(Z,H),S()}function U(Z){I(Z)}function ne(){Yt.ElMessageBox.confirm("确定要清空所有对话记录吗?","提示",{type:"warning",confirmButtonText:"清空",cancelButtonText:"取消"}).then(()=>{F()}).catch(()=>{})}return s.watch(()=>A.value.map(Z=>{var H;return Z.content+Z.status+(((H=Z.renderBlocks)==null?void 0:H.length)||0)}).join("|"),()=>S()),(Z,H)=>{var V;const ie=s.resolveComponent("ChatDotRound"),Ae=s.resolveComponent("el-icon"),Ne=s.resolveComponent("el-tag"),_e=s.resolveComponent("el-button"),Re=s.resolveComponent("el-tooltip"),Qe=s.resolveComponent("SemiSelect"),it=s.resolveComponent("el-alert");return s.openBlock(),s.createElementBlock("div",Fc,[e.showFab?(s.openBlock(),s.createElementBlock("div",{key:0,class:s.normalizeClass(["ai-fab",{"ai-fab--active":s.unref(h)}]),onClick:M},[s.createElementVNode("span",wc,s.toDisplayString(s.unref(h)?"收起":"AI 助手"),1)],2)):s.createCommentVNode("",!0),s.withDirectives(s.createElementVNode("div",{class:s.normalizeClass(["chat-panel",{"chat-panel--fullscreen":_.value}])},[s.createElementVNode("div",xc,[s.createElementVNode("div",vc,[s.createVNode(Ae,{class:"title-icon"},{default:s.withCtx(()=>[s.createVNode(ie)]),_:1}),H[5]||(H[5]=s.createElementVNode("span",null,"AI 智能助手",-1)),s.unref(f)?(s.openBlock(),s.createBlock(Ne,{key:0,size:"small",type:"success",effect:"plain"},{default:s.withCtx(()=>[...H[3]||(H[3]=[s.createTextVNode("已配置",-1)])]),_:1})):(s.openBlock(),s.createBlock(Ne,{key:1,size:"small",type:"warning",effect:"plain"},{default:s.withCtx(()=>[...H[4]||(H[4]=[s.createTextVNode("未配置",-1)])]),_:1}))]),s.createElementVNode("div",Sc,[s.createVNode(Re,{content:"设置",placement:"bottom"},{default:s.withCtx(()=>[s.createVNode(_e,{text:"",circle:"",onClick:H[0]||(H[0]=me=>w.value=!0)},{default:s.withCtx(()=>[s.createVNode(Ae,null,{default:s.withCtx(()=>[s.createVNode(s.unref($n))]),_:1})]),_:1})]),_:1}),s.createVNode(Re,{content:"清空对话",placement:"bottom"},{default:s.withCtx(()=>[s.createVNode(_e,{text:"",circle:"",disabled:!s.unref(A).length,onClick:ne},{default:s.withCtx(()=>[s.createVNode(Ae,null,{default:s.withCtx(()=>[s.createVNode(s.unref(_i))]),_:1})]),_:1},8,["disabled"])]),_:1}),s.createVNode(Re,{content:_.value?"退出全屏":"全屏",placement:"bottom"},{default:s.withCtx(()=>[s.createVNode(_e,{text:"",circle:"",onClick:v},{default:s.withCtx(()=>[_.value?(s.openBlock(),s.createBlock(Ae,{key:1},{default:s.withCtx(()=>[s.createVNode(Qe)]),_:1})):(s.openBlock(),s.createBlock(Ae,{key:0},{default:s.withCtx(()=>[s.createVNode(s.unref(Di))]),_:1}))]),_:1})]),_:1},8,["content"]),s.createVNode(Re,{content:"关闭",placement:"bottom"},{default:s.withCtx(()=>[s.createVNode(_e,{text:"",circle:"",onClick:E},{default:s.withCtx(()=>[s.createVNode(Ae,null,{default:s.withCtx(()=>[s.createVNode(s.unref(gi))]),_:1})]),_:1})]),_:1})])]),s.createElementVNode("div",{ref_key:"scrollRef",ref:b,class:"chat-panel__body"},[s.unref(A).length?(s.openBlock(!0),s.createElementBlock(s.Fragment,{key:1},s.renderList(s.unref(A),me=>(s.openBlock(),s.createBlock(vr,{key:me.id,message:me,"tool-packages":s.unref(d),onExecute:W},null,8,["message","tool-packages"]))),128)):(s.openBlock(),s.createElementBlock("div",Nc,[s.createElementVNode("div",Rc,[s.createVNode(Ae,null,{default:s.withCtx(()=>[s.createVNode(ie)]),_:1})]),H[7]||(H[7]=s.createElementVNode("h3",null,"你好,我是系统 AI 助手",-1)),H[8]||(H[8]=s.createElementVNode("p",{class:"chat-empty__desc"},[s.createTextVNode(" 我可以帮你"),s.createElementVNode("span",{class:"hl"},"查询数据"),s.createTextVNode("、"),s.createElementVNode("span",{class:"hl"},"执行操作"),s.createTextVNode("。试试输入指令: ")],-1)),(V=s.unref(y))!=null&&V.length?(s.openBlock(),s.createElementBlock("div",Qc,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(s.unref(y),me=>(s.openBlock(),s.createBlock(_e,{key:me.text,size:"small",round:"",plain:"",onClick:Et=>W(me.text)},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(me.label),1)]),_:2},1032,["onClick"]))),128))])):s.createCommentVNode("",!0),s.unref(f)?s.createCommentVNode("",!0):(s.openBlock(),s.createBlock(_e,{key:1,type:"primary",icon:s.unref($n),onClick:H[1]||(H[1]=me=>w.value=!0)},{default:s.withCtx(()=>[...H[6]||(H[6]=[s.createTextVNode(" 先配置 API Key ",-1)])]),_:1},8,["icon"]))]))],512),s.createVNode(s.Transition,{name:"fade"},{default:s.withCtx(()=>[s.unref(u)?(s.openBlock(),s.createElementBlock("div",Tc,[s.createVNode(it,{title:s.unref(u),type:"error","show-icon":"",closable:!1},null,8,["title"])])):s.createCommentVNode("",!0)]),_:1}),s.createElementVNode("div",Mc,[s.unref(c)?(s.openBlock(),s.createElementBlock("div",Kc,[s.createVNode(_e,{size:"small",icon:s.unref(Ti),onClick:s.unref(p)},{default:s.withCtx(()=>[...H[9]||(H[9]=[s.createTextVNode("停止生成",-1)])]),_:1},8,["icon","onClick"])])):s.createCommentVNode("",!0),s.createVNode(Nr,{loading:s.unref(c),placeholder:s.unref(f)?"输入指令...":"请先配置 API Key",onSend:W},null,8,["loading","placeholder"])]),s.createVNode(Rr,{modelValue:w.value,"onUpdate:modelValue":H[2]||(H[2]=me=>w.value=me),settings:s.unref(l),"device-id":s.unref(D),onSave:U},null,8,["modelValue","settings","device-id"])],2),[[s.vShow,s.unref(h)]])])}}}),Wc=rt(Gc,[["__scopeId","data-v-9c108ff6"]]);function Yc(e){if(typeof e!="string")return e;try{const t=JSON.parse(e);return t!==null&&(typeof t=="object"||Array.isArray(t))?t:e}catch{return e}}const Oc=Object.freeze(Object.defineProperty({__proto__:null,parseStringToObject:Yc},Symbol.toStringTag,{value:"Module"}));exports.Agent=Ko;exports.BUILTIN_TOOL_PACKAGE=dt;exports.ChatInput=Nr;exports.ChatMessageComp=vr;exports.ChatPanel=Wc;exports.ChatSettingsComp=Rr;exports.DEFAULT_SETTINGS=En;exports.EventBus=Jo;exports.ParseUtils=Oc;exports.RenderBlockComp=zo;exports.SuggestedNext=jo;exports.ToolRegistry=Go;exports.blobFromAttachment=mc;exports.buildSystemPrompt=Ho;exports.createDeepSeekProvider=Wo;exports.createEventBus=Zo;exports.createProxyProvider=Yo;exports.isTifFile=Sr;exports.resolveRenderBlock=ii;exports.runBuiltinToolHandler=Uo;exports.useAgentChat=Vo;
52
+ `}return r}render(e,t,n){let r="";const o=this.rules;for(let i=0,A=e.length;i<A;i++){const l=e[i].type;l==="inline"?r+=this.renderInline(e[i].children,t,n):typeof o[l]<"u"?r+=o[l](e,i,t,n,this):r+=this.renderToken(e,i,t)}return r}},xr=class{constructor(e,t,n){T(this,"tokens",[]),T(this,"inlineMode",!1),T(this,"Token",et),this.src=e,this.env=n,this.md=t}},vA=/\r\n?|\n/g,SA=/\0/g;function NA(e){let t;t=e.src.replace(vA,`
53
+ `),t=t.replace(SA,"�"),e.src=t}function RA(e){let t;e.inlineMode?(t=new e.Token("inline","",0),t.content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}function TA(e){const t=e.tokens;let n=0;for(let r=0;r<t.length;r++)t[r].type!=="reference_definition"&&(r!==n&&(t[n]=t[r]),n++);t.length!==n&&(t.length=n)}function QA(e){const t=e.tokens;for(let n=0,r=t.length;n<r;n++){const o=t[n];o.type==="inline"&&e.md.inline.parse(o.content,e.md,e.env,o.children)}}function MA(e){return/^<a[>\s]/i.test(e)}function KA(e){return/^<\/a\s*>/i.test(e)}function GA(e){const t=e.tokens;if(e.md.options.linkify)for(let n=0,r=t.length;n<r;n++){if(t[n].type!=="inline"||!e.md.linkify.test(t[n].content))continue;let o=t[n].children,i=0;for(let A=o.length-1;A>=0;A--){const l=o[A];if(l.type==="link_close"){for(A--;o[A].level!==l.level&&o[A].type!=="link_open";)A--;continue}if(l.type==="html_inline"&&(MA(l.content)&&i>0&&i--,KA(l.content)&&i++),!(i>0)&&l.type==="text"&&e.md.linkify.test(l.content)){const c=l.content;let u=e.md.linkify.match(c);const d=[];let f=l.level,_=0;u.length>0&&u[0].index===0&&A>0&&o[A-1].type==="text_special"&&(u=u.slice(1));for(let m=0;m<u.length;m++){const h=u[m].url,k=e.md.normalizeLink(h);if(!e.md.validateLink(k))continue;let E=u[m].text;u[m].schema?u[m].schema==="mailto:"&&!/^mailto:/i.test(E)?E=e.md.normalizeLinkText(`mailto:${E}`).replace(/^mailto:/,""):E=e.md.normalizeLinkText(E):E=e.md.normalizeLinkText(`http://${E}`).replace(/^http:\/\//,"");const g=u[m].index;if(g>_){const w=new e.Token("text","",0);w.content=c.slice(_,g),w.level=f,d.push(w)}const b=new e.Token("link_open","a",1);b.attrs=[["href",k]],b.level=f++,b.markup="linkify",b.info="auto",d.push(b);const v=new e.Token("text","",0);v.content=E,v.level=f,d.push(v);const C=new e.Token("link_close","a",-1);C.level=--f,C.markup="linkify",C.info="auto",d.push(C),_=u[m].lastIndex}if(_<c.length){const m=new e.Token("text","",0);m.content=c.slice(_),m.level=f,d.push(m)}t[n].children=o=br(o,A,d)}}}}var vr=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,WA=/\((c|tm|r)\)/i,YA=/\((c|tm|r)\)/gi,OA={c:"©",r:"®",tm:"™"};function HA(e,t){return OA[t.toLowerCase()]}function UA(e){let t=0;for(let n=e.length-1;n>=0;n--){const r=e[n];r.type==="text"&&!t&&(r.content=r.content.replace(YA,HA)),r.type==="link_open"&&r.info==="auto"&&t--,r.type==="link_close"&&r.info==="auto"&&t++}}function VA(e){let t=0;for(let n=e.length-1;n>=0;n--){const r=e[n];r.type==="text"&&!t&&vr.test(r.content)&&(r.content=r.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")),r.type==="link_open"&&r.info==="auto"&&t--,r.type==="link_close"&&r.info==="auto"&&t++}}function JA(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(WA.test(e.tokens[t].content)&&UA(e.tokens[t].children),vr.test(e.tokens[t].content)&&VA(e.tokens[t].children))}var LA=/['"]/,Do=/['"]/g,Io="’";function Lt(e,t,n,r){e[t]||(e[t]=[]),e[t].push({pos:n,ch:r})}function ZA(e,t){let n="",r=0;t.sort((o,i)=>o.pos-i.pos);for(let o=0;o<t.length;o++){const i=t[o];n+=e.slice(r,i.pos)+i.ch,r=i.pos+1}return n+e.slice(r)}function PA(e,t){let n;const r=[],o={};for(let i=0;i<e.length;i++){const A=e[i],l=e[i].level;for(n=r.length-1;n>=0&&!(r[n].level<=l);n--);if(r.length=n+1,A.type!=="text")continue;const c=A.content;let u=0;const d=c.length;e:for(;u<d;){Do.lastIndex=u;const f=Do.exec(c);if(!f)break;let _=!0,m=!0;u=f.index+1;const h=f[0]==="'";let k=32;if(f.index-1>=0)k=c.charCodeAt(f.index-1);else for(n=i-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){k=e[n].content.charCodeAt(e[n].content.length-1);break}let E=32;if(u<d)E=c.charCodeAt(u);else for(n=i+1;n<e.length&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n++)if(e[n].content){E=e[n].content.charCodeAt(0);break}const g=Rt(k)||Nt(k),b=Rt(E)||Nt(E),v=St(k),C=St(E);if(C?_=!1:b&&(v||g||(_=!1)),v?m=!1:g&&(C||b||(m=!1)),E===34&&f[0]==='"'&&k>=48&&k<=57&&(m=_=!1),_&&m&&(_=g,m=b),!_&&!m){h&&Lt(o,i,f.index,Io);continue}if(m)for(n=r.length-1;n>=0;n--){let w=r[n];if(r[n].level<l)break;if(w.single===h&&r[n].level===l){w=r[n];let Q,S;h?(Q=t.md.options.quotes[2],S=t.md.options.quotes[3]):(Q=t.md.options.quotes[0],S=t.md.options.quotes[1]),Lt(o,i,f.index,S),Lt(o,w.token,w.pos,Q),r.length=n;continue e}}_?r.push({token:i,pos:f.index,single:h,level:l}):m&&h&&Lt(o,i,f.index,Io)}}Object.keys(o).forEach(function(i){const A=Number(i);e[A].content=ZA(e[A].content,o[i])})}function zA(e){if(e.md.options.typographer)for(let t=e.tokens.length-1;t>=0;t--)e.tokens[t].type!=="inline"||!LA.test(e.tokens[t].content)||PA(e.tokens[t].children,e)}function jA(e){let t,n;const r=e.length;for(t=0;t<r;t++)e[t].type==="text_special"&&(e[t].type="text");for(t=n=0;t<r;t++)e[t].type==="text"&&t+1<r&&e[t+1].type==="text"?e[t+1].content=e[t].content+e[t+1].content:(t!==n&&(e[n]=e[t]),n++);t!==n&&(e.length=n)}function XA(e){let t,n;const r=e.tokens,o=r.length;for(let i=0;i<o;i++){if(r[i].type!=="inline")continue;const A=r[i].children,l=A.length;for(t=0;t<l;t++)A[t].type==="text_special"&&(A[t].type="text"),A[t].children&&jA(A[t].children);for(t=n=0;t<l;t++)A[t].type==="text"&&t+1<l&&A[t+1].type==="text"?A[t+1].content=A[t].content+A[t+1].content:(t!==n&&(A[n]=A[t]),n++);t!==n&&(A.length=n)}}var En=[["normalize",NA],["block",RA],["strip_references",TA],["inline",QA],["linkify",GA],["replacements",JA],["smartquotes",zA],["text_join",XA]],Sr=class{constructor(){T(this,"ruler",new Qt),T(this,"State",xr);for(let e=0;e<En.length;e++)this.ruler.push(En[e][0],En[e][1])}process(e){const t=this.ruler.getRules("");for(let n=0,r=t.length;n<r;n++)t[n](e)}},Nr=class{constructor(e,t,n,r){T(this,"bMarks",[]),T(this,"eMarks",[]),T(this,"tShift",[]),T(this,"sCount",[]),T(this,"bsCount",[]),T(this,"blkIndent",0),T(this,"line",0),T(this,"lineMax",0),T(this,"tight",!1),T(this,"listIndent",-1),T(this,"parentType","root"),T(this,"level",0),T(this,"Token",et),this.src=e,this.md=t,this.env=n,this.tokens=r;const o=this.src;for(let i=0,A=0,l=0,c=0,u=o.length,d=!1;A<u;A++){const f=o.charCodeAt(A);if(!d)if(te(f)){l++,f===9?c+=4-c%4:c++;continue}else d=!0;(f===10||A===u-1)&&(f!==10&&A++,this.bMarks.push(i),this.eMarks.push(A),this.tShift.push(l),this.sCount.push(c),this.bsCount.push(0),d=!1,l=0,c=0,i=A+1)}this.bMarks.push(o.length),this.eMarks.push(o.length),this.tShift.push(0),this.sCount.push(0),this.bsCount.push(0),this.lineMax=this.bMarks.length-1}push(e,t,n){const r=new et(e,t,n);return r.block=!0,n<0&&this.level--,r.level=this.level,n>0&&this.level++,this.tokens.push(r),r}isEmpty(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]}skipEmptyLines(e){for(let t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e}skipSpaces(e){for(let t=this.src.length;e<t&&te(this.src.charCodeAt(e));e++);return e}skipSpacesBack(e,t){if(e<=t)return e;for(;e>t;)if(!te(this.src.charCodeAt(--e)))return e+1;return e}skipChars(e,t){for(let n=this.src.length;e<n&&this.src.charCodeAt(e)===t;e++);return e}skipCharsBack(e,t,n){if(e<=n)return e;for(;e>n;)if(t!==this.src.charCodeAt(--e))return e+1;return e}getLines(e,t,n,r){if(e>=t)return"";const o=new Array(t-e);for(let i=0,A=e;A<t;A++,i++){let l=0;const c=this.bMarks[A];let u=c,d;for(A+1<t||r?d=this.eMarks[A]+1:d=this.eMarks[A];u<d&&l<n;){const f=this.src.charCodeAt(u);if(te(f))f===9?l+=4-(l+this.bsCount[A])%4:l++;else if(u-c<this.tShift[A])l++;else break;u++}l>n?o[i]=new Array(l-n+1).join(" ")+this.src.slice(u,d):o[i]=this.src.slice(u,d)}return o.join("")}},$A=65536;function Dn(e,t){const n=e.bMarks[t]+e.tShift[t],r=e.eMarks[t];return e.src.slice(n,r)}function bo(e){const t=[],n=e.length;let r=0,o=e.charCodeAt(r),i=!1,A=0,l="";for(;r<n;)o===124&&(i?(l+=e.substring(A,r-1),A=r):(t.push(l+e.substring(A,r)),l="",A=r+1)),i=o===92,r++,o=e.charCodeAt(r);return t.push(l+e.substring(A)),t}function qA(e,t,n,r){if(t+2>n)return!1;let o=t+1;if(e.sCount[o]<e.blkIndent||e.sCount[o]-e.blkIndent>=4)return!1;let i=e.bMarks[o]+e.tShift[o];if(i>=e.eMarks[o])return!1;const A=e.src.charCodeAt(i++);if(A!==124&&A!==45&&A!==58||i>=e.eMarks[o])return!1;const l=e.src.charCodeAt(i++);if(l!==124&&l!==45&&l!==58&&!te(l)||A===45&&te(l))return!1;for(;i<e.eMarks[o];){const C=e.src.charCodeAt(i);if(C!==124&&C!==45&&C!==58&&!te(C))return!1;i++}let c=Dn(e,t+1),u=c.split("|");const d=[];for(let C=0;C<u.length;C++){const w=u[C].trim();if(!w){if(C===0||C===u.length-1)continue;return!1}if(!/^:?-+:?$/.test(w))return!1;w.charCodeAt(w.length-1)===58?d.push(w.charCodeAt(0)===58?"center":"right"):w.charCodeAt(0)===58?d.push("left"):d.push("")}if(c=Dn(e,t).trim(),c.indexOf("|")===-1||e.sCount[t]-e.blkIndent>=4)return!1;u=bo(c),u.length&&u[0]===""&&u.shift(),u.length&&u[u.length-1]===""&&u.pop();const f=u.length;if(f===0||f!==d.length)return!1;if(r)return!0;const _=e.parentType;e.parentType="table";const m=e.md.block.ruler.getRules("blockquote"),h=e.push("table_open","table",1),k=[t,0];h.map=k;const E=e.push("thead_open","thead",1);E.map=[t,t+1];const g=e.push("tr_open","tr",1);g.map=[t,t+1];for(let C=0;C<u.length;C++){const w=e.push("th_open","th",1);d[C]&&(w.attrs=[["style",`text-align:${d[C]}`]]);const Q=e.push("inline","",0);Q.content=u[C].trim(),Q.children=[],e.push("th_close","th",-1)}e.push("tr_close","tr",-1),e.push("thead_close","thead",-1);let b,v=0;for(o=t+2;o<n&&!(e.sCount[o]<e.blkIndent);o++){let C=!1;for(let Q=0,S=m.length;Q<S;Q++)if(m[Q](e,o,n,!0)){C=!0;break}if(C||(c=Dn(e,o).trim(),!c)||e.sCount[o]-e.blkIndent>=4||(u=bo(c),u.length&&u[0]===""&&u.shift(),u.length&&u[u.length-1]===""&&u.pop(),v+=f-u.length,v>$A))break;if(o===t+2){const Q=e.push("tbody_open","tbody",1);Q.map=b=[t+2,0]}const w=e.push("tr_open","tr",1);w.map=[o,o+1];for(let Q=0;Q<f;Q++){const S=e.push("td_open","td",1);d[Q]&&(S.attrs=[["style",`text-align:${d[Q]}`]]);const B=e.push("inline","",0);B.content=u[Q]?u[Q].trim():"",B.children=[],e.push("td_close","td",-1)}e.push("tr_close","tr",-1)}return b&&(e.push("tbody_close","tbody",-1),b[1]=o),e.push("table_close","table",-1),k[1]=o,e.parentType=_,e.line=o,!0}function el(e,t,n){if(e.sCount[t]-e.blkIndent<4)return!1;let r=t+1,o=r;for(;r<n;){if(e.isEmpty(r)){r++;continue}if(e.sCount[r]-e.blkIndent>=4){r++,o=r;continue}break}e.line=o;const i=e.push("code_block","code",0);return i.content=e.getLines(t,o,4+e.blkIndent,!1)+`
54
+ `,i.map=[t,e.line],!0}function tl(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||o+3>i)return!1;const A=e.src.charCodeAt(o);if(A!==126&&A!==96)return!1;let l=o;o=e.skipChars(o,A);let c=o-l;if(c<3)return!1;const u=e.src.slice(l,o),d=e.src.slice(o,i);if(A===96&&d.indexOf(String.fromCharCode(A))>=0)return!1;if(r)return!0;let f=t,_=!1;for(;f++,!(f>=n||(o=l=e.bMarks[f]+e.tShift[f],i=e.eMarks[f],o<i&&e.sCount[f]<e.blkIndent));)if(e.src.charCodeAt(o)===A&&!(e.sCount[f]-e.blkIndent>=4)&&(o=e.skipChars(o,A),!(o-l<c)&&(o=e.skipSpaces(o),!(o<i)))){_=!0;break}c=e.sCount[t],e.line=f+(_?1:0);const m=e.push("fence","code",0);return m.info=d,m.content=e.getLines(t+1,f,c,!0),m.markup=u,m.map=[t,e.line],!0}function nl(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];const A=e.lineMax;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(o)!==62)return!1;if(r)return!0;const l=[],c=[],u=[],d=[],f=e.md.block.ruler.getRules("blockquote"),_=e.parentType;e.parentType="blockquote";let m=!1,h;for(h=t;h<n;h++){const v=e.sCount[h]<e.blkIndent;if(o=e.bMarks[h]+e.tShift[h],i=e.eMarks[h],o>=i)break;if(e.src.charCodeAt(o++)===62&&!v){let w=e.sCount[h]+1,Q,S;e.src.charCodeAt(o)===32?(o++,w++,S=!1,Q=!0):e.src.charCodeAt(o)===9?(Q=!0,(e.bsCount[h]+w)%4===3?(o++,w++,S=!1):S=!0):Q=!1;let B=w;for(l.push(e.bMarks[h]),e.bMarks[h]=o;o<i;){const y=e.src.charCodeAt(o);if(te(y))y===9?B+=4-(B+e.bsCount[h]+(S?1:0))%4:B++;else break;o++}m=o>=i,c.push(e.bsCount[h]),e.bsCount[h]=e.sCount[h]+1+(Q?1:0),u.push(e.sCount[h]),e.sCount[h]=B-w,d.push(e.tShift[h]),e.tShift[h]=o-e.bMarks[h];continue}if(m)break;let C=!1;for(let w=0,Q=f.length;w<Q;w++)if(f[w](e,h,n,!0)){C=!0;break}if(C){e.lineMax=h,e.blkIndent!==0&&(l.push(e.bMarks[h]),c.push(e.bsCount[h]),d.push(e.tShift[h]),u.push(e.sCount[h]),e.sCount[h]-=e.blkIndent);break}l.push(e.bMarks[h]),c.push(e.bsCount[h]),d.push(e.tShift[h]),u.push(e.sCount[h]),e.sCount[h]=-1}const k=e.blkIndent;e.blkIndent=0;const E=e.push("blockquote_open","blockquote",1);E.markup=">";const g=[t,0];E.map=g,e.md.block.tokenize(e,t,h);const b=e.push("blockquote_close","blockquote",-1);b.markup=">",e.lineMax=A,e.parentType=_,g[1]=e.line;for(let v=0;v<d.length;v++)e.bMarks[v+t]=l[v],e.tShift[v+t]=d[v],e.sCount[v+t]=u[v],e.bsCount[v+t]=c[v];return e.blkIndent=k,!0}function ol(e,t,n,r){const o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;let i=e.bMarks[t]+e.tShift[t];const A=e.src.charCodeAt(i++);if(A!==42&&A!==45&&A!==95)return!1;let l=1;for(;i<o;){const u=e.src.charCodeAt(i++);if(u!==A&&!te(u))return!1;u===A&&l++}if(l<3)return!1;if(r)return!0;e.line=t+1;const c=e.push("hr","hr",0);return c.map=[t,e.line],c.markup=Array(l+1).join(String.fromCharCode(A)),!0}function Bo(e,t){const n=e.eMarks[t];let r=e.bMarks[t]+e.tShift[t];const o=e.src.charCodeAt(r++);return o!==42&&o!==45&&o!==43||r<n&&!te(e.src.charCodeAt(r))?-1:r}function wo(e,t){const n=e.bMarks[t]+e.tShift[t],r=e.eMarks[t];let o=n;if(o+1>=r)return-1;let i=e.src.charCodeAt(o++);if(i<48||i>57)return-1;for(;;){if(o>=r)return-1;if(i=e.src.charCodeAt(o++),i>=48&&i<=57){if(o-n>=10)return-1;continue}if(i===41||i===46)break;return-1}return o<r&&(i=e.src.charCodeAt(o),!te(i))?-1:o}function rl(e,t){const n=e.level+2;for(let r=t+2,o=e.tokens.length-2;r<o;r++)e.tokens[r].level===n&&e.tokens[r].type==="paragraph_open"&&(e.tokens[r+2].hidden=!0,e.tokens[r].hidden=!0,r+=2)}function il(e,t,n,r){let o,i,A,l,c=t,u=!0;if(e.sCount[c]-e.blkIndent>=4||e.listIndent>=0&&e.sCount[c]-e.listIndent>=4&&e.sCount[c]<e.blkIndent)return!1;let d=!1;r&&e.parentType==="paragraph"&&e.sCount[c]>=e.blkIndent&&(d=!0);let f,_,m;if((m=wo(e,c))>=0){if(f=!0,A=e.bMarks[c]+e.tShift[c],_=Number(e.src.slice(A,m-1)),d&&_!==1)return!1}else if((m=Bo(e,c))>=0)f=!1;else return!1;if(d&&e.skipSpaces(m)>=e.eMarks[c])return!1;if(r)return!0;const h=e.src.charCodeAt(m-1),k=e.tokens.length;f?(l=e.push("ordered_list_open","ol",1),_!==1&&(l.attrs=[["start",_]])):l=e.push("bullet_list_open","ul",1);const E=[c,0];l.map=E,l.markup=String.fromCharCode(h);let g=!1;const b=e.md.block.ruler.getRules("list"),v=e.parentType;for(e.parentType="list";c<n;){i=m,o=e.eMarks[c];const C=e.sCount[c]+m-(e.bMarks[c]+e.tShift[c]);let w=C;for(;i<o;){const ce=e.src.charCodeAt(i);if(ce===9)w+=4-(w+e.bsCount[c])%4;else if(ce===32)w++;else break;i++}const Q=i;let S;Q>=o?S=1:S=w-C,S>4&&(S=1);const B=C+S;l=e.push("list_item_open","li",1),l.markup=String.fromCharCode(h);const y=[c,0];l.map=y,f&&(l.info=e.src.slice(A,m-1));const F=e.tight,N=e.tShift[c],U=e.sCount[c],z=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=B,e.tight=!0,e.tShift[c]=Q-e.bMarks[c],e.sCount[c]=w,Q>=o&&e.isEmpty(c+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,c,n),(!e.tight||g)&&(u=!1),g=e.line-c>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=z,e.tShift[c]=N,e.sCount[c]=U,e.tight=F,l=e.push("list_item_close","li",-1),l.markup=String.fromCharCode(h),c=e.line,y[1]=c,c>=n||e.sCount[c]<e.blkIndent||e.sCount[c]-e.blkIndent>=4)break;let $=!1;for(let ce=0,ue=b.length;ce<ue;ce++)if(b[ce](e,c,n,!0)){$=!0;break}if($)break;if(f){if(m=wo(e,c),m<0)break;A=e.bMarks[c]+e.tShift[c]}else if(m=Bo(e,c),m<0)break;if(h!==e.src.charCodeAt(m-1))break}return f?l=e.push("ordered_list_close","ol",-1):l=e.push("bullet_list_close","ul",-1),l.markup=String.fromCharCode(h),E[1]=c,e.line=c,e.parentType=v,u&&rl(e,k),!0}function sl(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t],A=t+1;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(o)!==91)return!1;function l(C){const w=e.lineMax;if(C>=w||e.isEmpty(C))return null;let Q=!1;if(e.sCount[C]-e.blkIndent>3&&(Q=!0),e.sCount[C]<0&&(Q=!0),!Q){const y=e.md.block.ruler.getRules("reference"),F=e.parentType;e.parentType="reference";let N=!1;for(let U=0,z=y.length;U<z;U++)if(y[U](e,C,w,!0)){N=!0;break}if(e.parentType=F,N)return null}const S=e.bMarks[C]+e.tShift[C],B=e.eMarks[C];return e.src.slice(S,B+1)}let c=e.src.slice(o,i+1);i=c.length;let u=-1;for(o=1;o<i;o++){const C=c.charCodeAt(o);if(C===91)return!1;if(C===93){u=o;break}else if(C===10){const w=l(A);w!==null&&(c+=w,i=c.length,A++)}else if(C===92&&(o++,o<i&&c.charCodeAt(o)===10)){const w=l(A);w!==null&&(c+=w,i=c.length,A++)}}if(u<0||c.charCodeAt(u+1)!==58)return!1;for(o=u+2;o<i;o++){const C=c.charCodeAt(o);if(C===10){const w=l(A);w!==null&&(c+=w,i=c.length,A++)}else if(!te(C))break}const d=e.md.helpers.parseLinkDestination(c,o,i);if(!d.ok)return!1;const f=e.md.normalizeLink(d.str);if(!e.md.validateLink(f))return!1;o=d.pos;const _=o,m=A,h=o;for(;o<i;o++){const C=c.charCodeAt(o);if(C===10){const w=l(A);w!==null&&(c+=w,i=c.length,A++)}else if(!te(C))break}let k=e.md.helpers.parseLinkTitle(c,o,i);for(;k.can_continue;){const C=l(A);if(C===null)break;c+=C,o=i,i=c.length,A++,k=e.md.helpers.parseLinkTitle(c,o,i,k)}let E;for(o<i&&h!==o&&k.ok?(E=k.str,o=k.pos):(E="",o=_,A=m);o<i&&te(c.charCodeAt(o));)o++;if(o<i&&c.charCodeAt(o)!==10&&E)for(E="",o=_,A=m;o<i&&te(c.charCodeAt(o));)o++;if(o<i&&c.charCodeAt(o)!==10)return!1;const g=qt(c.slice(1,u));if(!g)return!1;if(r)return!0;typeof e.env.references>"u"&&(e.env.references={}),typeof e.env.references[g]>"u"&&(e.env.references[g]={title:E,href:f});const b=e.push("reference_definition","",0);b.map=[t,A],b.hidden=!0;const v=Object.create(null);return v.label=g,b.meta=v,e.line=A,!0}var Al=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Rr=`<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*\\/?>`,Tr="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",ll=new RegExp(`^(?:${Rr}|${Tr}|<!---?>|<!--(?:[^-]|-[^-]|--[^>])*-->|<[?][\\s\\S]*?[?]>|<![A-Za-z][^>]*>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>)`),cl=new RegExp(`^(?:${Rr}|${Tr})`),$e=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Za-z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[new RegExp(`^</?(${Al.join("|")})(?=(\\s|/?>|$))`,"i"),/^$/,!0],[new RegExp(`${cl.source}\\s*$`),/^$/,!1]];function al(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(o)!==60)return!1;let A=e.src.slice(o,i),l=0;for(;l<$e.length&&!$e[l][0].test(A);l++);if(l===$e.length)return!1;if(r)return $e[l][2];let c=t+1;const u=$e[l][1].test("");if(!$e[l][1].test(A)){for(;c<n&&!(e.sCount[c]<e.blkIndent&&(u||!e.isEmpty(c)));c++)if(o=e.bMarks[c]+e.tShift[c],i=e.eMarks[c],A=e.src.slice(o,i),$e[l][1].test(A)){A.length!==0&&c++;break}}e.line=c;const d=e.push("html_block","",0);return d.map=[t,c],d.content=e.getLines(t,c,e.blkIndent,!0),!0}function ul(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;let A=e.src.charCodeAt(o);if(A!==35||o>=i)return!1;let l=1;for(A=e.src.charCodeAt(++o);A===35&&o<i&&l<=6;)l++,A=e.src.charCodeAt(++o);if(l>6||o<i&&!te(A))return!1;if(r)return!0;i=e.skipSpacesBack(i,o);const c=e.skipCharsBack(i,35,o);c>o&&te(e.src.charCodeAt(c-1))&&(i=c),e.line=t+1;const u=e.push("heading_open",`h${l}`,1);u.markup="########".slice(0,l),u.map=[t,e.line];const d=e.push("inline","",0);d.content=en(e.src.slice(o,i)),d.map=[t,e.line],d.children=[];const f=e.push("heading_close",`h${l}`,-1);return f.markup="########".slice(0,l),!0}function hl(e,t,n){const r=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const o=e.parentType;e.parentType="paragraph";let i=0,A,l=t+1;for(;l<n&&!e.isEmpty(l);l++){if(e.sCount[l]-e.blkIndent>3)continue;if(e.sCount[l]>=e.blkIndent){let m=e.bMarks[l]+e.tShift[l];const h=e.eMarks[l];if(m<h&&(A=e.src.charCodeAt(m),(A===45||A===61)&&(m=e.skipChars(m,A),m=e.skipSpaces(m),m>=h))){i=A===61?1:2;break}}if(e.sCount[l]<0)continue;let _=!1;for(let m=0,h=r.length;m<h;m++)if(r[m](e,l,n,!0)){_=!0;break}if(_)break}if(!i)return e.parentType=o,!1;const c=en(e.getLines(t,l,e.blkIndent,!1));e.line=l+1;const u=e.push("heading_open",`h${i}`,1);u.markup=String.fromCharCode(A),u.map=[t,e.line];const d=e.push("inline","",0);d.content=c,d.map=[t,e.line-1],d.children=[];const f=e.push("heading_close",`h${i}`,-1);return f.markup=String.fromCharCode(A),e.parentType=o,!0}function dl(e,t,n){const r=e.md.block.ruler.getRules("paragraph"),o=e.parentType;let i=t+1;for(e.parentType="paragraph";i<n&&!e.isEmpty(i);i++){if(e.sCount[i]-e.blkIndent>3||e.sCount[i]<0)continue;let u=!1;for(let d=0,f=r.length;d<f;d++)if(r[d](e,i,n,!0)){u=!0;break}if(u)break}const A=en(e.getLines(t,i,e.blkIndent,!1));e.line=i;const l=e.push("paragraph_open","p",1);l.map=[t,e.line];const c=e.push("inline","",0);return c.content=A,c.map=[t,e.line],c.children=[],e.push("paragraph_close","p",-1),e.parentType=o,!0}var Zt=[["table",qA,["paragraph","reference"]],["code",el],["fence",tl,["paragraph","reference","blockquote","list"]],["blockquote",nl,["paragraph","reference","blockquote","list"]],["hr",ol,["paragraph","reference","blockquote","list"]],["list",il,["paragraph","reference","blockquote"]],["reference",sl],["html_block",al,["paragraph","reference","blockquote"]],["heading",ul,["paragraph","reference","blockquote"]],["lheading",hl],["paragraph",dl]],Qr=class{constructor(){T(this,"ruler",new Qt),T(this,"State",Nr);for(let e=0;e<Zt.length;e++)this.ruler.push(Zt[e][0],Zt[e][1],{alt:(Zt[e][2]||[]).slice()})}tokenize(e,t,n){const r=this.ruler.getRules(""),o=r.length,i=e.md.options.maxNesting;let A=t,l=!1;for(;A<n&&(e.line=A=e.skipEmptyLines(A),!(A>=n||e.sCount[A]<e.blkIndent));){if(e.level>=i){e.line=n;break}const c=e.line;let u=!1;for(let d=0;d<o;d++)if(u=r[d](e,A,n,!1),u){if(c>=e.line)throw new Error("block rule didn't increment state.line");break}if(!u)throw new Error("none of the block rules matched");e.tight=!l,e.isEmpty(e.line-1)&&(l=!0),A=e.line,A<n&&e.isEmpty(A)&&(l=!0,A++,e.line=A)}}parse(e,t,n,r){if(!e)return;const o=new this.State(e,t,n,r);this.tokenize(o,o.line,o.lineMax)}},Mr=class{constructor(e,t,n,r){T(this,"pos",0),T(this,"level",0),T(this,"pending",""),T(this,"pendingLevel",0),T(this,"cache",{}),T(this,"backticks",{}),T(this,"backticksScanned",!1),T(this,"linkLevel",0),T(this,"delimiters",[]),T(this,"_prev_delimiters",[]),T(this,"Token",et),this.src=e,this.env=n,this.md=t,this.tokens=r,this.tokens_meta=Array(r.length),this.posMax=this.src.length}pushPending(){const e=new et("text","",0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending="",e}push(e,t,n){this.pending&&this.pushPending();const r=new et(e,t,n);let o;return n<0&&(this.level--,this.delimiters=this._prev_delimiters.pop()),r.level=this.level,n>0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],o={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(o),r}scanDelims(e,t){const n=this.posMax,r=this.src.charCodeAt(e);let o;if(e===0)o=32;else if(e===1)o=this.src.charCodeAt(0),(o&63488)===55296&&(o=65533);else if(o=this.src.charCodeAt(e-1),(o&64512)===56320){const h=this.src.charCodeAt(e-2);o=(h&64512)===55296?65536+(h-55296<<10)+(o-56320):65533}else(o&64512)===55296&&(o=65533);let i=e;for(;i<n&&this.src.charCodeAt(i)===r;)i++;const A=i-e;let l=i<n?this.src.charCodeAt(i):32;if((l&64512)===55296){const h=this.src.charCodeAt(i+1);l=(h&64512)===56320?65536+(l-55296<<10)+(h-56320):65533}else(l&64512)===56320&&(l=65533);const c=Rt(o)||Nt(o),u=Rt(l)||Nt(l),d=St(o),f=St(l),_=!f&&(!u||d||c),m=!d&&(!c||f||u);return{can_open:_&&(t||!m||c),can_close:m&&(t||!_||u),length:A}}};function fl(e){switch(e){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return!0;default:return!1}}function pl(e,t){let n=e.pos;for(;n<e.posMax&&!fl(e.src.charCodeAt(n));)n++;return n===e.pos?!1:(t||(e.pending+=e.src.slice(e.pos,n)),e.pos=n,!0)}var ml=/(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;function gl(e,t){if(!e.md.options.linkify||e.linkLevel>0)return!1;const n=e.pos,r=e.posMax;if(n+3>r||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const o=e.pending.match(ml);if(!o)return!1;const i=o[1],A=e.md.linkify.matchAtStart(e.src.slice(n-i.length));if(!A)return!1;let l=A.url;if(l.length<=i.length)return!1;let c=l.length;for(;c>0&&l.charCodeAt(c-1)===42;)c--;c!==l.length&&(l=l.slice(0,c));const u=e.md.normalizeLink(l);if(!e.md.validateLink(u))return!1;if(!t){e.pending=e.pending.slice(0,-i.length);const d=e.push("link_open","a",1);d.attrs=[["href",u]],d.markup="linkify",d.info="auto";const f=e.push("text","",0);f.content=e.md.normalizeLinkText(l);const _=e.push("link_close","a",-1);_.markup="linkify",_.info="auto"}return e.pos+=l.length-i.length,!0}function Cl(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const r=e.pending.length-1,o=e.posMax;if(!t)if(r>=0&&e.pending.charCodeAt(r)===32)if(r>=1&&e.pending.charCodeAt(r-1)===32){let i=r-1;for(;i>=1&&e.pending.charCodeAt(i-1)===32;)i--;e.pending=e.pending.slice(0,i),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n<o&&te(e.src.charCodeAt(n));)n++;return e.pos=n,!0}var Hn=[];for(let e=0;e<256;e++)Hn.push(0);"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(e){Hn[e.charCodeAt(0)]=1});function _l(e,t){let n=e.pos;const r=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=r))return!1;let o=e.src.charCodeAt(n);if(o===10){for(t||e.push("hardbreak","br",0),n++;n<r&&(o=e.src.charCodeAt(n),!!te(o));)n++;return e.pos=n,!0}if(o===32){if(!t){const l=e.push("text_special","",0);l.content="\\",l.markup="\\",l.info="escape"}return e.pos=n,!0}let i=e.src[n];if(o>=55296&&o<=56319&&n+1<r){const l=e.src.charCodeAt(n+1);l>=56320&&l<=57343&&(i+=e.src[n+1],n++)}const A="\\"+i;if(!t){const l=e.push("text_special","",0);o<256&&Hn[o]!==0?l.content=i:l.content=A,l.markup=A,l.info="escape"}return e.pos=n+1,!0}function kl(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;const r=n;n++;const o=e.posMax;for(;n<o&&e.src.charCodeAt(n)===96;)n++;const i=e.src.slice(r,n),A=i.length;if(e.backticksScanned&&(e.backticks[A]||0)<=r)return t||(e.pending+=i),e.pos+=A,!0;let l=n,c;for(;(c=e.src.indexOf("`",l))!==-1;){for(l=c+1;l<o&&e.src.charCodeAt(l)===96;)l++;const u=l-c;if(u===A){if(!t){const d=e.push("code_inline","code",0);d.markup=i,d.content=e.src.slice(n,c).replace(/\n/g," ").replace(/^ (.+) $/,"$1")}return e.pos=l,!0}e.backticks[u]=c}return e.backticksScanned=!0,t||(e.pending+=i),e.pos+=A,!0}function yl(e,t){const n=e.pos,r=e.src.charCodeAt(n);if(t||r!==126)return!1;const o=e.scanDelims(e.pos,!0);let i=o.length;const A=String.fromCharCode(r);if(i<2)return!1;let l;i%2&&(l=e.push("text","",0),l.content=A,i--);for(let c=0;c<i;c+=2)l=e.push("text","",0),l.content=A+A,e.delimiters.push({marker:r,length:0,token:e.tokens.length-1,end:-1,open:o.can_open,close:o.can_close});return e.pos+=o.length,!0}function Fo(e,t){let n;const r=[],o=t.length;for(let i=0;i<o;i++){const A=t[i];if(A.marker!==126||A.end===-1)continue;const l=t[A.end];n=e.tokens[A.token],n.type="s_open",n.tag="s",n.nesting=1,n.markup="~~",n.content="",n=e.tokens[l.token],n.type="s_close",n.tag="s",n.nesting=-1,n.markup="~~",n.content="",e.tokens[l.token-1].type==="text"&&e.tokens[l.token-1].content==="~"&&r.push(l.token-1)}for(;r.length;){const i=r.pop();let A=i+1;for(;A<e.tokens.length&&e.tokens[A].type==="s_close";)A++;A--,i!==A&&(n=e.tokens[A],e.tokens[A]=e.tokens[i],e.tokens[i]=n)}}function El(e){const t=e.tokens_meta,n=e.tokens_meta.length;Fo(e,e.delimiters);for(let o=0;o<n;o++){var r;const i=(r=t[o])===null||r===void 0?void 0:r.delimiters;i&&Fo(e,i)}}var Kr={tokenize:yl,postProcess:El};function Dl(e,t){const n=e.pos,r=e.src.charCodeAt(n);if(t||r!==95&&r!==42)return!1;const o=e.scanDelims(e.pos,r===42);for(let i=0;i<o.length;i++){const A=e.push("text","",0);A.content=String.fromCharCode(r),e.delimiters.push({marker:r,length:o.length,token:e.tokens.length-1,end:-1,open:o.can_open,close:o.can_close})}return e.pos+=o.length,!0}function xo(e,t){const n=t.length;for(let r=n-1;r>=0;r--){const o=t[r];if(o.marker!==95&&o.marker!==42||o.end===-1)continue;const i=t[o.end],A=r>0&&t[r-1].end===o.end+1&&t[r-1].marker===o.marker&&t[r-1].token===o.token-1&&t[o.end+1].token===i.token+1,l=String.fromCharCode(o.marker),c=e.tokens[o.token];c.type=A?"strong_open":"em_open",c.tag=A?"strong":"em",c.nesting=1,c.markup=A?l+l:l,c.content="";const u=e.tokens[i.token];u.type=A?"strong_close":"em_close",u.tag=A?"strong":"em",u.nesting=-1,u.markup=A?l+l:l,u.content="",A&&(e.tokens[t[r-1].token].content="",e.tokens[t[o.end+1].token].content="",r--)}}function Il(e){const t=e.tokens_meta,n=e.tokens_meta.length;xo(e,e.delimiters);for(let o=0;o<n;o++){var r;const i=(r=t[o])===null||r===void 0?void 0:r.delimiters;i&&xo(e,i)}}var Gr={tokenize:Dl,postProcess:Il};function bl(e,t){let n,r,o,i,A="",l="",c=e.pos,u=!0;if(e.src.charCodeAt(e.pos)!==91)return!1;const d=e.pos,f=e.posMax,_=e.pos+1,m=e.md.helpers.parseLinkLabel(e,e.pos,!0);if(m<0)return!1;let h=m+1;if(h<f&&e.src.charCodeAt(h)===40){for(u=!1,h++;h<f&&(n=e.src.charCodeAt(h),!(!te(n)&&n!==10));h++);if(h>=f)return!1;if(c=h,o=e.md.helpers.parseLinkDestination(e.src,h,e.posMax),o.ok){for(A=e.md.normalizeLink(o.str),e.md.validateLink(A)?h=o.pos:A="",c=h;h<f&&(n=e.src.charCodeAt(h),!(!te(n)&&n!==10));h++);if(o=e.md.helpers.parseLinkTitle(e.src,h,e.posMax),h<f&&c!==h&&o.ok)for(l=o.str,h=o.pos;h<f&&(n=e.src.charCodeAt(h),!(!te(n)&&n!==10));h++);}(h>=f||e.src.charCodeAt(h)!==41)&&(u=!0),h++}if(u){if(typeof e.env.references>"u")return!1;if(h<f&&e.src.charCodeAt(h)===91?(c=h+1,h=e.md.helpers.parseLinkLabel(e,h),h>=0?r=e.src.slice(c,h++):h=m+1):h=m+1,r||(r=e.src.slice(_,m)),r=qt(r),i=e.env.references[r],!i)return e.pos=d,!1;A=i.href,l=i.title}if(!t){e.pos=_,e.posMax=m;const k=e.push("link_open","a",1),E=[["href",A]];if(k.attrs=E,l&&E.push(["title",l]),r){const g=Object.create(null);g.label=r,k.meta=g}e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=h,e.posMax=f,!0}function Bl(e,t){let n,r,o,i,A,l,c,u,d="";const f=e.pos,_=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const m=e.pos+2,h=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(h<0)return!1;if(i=h+1,i<_&&e.src.charCodeAt(i)===40){for(i++;i<_&&(n=e.src.charCodeAt(i),!(!te(n)&&n!==10));i++);if(i>=_)return!1;for(u=i,l=e.md.helpers.parseLinkDestination(e.src,i,e.posMax),l.ok&&(d=e.md.normalizeLink(l.str),e.md.validateLink(d)?i=l.pos:d=""),u=i;i<_&&(n=e.src.charCodeAt(i),!(!te(n)&&n!==10));i++);if(l=e.md.helpers.parseLinkTitle(e.src,i,e.posMax),i<_&&u!==i&&l.ok)for(c=l.str,i=l.pos;i<_&&(n=e.src.charCodeAt(i),!(!te(n)&&n!==10));i++);else c="";if(i>=_||e.src.charCodeAt(i)!==41)return e.pos=f,!1;i++}else{if(typeof e.env.references>"u")return!1;if(i<_&&e.src.charCodeAt(i)===91?(u=i+1,i=e.md.helpers.parseLinkLabel(e,i),i>=0?o=e.src.slice(u,i++):i=h+1):i=h+1,o||(o=e.src.slice(m,h)),o=qt(o),A=e.env.references[o],!A)return e.pos=f,!1;d=A.href,c=A.title}if(!t){r=e.src.slice(m,h);const k=[];e.md.inline.parse(r,e.md,e.env,k);const E=e.push("image","img",0),g=[["src",d],["alt",""]];if(E.attrs=g,E.children=k,E.content=r,c&&g.push(["title",c]),o){const b=Object.create(null);b.label=o,E.meta=b}}return e.pos=i,e.posMax=_,!0}var wl=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,Fl=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function xl(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const r=e.pos,o=e.posMax;for(;;){if(++n>=o)return!1;const A=e.src.charCodeAt(n);if(A===60)return!1;if(A===62)break}const i=e.src.slice(r+1,n);if(Fl.test(i)){const A=e.md.normalizeLink(i);if(!e.md.validateLink(A))return!1;if(!t){const l=e.push("link_open","a",1);l.attrs=[["href",A]],l.markup="autolink",l.info="auto";const c=e.push("text","",0);c.content=e.md.normalizeLinkText(i);const u=e.push("link_close","a",-1);u.markup="autolink",u.info="auto"}return e.pos+=i.length+2,!0}if(wl.test(i)){const A=e.md.normalizeLink(`mailto:${i}`);if(!e.md.validateLink(A))return!1;if(!t){const l=e.push("link_open","a",1);l.attrs=[["href",A]],l.markup="autolink",l.info="auto";const c=e.push("text","",0);c.content=e.md.normalizeLinkText(i);const u=e.push("link_close","a",-1);u.markup="autolink",u.info="auto"}return e.pos+=i.length+2,!0}return!1}function vl(e){return/^<a[>\s]/i.test(e)}function Sl(e){return/^<\/a\s*>/i.test(e)}function Nl(e){const t=e|32;return t>=97&&t<=122}function Rl(e,t){if(!e.md.options.html)return!1;const n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;const o=e.src.charCodeAt(r+1);if(o!==33&&o!==63&&o!==47&&!Nl(o))return!1;const i=e.src.slice(r).match(ll);if(!i)return!1;if(!t){const A=e.push("html_inline","",0);A.content=i[0],vl(A.content)&&e.linkLevel++,Sl(A.content)&&e.linkLevel--}return e.pos+=i[0].length,!0}var Tl=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,Ql=/^&([a-z][a-z0-9]{1,31});/i;function Ml(e,t){const n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=r)return!1;if(e.src.charCodeAt(n+1)===35){const o=e.src.slice(n).match(Tl);if(o){if(!t){const i=o[1][0].toLowerCase()==="x"?parseInt(o[1].slice(1),16):parseInt(o[1],10),A=e.push("text_special","",0);A.content=On(i)?vt(i):vt(65533),A.markup=o[0],A.info="entity"}return e.pos+=o[0].length,!0}}else{const o=e.src.slice(n).match(Ql);if(o){const i=fr(o[0]);if(i!==o[0]){if(!t){const A=e.push("text_special","",0);A.content=i,A.markup=o[0],A.info="entity"}return e.pos+=o[0].length,!0}}}return!1}function vo(e){const t={},n=e.length;if(!n)return;let r=0,o=-2;const i=[];for(let A=0;A<n;A++){const l=e[A];if(i.push(0),(e[r].marker!==l.marker||o!==l.token-1)&&(r=A),o=l.token,l.length=l.length||0,!l.close)continue;t.hasOwnProperty(l.marker)||(t[l.marker]=[-1,-1,-1,-1,-1,-1]);const c=t[l.marker][(l.open?3:0)+l.length%3];let u=r-i[r]-1,d=u;for(;u>c;u-=i[u]+1){const f=e[u];if(f.marker===l.marker&&f.open&&f.end<0){let _=!1;if((f.close||l.open)&&(f.length+l.length)%3===0&&(f.length%3!==0||l.length%3!==0)&&(_=!0),!_){const m=u>0&&!e[u-1].open?i[u-1]+1:0;i[A]=A-u+m,i[u]=m,l.open=!1,f.end=A,f.close=!1,d=-1,o=-2;break}}}d!==-1&&(t[l.marker][(l.open?3:0)+(l.length||0)%3]=d)}}function Kl(e){const t=e.tokens_meta,n=e.tokens_meta.length;vo(e.delimiters);for(let o=0;o<n;o++){var r;const i=(r=t[o])===null||r===void 0?void 0:r.delimiters;i&&vo(i)}}function Gl(e){let t,n,r=0;const o=e.tokens,i=e.tokens.length;for(t=n=0;t<i;t++)o[t].nesting<0&&r--,o[t].level=r,o[t].nesting>0&&r++,o[t].type==="text"&&t+1<i&&o[t+1].type==="text"?o[t+1].content=o[t].content+o[t+1].content:(t!==n&&(o[n]=o[t]),n++);t!==n&&(o.length=n)}var In=[["text",pl],["linkify",gl],["newline",Cl],["escape",_l],["backticks",kl],["strikethrough",Kr.tokenize],["emphasis",Gr.tokenize],["link",bl],["image",Bl],["autolink",xl],["html_inline",Rl],["entity",Ml]],bn=[["balance_pairs",Kl],["strikethrough",Kr.postProcess],["emphasis",Gr.postProcess],["fragments_join",Gl]],Wr=class{constructor(){T(this,"ruler",new Qt),T(this,"ruler2",new Qt),T(this,"State",Mr);for(let e=0;e<In.length;e++)this.ruler.push(In[e][0],In[e][1]);for(let e=0;e<bn.length;e++)this.ruler2.push(bn[e][0],bn[e][1])}skipToken(e){const t=e.pos,n=this.ruler.getRules(""),r=n.length,o=e.md.options.maxNesting,i=e.cache;if(typeof i[t]<"u"){e.pos=i[t];return}let A=!1;if(e.level<o){for(let l=0;l<r;l++)if(e.level++,A=n[l](e,!0),e.level--,A){if(t>=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;A||e.pos++,i[t]=e.pos}tokenize(e){const t=this.ruler.getRules(""),n=t.length,r=e.posMax,o=e.md.options.maxNesting;for(;e.pos<r;){const i=e.pos;let A=!1;if(e.level<o){for(let l=0;l<n;l++)if(A=t[l](e,!1),A){if(i>=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(A){if(e.pos>=r)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()}parse(e,t,n,r){const o=new this.State(e,t,n,r);this.tokenize(o);const i=this.ruler2.getRules(""),A=i.length;for(let l=0;l<A;l++)i[l](o)}},Wl={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}},zero:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","strip_references","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","strip_references","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}}},Yl=/^(vbscript|javascript|file|data):/,Ol=/^data:image\/(gif|png|jpeg|webp);/,So=["http:","https:","mailto:"],We=class{validateLink(e){const t=e.trim().toLowerCase();return Yl.test(t)?Ol.test(t):!0}normalizeLink(e){const t=Nn(e,!0);if(t.hostname&&(!t.protocol||So.indexOf(t.protocol)>=0))try{t.hostname=ko.toASCII(t.hostname)}catch{}return Kt(Sn(t))}normalizeLinkText(e){const t=Nn(e,!0);if(t.hostname&&(!t.protocol||So.indexOf(t.protocol)>=0))try{t.hostname=ko.toUnicode(t.hostname)}catch{}return ft(Sn(t),ft.defaultChars+"%")}constructor(...e){T(this,"inline",new Wr),T(this,"block",new Qr),T(this,"core",new Sr),T(this,"renderer",new Fr),T(this,"linkify",new eA),T(this,"utils",hA),T(this,"helpers",Object.assign({},wA));const[t,n]=e;typeof t=="string"?(this.configure(t),n&&this.set(n)):(this.configure("default"),this.set(t||{}))}set(e){return Object.assign(this.options,e),this}configure(e){let t;if(typeof e=="string"){const o=e;if(t=Wl[o],!t)throw new Error(`Wrong 'markdown-it' preset "${o}", check name`)}else t=e;if(!t)throw new Error("Wrong `markdown-it` preset, can't be empty");t.options&&(this.options={...t.options});const n=t.components;if(n){var r;["core","block","inline"].forEach(i=>{var A;const l=(A=n[i])===null||A===void 0?void 0:A.rules;l&&this[i].ruler.enableOnly(l)});const o=(r=n.inline)===null||r===void 0?void 0:r.rules2;o&&this.inline.ruler2.enableOnly(o)}return this}enable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(o=>{n=n.concat(this[o].ruler.enable(e,!0))}),n=n.concat(this.inline.ruler2.enable(e,!0));const r=e.filter(o=>n.indexOf(o)<0);if(r.length&&!t)throw new Error(`MarkdownIt. Failed to enable unknown rule(s): ${r}`);return this}disable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(o=>{n=n.concat(this[o].ruler.disable(e,!0))}),n=n.concat(this.inline.ruler2.disable(e,!0));const r=e.filter(o=>n.indexOf(o)<0);if(r.length&&!t)throw new Error(`MarkdownIt. Failed to disable unknown rule(s): ${r}`);return this}use(e,...t){return e.apply(e,[this,...t]),this}parse(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens}render(e,t={}){return this.renderer.render(this.parse(e,t),this.options,t)}parseInline(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens}renderInline(e,t={}){return this.renderer.render(this.parseInline(e,t),this.options,t)}};T(We,"Token",et);T(We,"Ruler",Qt);T(We,"Renderer",Fr);T(We,"ParserCore",Sr);T(We,"StateCore",xr);T(We,"ParserBlock",Qr);T(We,"StateBlock",Nr);T(We,"ParserInline",Wr);T(We,"StateInline",Mr);var Hl=Ir(We);/*! @license DOMPurify 3.4.13 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.13/LICENSE */function No(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ul(e){if(Array.isArray(e))return e}function Vl(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,o,i,A,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,t!==0)for(;!(c=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,o=d}finally{try{if(!c&&n.return!=null&&(A=n.return(),Object(A)!==A))return}finally{if(u)throw o}}return l}}function Jl(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
55
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ll(e,t){return Ul(e)||Vl(e,t)||Zl(e,t)||Jl()}function Zl(e,t){if(e){if(typeof e=="string")return No(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?No(e,t):void 0}}const Yr=Object.entries,Ro=Object.setPrototypeOf,Pl=Object.isFrozen,zl=Object.getPrototypeOf,jl=Object.getOwnPropertyDescriptor;let me=Object.freeze,ge=Object.seal,ut=Object.create,Or=typeof Reflect<"u"&&Reflect,Tn=Or.apply,Qn=Or.construct;me||(me=function(t){return t});ge||(ge=function(t){return t});Tn||(Tn=function(t,n){for(var r=arguments.length,o=new Array(r>2?r-2:0),i=2;i<r;i++)o[i-2]=arguments[i];return t.apply(n,o)});Qn||(Qn=function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return new t(...r)});const ct=le(Array.prototype.forEach),Xl=le(Array.prototype.lastIndexOf),To=le(Array.prototype.pop),at=le(Array.prototype.push),$l=le(Array.prototype.splice),Le=Array.isArray,Bt=le(String.prototype.toLowerCase),Bn=le(String.prototype.toString),Qo=le(String.prototype.match),It=le(String.prototype.replace),Mo=le(String.prototype.indexOf),ql=le(String.prototype.trim),ec=le(Number.prototype.toString),tc=le(Boolean.prototype.toString),Ko=typeof BigInt>"u"?null:le(BigInt.prototype.toString),Go=typeof Symbol>"u"?null:le(Symbol.prototype.toString),fe=le(Object.prototype.hasOwnProperty),bt=le(Object.prototype.toString),he=le(RegExp.prototype.test),qe=nc(TypeError);function le(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return Tn(e,t,r)}}function nc(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Qn(e,n)}}function P(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Bt;if(Ro&&Ro(e,null),!Le(t))return e;let r=t.length;for(;r--;){let o=t[r];if(typeof o=="string"){const i=n(o);i!==o&&(Pl(t)||(t[r]=i),o=i)}e[o]=!0}return e}function oc(e){for(let t=0;t<e.length;t++)fe(e,t)||(e[t]=null);return e}function Ce(e){const t=ut(null);for(const r of Yr(e)){var n=Ll(r,2);const o=n[0],i=n[1];fe(e,o)&&(Le(i)?t[o]=oc(i):i&&typeof i=="object"&&i.constructor===Object?t[o]=Ce(i):t[o]=i)}return t}function rc(e){switch(typeof e){case"string":return e;case"number":return ec(e);case"boolean":return tc(e);case"bigint":return Ko?Ko(e):"0";case"symbol":return Go?Go(e):"Symbol()";case"undefined":return bt(e);case"function":case"object":{if(e===null)return bt(e);const t=e,n=xe(t,"toString");if(typeof n=="function"){const r=n(t);return typeof r=="string"?r:bt(r)}return bt(e)}default:return bt(e)}}function xe(e,t){for(;e!==null;){const r=jl(e,t);if(r){if(r.get)return le(r.get);if(typeof r.value=="function")return le(r.value)}e=zl(e)}function n(){return null}return n}function ic(e){try{return he(e,""),!0}catch{return!1}}const Wo=me(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),wn=me(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Fn=me(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),sc=me(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),xn=me(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Ac=me(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Yo=me(["#text"]),Oo=me(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),vn=me(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Ho=me(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Pt=me(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),lc=ge(/{{[\w\W]*|^[\w\W]*}}/g),cc=ge(/<%[\w\W]*|^[\w\W]*%>/g),ac=ge(/\${[\w\W]*/g),uc=ge(/^data-[\-\w.\u00B7-\uFFFF]+$/),hc=ge(/^aria-[\-\w]+$/),Uo=ge(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),dc=ge(/^(?:\w+script|data):/i),fc=ge(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),pc=ge(/^html$/i),mc=ge(/^[a-z][.\w]*(-[.\w]+)+$/i),Vo=ge(/<[/\w!]/g),Jo=ge(/<[/\w]/g),gc=ge(/<\/no(script|embed|frames)/i),Cc=ge(/\/>/i),be={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},_c=function(){return typeof window>"u"?null:window},kc=function(t,n){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null;const o="data-tt-policy-suffix";n&&n.hasAttribute(o)&&(r=n.getAttribute(o));const i="dompurify"+(r?"#"+r:"");try{return t.createPolicy(i,{createHTML(A){return A},createScriptURL(A){return A}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},Lo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Ue=function(t,n,r,o){return fe(t,n)&&Le(t[n])?P(o.base?Ce(o.base):{},t[n],o.transform):r};function Hr(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_c();const t=x=>Hr(x);if(t.version="3.4.13",t.removed=[],!e||!e.document||e.document.nodeType!==be.document||!e.Element)return t.isSupported=!1,t;let n=e.document;const r=n,o=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,A=e.Node,l=e.Element,c=e.NodeFilter,u=e.NamedNodeMap;u===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const d=e.DOMParser,f=e.trustedTypes,_=l.prototype,m=xe(_,"cloneNode"),h=xe(_,"remove"),k=xe(_,"nextSibling"),E=xe(_,"childNodes"),g=xe(_,"parentNode"),b=xe(_,"shadowRoot"),v=xe(_,"attributes"),C=A&&A.prototype?xe(A.prototype,"nodeType"):null,w=A&&A.prototype?xe(A.prototype,"nodeName"):null,Q=A&&A.prototype?xe(A.prototype,"ownerDocument"):null;if(typeof i=="function"){const x=n.createElement("template");x.content&&x.content.ownerDocument&&(n=x.content.ownerDocument)}let S,B="",y,F=!1,N=0;const U=function(){if(N>0)throw qe('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},z=function(a){U(),N++;try{return S.createHTML(a)}finally{N--}},$=function(a){U(),N++;try{return S.createScriptURL(a)}finally{N--}},ce=function(){return F||(y=kc(f,o),F=!0),y},ue=n,ve=ue.implementation,Pe=ue.createNodeIterator,gt=ue.createDocumentFragment,Ct=ue.getElementsByTagName,tt=r.importNode;let X=Lo();t.isSupported=typeof Yr=="function"&&typeof g=="function"&&ve&&ve.createHTMLDocument!==void 0;const Se=lc,_t=cc,nt=ac,ne=uc,V=hc,Be=dc,ye=fc,ze=mc;let we=Uo,j=null;const je=P({},[...Wo,...wn,...Fn,...xn,...Yo]);let Z=null;const Oe=P({},[...Oo,...vn,...Ho,...Pt]);let L=Object.seal(ut(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ye=null,kt=null;const Fe=Object.seal(ut(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let D=!0,G=!0,W=!1,R=!0,Y=!1,J=!0,Ie=!1,se=!1,ot=null,ee=null,pe=!1,Ae=!1,rt=!1,Ne=!1,ae=!0,tn=!1;const Un="user-content-";let nn=!0,Gt=!1,it={},Re=null;const on=P({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let Vn=null;const Jn=P({},["audio","video","img","source","image","track"]);let rn=null;const Ln=P({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Wt="http://www.w3.org/1998/Math/MathML",Yt="http://www.w3.org/2000/svg",Te="http://www.w3.org/1999/xhtml";let st=Te,sn=!1,An=null;const Pr=P({},[Wt,Yt,Te],Bn),Zn=me(["mi","mo","mn","ms","mtext"]);let ln=P({},Zn);const Pn=me(["annotation-xml"]);let cn=P({},Pn);const zr=P({},["title","style","font","a","script"]);let yt=null;const jr=["application/xhtml+xml","text/html"],Xr="text/html";let oe=null,At=null;const $r=n.createElement("form"),zn=function(a){return a instanceof RegExp||a instanceof Function},an=function(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(At&&At===a)return;(!a||typeof a!="object")&&(a={}),a=Ce(a),yt=jr.indexOf(a.PARSER_MEDIA_TYPE)===-1?Xr:a.PARSER_MEDIA_TYPE,oe=yt==="application/xhtml+xml"?Bn:Bt,j=Ue(a,"ALLOWED_TAGS",je,{transform:oe}),Z=Ue(a,"ALLOWED_ATTR",Oe,{transform:oe}),An=Ue(a,"ALLOWED_NAMESPACES",Pr,{transform:Bn}),rn=Ue(a,"ADD_URI_SAFE_ATTR",Ln,{transform:oe,base:Ln}),Vn=Ue(a,"ADD_DATA_URI_TAGS",Jn,{transform:oe,base:Jn}),Re=Ue(a,"FORBID_CONTENTS",on,{transform:oe}),Ye=Ue(a,"FORBID_TAGS",Ce({}),{transform:oe}),kt=Ue(a,"FORBID_ATTR",Ce({}),{transform:oe}),it=fe(a,"USE_PROFILES")?a.USE_PROFILES&&typeof a.USE_PROFILES=="object"?Ce(a.USE_PROFILES):a.USE_PROFILES:!1,D=a.ALLOW_ARIA_ATTR!==!1,G=a.ALLOW_DATA_ATTR!==!1,W=a.ALLOW_UNKNOWN_PROTOCOLS||!1,R=a.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Y=a.SAFE_FOR_TEMPLATES||!1,J=a.SAFE_FOR_XML!==!1,Ie=a.WHOLE_DOCUMENT||!1,Ae=a.RETURN_DOM||!1,rt=a.RETURN_DOM_FRAGMENT||!1,Ne=a.RETURN_TRUSTED_TYPE||!1,pe=a.FORCE_BODY||!1,ae=a.SANITIZE_DOM!==!1,tn=a.SANITIZE_NAMED_PROPS||!1,nn=a.KEEP_CONTENT!==!1,Gt=a.IN_PLACE||!1,we=ic(a.ALLOWED_URI_REGEXP)?a.ALLOWED_URI_REGEXP:Uo,st=typeof a.NAMESPACE=="string"?a.NAMESPACE:Te,ln=fe(a,"MATHML_TEXT_INTEGRATION_POINTS")&&a.MATHML_TEXT_INTEGRATION_POINTS&&typeof a.MATHML_TEXT_INTEGRATION_POINTS=="object"?Ce(a.MATHML_TEXT_INTEGRATION_POINTS):P({},Zn),cn=fe(a,"HTML_INTEGRATION_POINTS")&&a.HTML_INTEGRATION_POINTS&&typeof a.HTML_INTEGRATION_POINTS=="object"?Ce(a.HTML_INTEGRATION_POINTS):P({},Pn);const p=fe(a,"CUSTOM_ELEMENT_HANDLING")&&a.CUSTOM_ELEMENT_HANDLING&&typeof a.CUSTOM_ELEMENT_HANDLING=="object"?Ce(a.CUSTOM_ELEMENT_HANDLING):ut(null);if(L=ut(null),fe(p,"tagNameCheck")&&zn(p.tagNameCheck)&&(L.tagNameCheck=p.tagNameCheck),fe(p,"attributeNameCheck")&&zn(p.attributeNameCheck)&&(L.attributeNameCheck=p.attributeNameCheck),fe(p,"allowCustomizedBuiltInElements")&&typeof p.allowCustomizedBuiltInElements=="boolean"&&(L.allowCustomizedBuiltInElements=p.allowCustomizedBuiltInElements),ge(L),Y&&(G=!1),rt&&(Ae=!0),it&&(j=P({},Yo),Z=ut(null),it.html===!0&&(P(j,Wo),P(Z,Oo)),it.svg===!0&&(P(j,wn),P(Z,vn),P(Z,Pt)),it.svgFilters===!0&&(P(j,Fn),P(Z,vn),P(Z,Pt)),it.mathMl===!0&&(P(j,xn),P(Z,Ho),P(Z,Pt))),Fe.tagCheck=null,Fe.attributeCheck=null,fe(a,"ADD_TAGS")&&(typeof a.ADD_TAGS=="function"?Fe.tagCheck=a.ADD_TAGS:Le(a.ADD_TAGS)&&(j===je&&(j=Ce(j)),P(j,a.ADD_TAGS,oe))),fe(a,"ADD_ATTR")&&(typeof a.ADD_ATTR=="function"?Fe.attributeCheck=a.ADD_ATTR:Le(a.ADD_ATTR)&&(Z===Oe&&(Z=Ce(Z)),P(Z,a.ADD_ATTR,oe))),fe(a,"ADD_URI_SAFE_ATTR")&&Le(a.ADD_URI_SAFE_ATTR)&&P(rn,a.ADD_URI_SAFE_ATTR,oe),fe(a,"FORBID_CONTENTS")&&Le(a.FORBID_CONTENTS)&&(Re===on&&(Re=Ce(Re)),P(Re,a.FORBID_CONTENTS,oe)),fe(a,"ADD_FORBID_CONTENTS")&&Le(a.ADD_FORBID_CONTENTS)&&(Re===on&&(Re=Ce(Re)),P(Re,a.ADD_FORBID_CONTENTS,oe)),nn&&(j["#text"]=!0),Ie&&P(j,["html","head","body"]),j.table&&(P(j,["tbody"]),delete Ye.tbody),a.TRUSTED_TYPES_POLICY){if(typeof a.TRUSTED_TYPES_POLICY.createHTML!="function")throw qe('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof a.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw qe('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const I=S;S=a.TRUSTED_TYPES_POLICY;try{B=z("")}catch(M){throw S=I,M}}else a.TRUSTED_TYPES_POLICY===null?(S=void 0,B=""):(S===void 0&&(S=ce()),S&&typeof B=="string"&&(B=z("")));me&&me(a),At=a},jn=P({},[...wn,...Fn,...sc]),Xn=P({},[...xn,...Ac]),qr=function(a,p,I){return p.namespaceURI===Te?a==="svg":p.namespaceURI===Wt?a==="svg"&&(I==="annotation-xml"||ln[I]):!!jn[a]},ei=function(a,p,I){return p.namespaceURI===Te?a==="math":p.namespaceURI===Yt?a==="math"&&cn[I]:!!Xn[a]},ti=function(a,p,I){return p.namespaceURI===Yt&&!cn[I]||p.namespaceURI===Wt&&!ln[I]?!1:!Xn[a]&&(zr[a]||!jn[a])},ni=function(a){let p=g(a);(!p||!p.tagName)&&(p={namespaceURI:st,tagName:"template"});const I=Bt(a.tagName),M=Bt(p.tagName);return An[a.namespaceURI]?a.namespaceURI===Yt?qr(I,p,M):a.namespaceURI===Wt?ei(I,p,M):a.namespaceURI===Te?ti(I,p,M):!!(yt==="application/xhtml+xml"&&An[a.namespaceURI]):!1},He=function(a){at(t.removed,{element:a});try{g(a).removeChild(a)}catch{if(h(a),!g(a))throw qe("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Ot=function(a){Et(a);const p=E(a);if(p){const M=[];ct(p,K=>{at(M,K)}),ct(M,K=>{try{h(K)}catch{}})}const I=v(a);if(I)for(let M=I.length-1;M>=0;--M){const K=I[M],O=K&&K.name;if(typeof O=="string")try{a.removeAttribute(O)}catch{}}},Xe=function(a,p){try{at(t.removed,{attribute:p.getAttributeNode(a),from:p})}catch{at(t.removed,{attribute:null,from:p})}if(p.removeAttribute(a),a==="is")if(Ae||rt)try{He(p)}catch{}else try{p.setAttribute(a,"")}catch{}},oi=function(a){const p=v(a);if(p)for(let I=p.length-1;I>=0;--I){const M=p[I],K=M&&M.name;if(!(typeof K!="string"||Z[oe(K)]))try{a.removeAttribute(K)}catch{}}},Et=function(a){const p=[a];for(;p.length>0;){const I=p.pop();(C?C(I):I.nodeType)===be.element&&oi(I);const K=E(I);if(K)for(let O=K.length-1;O>=0;--O)p.push(K[O])}},ri=function(a){if(!J)return;const p=[a];for(;p.length>0;){const I=p.pop(),M=C?C(I):I.nodeType;if(M===be.processingInstruction||M===be.comment&&he(Jo,I.data)){try{h(I)}catch{}continue}if(M===be.element){const O=I,q=oe(w?w(I):I.nodeName);try{O.hasAttribute&&O.hasAttribute("patchsrc")&&O.removeAttribute("patchsrc"),O.hasAttribute&&O.hasAttribute("for")&&q!=="label"&&q!=="output"&&O.removeAttribute("for")}catch{}}const K=E(I);if(K)for(let O=K.length-1;O>=0;--O)p.push(K[O])}},$n=function(a){let p=null,I=null;if(pe)a="<remove></remove>"+a;else{const O=Qo(a,/^[\r\n\t ]+/);I=O&&O[0]}yt==="application/xhtml+xml"&&st===Te&&(a='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+a+"</body></html>");const M=S?z(a):a;if(st===Te)try{p=new d().parseFromString(M,yt)}catch{}if(!p||!p.documentElement){p=ve.createDocument(st,"template",null);try{p.documentElement.innerHTML=sn?B:M}catch{}}const K=p.body||p.documentElement;return a&&I&&K.insertBefore(n.createTextNode(I),K.childNodes[0]||null),st===Te?Ct.call(p,Ie?"html":"body")[0]:Ie?p.documentElement:K},qn=function(a){const p=Q?Q(a):a.ownerDocument;return Pe.call(p||a,a,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Ht=function(a){return a=It(a,Se," "),a=It(a,_t," "),a=It(a,nt," "),a},un=function(a){var p;a.normalize();const I=Q?Q(a):a.ownerDocument,M=Pe.call(I||a,a,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let K=M.nextNode();for(;K;)K.data=Ht(K.data),K=M.nextNode();const O=(p=a.querySelectorAll)===null||p===void 0?void 0:p.call(a,"template");O&&ct(O,q=>{lt(q.content)&&un(q.content)})},Ut=function(a){const p=w?w(a):null;return typeof p!="string"||oe(p)!=="form"?!1:typeof a.nodeName!="string"||typeof a.textContent!="string"||typeof a.removeChild!="function"||a.attributes!==v(a)||typeof a.removeAttribute!="function"||typeof a.setAttribute!="function"||typeof a.namespaceURI!="string"||typeof a.insertBefore!="function"||typeof a.hasChildNodes!="function"||a.nodeType!==C(a)||a.childNodes!==E(a)},lt=function(a){if(!C||typeof a!="object"||a===null)return!1;try{return C(a)===be.documentFragment}catch{return!1}},Dt=function(a){if(!C||typeof a!="object"||a===null)return!1;try{return typeof C(a)=="number"}catch{return!1}};function Qe(x,a,p){x.length!==0&&ct(x,I=>{I.call(t,a,p,At)})}const ii=function(a,p){return!!(J&&a.hasChildNodes()&&!Dt(a.firstElementChild)&&he(Vo,a.textContent)&&he(Vo,a.innerHTML)||J&&a.namespaceURI===Te&&p==="style"&&Dt(a.firstElementChild)||a.nodeType===be.processingInstruction||J&&a.nodeType===be.comment&&he(Jo,a.data))},si=function(a,p,I){if(!Ye[p]&&oo(p)&&(L.tagNameCheck instanceof RegExp&&he(L.tagNameCheck,p)||L.tagNameCheck instanceof Function&&L.tagNameCheck(p)))return!1;if(nn&&!Re[p]){const M=g(a),K=E(a);if(K&&M){const O=K.length;for(let q=O-1;q>=0;--q){const re=a===I?m(K[q],!0):K[q];M.insertBefore(re,k(a))}}}return He(a),!0},eo=function(a,p,I,M){return a.length===0?p:p===I||p===M?Ce(p):p},to=function(a,p){if(Qe(X.beforeSanitizeElements,a,null),a!==p&&g(a)===null)return Gt&&Et(a),!0;if(Ut(a))return He(a),!0;const I=oe(w?w(a):a.nodeName);if(j=eo(X.uponSanitizeElement,j,je,ot),Qe(X.uponSanitizeElement,a,{tagName:I,allowedTags:j}),a!==p&&g(a)===null)return Gt&&Et(a),!0;if(ii(a,I))return He(a),!0;if(Ye[I]||!(Fe.tagCheck instanceof Function&&Fe.tagCheck(I))&&!j[I]){const K=si(a,I,p);return K===!1&&Qe(X.afterSanitizeElements,a,null),K}if((C?C(a):a.nodeType)===be.element&&!ni(a)||(I==="noscript"||I==="noembed"||I==="noframes")&&he(gc,a.innerHTML))return He(a),!0;if(Y&&a.nodeType===be.text){const K=Ht(a.textContent);a.textContent!==K&&(at(t.removed,{element:a.cloneNode()}),a.textContent=K)}return Qe(X.afterSanitizeElements,a,null),!1},no=function(a,p,I){if(kt[p]||J&&p==="patchsrc"||J&&p==="for"&&a!=="label"&&a!=="output"||ae&&(p==="id"||p==="name")&&(I in n||I in $r))return!1;const M=Z[p]||Fe.attributeCheck instanceof Function&&Fe.attributeCheck(p,a);if(!(G&&he(ne,p))){if(!(D&&he(V,p))){if(M){if(!rn[p]){if(!he(we,It(I,ye,""))){if(!((p==="src"||p==="xlink:href"||p==="href")&&a!=="script"&&Mo(I,"data:")===0&&Vn[a])){if(!(W&&!he(Be,It(I,ye,"")))){if(I)return!1}}}}}else if(!(oo(a)&&(L.tagNameCheck instanceof RegExp&&he(L.tagNameCheck,a)||L.tagNameCheck instanceof Function&&L.tagNameCheck(a))&&(L.attributeNameCheck instanceof RegExp&&he(L.attributeNameCheck,p)||L.attributeNameCheck instanceof Function&&L.attributeNameCheck(p,a))||p==="is"&&L.allowCustomizedBuiltInElements&&(L.tagNameCheck instanceof RegExp&&he(L.tagNameCheck,I)||L.tagNameCheck instanceof Function&&L.tagNameCheck(I))))return!1}}return!0},Ai=P({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),oo=function(a){return!Ai[Bt(a)]&&he(ze,a)},li=function(a,p,I,M){if(S&&typeof f=="object"&&typeof f.getAttributeType=="function"&&!I)switch(f.getAttributeType(a,p)){case"TrustedHTML":return z(M);case"TrustedScriptURL":return $(M)}return M},ci=function(a,p,I,M){try{I?a.setAttributeNS(I,p,M):a.setAttribute(p,M),Ut(a)?He(a):To(t.removed)}catch{Xe(p,a)}},ro=function(a){Qe(X.beforeSanitizeAttributes,a,null);const p=a.attributes;if(!p||Ut(a))return;Z=eo(X.uponSanitizeAttribute,Z,Oe,ee);const I={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Z,forceKeepAttr:void 0};let M=p.length;const K=oe(a.nodeName);for(;M--;){const O=p[M],q=O.name,re=O.namespaceURI,Ee=O.value,De=oe(q),dn=Ee;let _e=q==="value"?dn:ql(dn);if(I.attrName=De,I.attrValue=_e,I.keepAttr=!0,I.forceKeepAttr=void 0,Qe(X.uponSanitizeAttribute,a,I),_e=I.attrValue,tn&&(De==="id"||De==="name")&&Mo(_e,Un)!==0&&(Xe(q,a),_e=Un+_e),J&&he(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,_e)){Xe(q,a);continue}if(De==="attributename"&&Qo(_e,"href")){Xe(q,a);continue}if(!I.forceKeepAttr){if(!I.keepAttr){Xe(q,a);continue}if(!R&&he(Cc,_e)){Xe(q,a);continue}if(Y&&(_e=Ht(_e)),!no(K,De,_e)){Xe(q,a);continue}_e=li(K,De,re,_e),_e!==dn&&ci(a,q,re,_e)}}Qe(X.afterSanitizeAttributes,a,null)},Vt=function(a){let p=null;const I=qn(a);for(Qe(X.beforeSanitizeShadowDOM,a,null);p=I.nextNode();)if(Qe(X.uponSanitizeShadowNode,p,null),to(p,a),ro(p),lt(p.content)&&Vt(p.content),(C?C(p):p.nodeType)===be.element){const K=b(p);lt(K)&&(hn(K),Vt(K))}Qe(X.afterSanitizeShadowDOM,a,null)},hn=function(a){const p=[{node:a,shadow:null}];for(;p.length>0;){const I=p.pop();if(I.shadow){Vt(I.shadow);continue}const M=I.node,O=(C?C(M):M.nodeType)===be.element,q=E(M);if(q)for(let re=q.length-1;re>=0;--re)p.push({node:q[re],shadow:null});if(O){const re=w?w(M):null;if(typeof re=="string"&&oe(re)==="template"){const Ee=M.content;lt(Ee)&&p.push({node:Ee,shadow:null})}}if(O){const re=b(M);lt(re)&&p.push({node:null,shadow:re},{node:re,shadow:null})}}};return t.sanitize=function(x){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},p=null,I=null,M=null,K=null;if(sn=!x,sn&&(x="<!-->"),typeof x!="string"&&!Dt(x)&&(x=rc(x),typeof x!="string"))throw qe("dirty is not a string, aborting");if(!t.isSupported)return x;se?(j=ot,Z=ee):an(a),(X.uponSanitizeElement.length>0||X.uponSanitizeAttribute.length>0)&&(j=Ce(j)),X.uponSanitizeAttribute.length>0&&(Z=Ce(Z)),t.removed=[];const O=Gt&&typeof x!="string"&&Dt(x);if(O){ri(x);const Ee=w?w(x):x.nodeName;if(typeof Ee=="string"){const De=oe(Ee);if(!j[De]||Ye[De])throw Ot(x),qe("root node is forbidden and cannot be sanitized in-place")}if(Ut(x))throw Ot(x),qe("root node is clobbered and cannot be sanitized in-place");try{hn(x)}catch(De){throw Ot(x),De}}else if(Dt(x))p=$n("<!---->"),I=p.ownerDocument.importNode(x,!0),I.nodeType===be.element&&I.nodeName==="BODY"||I.nodeName==="HTML"?p=I:p.appendChild(I),hn(I);else{if(!Ae&&!Y&&!Ie&&x.indexOf("<")===-1)return S&&Ne?z(x):x;if(p=$n(x),!p)return Ae?null:Ne?B:""}p&&pe&&He(p.firstChild);const q=O?x:p;try{const Ee=qn(q);for(;M=Ee.nextNode();)to(M,q),ro(M),lt(M.content)&&Vt(M.content)}catch(Ee){throw O&&(Ot(x),ct(t.removed,De=>{De.element&&Et(De.element)})),Ee}if(O)return ct(t.removed,Ee=>{Ee.element&&Et(Ee.element)}),Y&&un(x),x;if(Ae){if(Y&&un(p),rt)for(K=gt.call(p.ownerDocument);p.firstChild;)K.appendChild(p.firstChild);else K=p;return(Z.shadowroot||Z.shadowrootmode)&&(K=tt.call(r,K,!0)),K}let re=Ie?p.outerHTML:p.innerHTML;return Ie&&j["!doctype"]&&p.ownerDocument&&p.ownerDocument.doctype&&p.ownerDocument.doctype.name&&he(pc,p.ownerDocument.doctype.name)&&(re="<!DOCTYPE "+p.ownerDocument.doctype.name+`>
56
+ `+re),Y&&(re=Ht(re)),S&&Ne?z(re):re},t.setConfig=function(){let x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};an(x),se=!0,ot=j,ee=Z},t.clearConfig=function(){At=null,se=!1,ot=null,ee=null,S=y,B=""},t.isValidAttribute=function(x,a,p){At||an({});const I=oe(x),M=oe(a);return no(I,M,p)},t.addHook=function(x,a){typeof a=="function"&&fe(X,x)&&at(X[x],a)},t.removeHook=function(x,a){if(fe(X,x)){if(a!==void 0){const p=Xl(X[x],a);return p===-1?void 0:$l(X[x],p,1)[0]}return To(X[x])}},t.removeHooks=function(x){fe(X,x)&&(X[x]=[])},t.removeAllHooks=function(){X=Lo()},t}var yc=Hr();const Xt=new Hl({html:!1,linkify:!0,breaks:!0}),Ec=Xt.renderer.rules.fence;Xt.renderer.rules.fence=(e,t,n,r,o)=>{var u;const A=((u=e[t].info)==null?void 0:u.trim().split(/\s+/)[0])||"",l=Xt.utils.escapeHtml(A)||"code",c=Ec(e,t,n,r,o);return`<div class="md-code-block"><div class="md-code-block__head"><span class="md-code-block__lang">${l}</span><span class="md-code-block__copy" data-md-copy>复制</span></div>`+c+"</div>"};function Dc(e){if(!e)return"";const t=Xt.render(e);return yc.sanitize(t)}function Ur(e){return/\.tiff?$/i.test(e)}function Ic(e){var t;try{const n=e.slice(0,e.indexOf(",")),r=e.slice(e.indexOf(",")+1),o=((t=n.match(/^data:([^;]+)/))==null?void 0:t[1])||"",i=atob(r),A=new Uint8Array(i.length);for(let l=0;l<i.length;l++)A[l]=i.charCodeAt(l);return new Blob([A],{type:o})}catch{return null}}function Vr(e){var t;return e.blob instanceof Blob?e.blob:(t=e.data)!=null&&t.startsWith("data:")?Ic(e.data):null}const bc={class:"message-avatar"},Bc={class:"message-body"},wc={class:"message-time"},Fc={key:0,class:"message-files"},xc=["src","alt","onClick"],vc={class:"file-info"},Sc={class:"file-name"},Nc={class:"file-size"},Rc={key:1,class:"message-user-text"},Tc={class:"message-actions"},Qc={key:0,class:"message-reasoning"},Mc={key:0,class:"reasoning-content"},Kc=["innerHTML"],Gc={key:3,class:"typing-dots"},Wc={key:4,class:"message-error"},Yc=s.defineComponent({__name:"ChatMessage",props:{message:{},toolPackages:{},mdTableClick:{type:Boolean},mdListClick:{type:Boolean}},emits:["execute"],setup(e,{emit:t}){const n=e,r=t,o=s.computed(()=>Dc(n.message.content)),i=s.computed(()=>!!n.message.hideMarkdown),A=s.ref(!1),l=s.ref([]),c=s.ref(0),u=[];function d(B){var F;if((F=B.data)!=null&&F.startsWith("data:"))return B.data;const y=Vr(B);if(y){const N=URL.createObjectURL(y);return u.push(N),N}return""}function f(B){var N;const y=(N=n.message.files)==null?void 0:N.filter(U=>U.type.startsWith("image/")).map(d).filter(Boolean);if(!(y!=null&&y.length))return;const F=d(B);c.value=Math.max(0,y.indexOf(F)),l.value=y}function _(){u.forEach(B=>URL.revokeObjectURL(B)),u.length=0,l.value=[]}function m(B){if(!B)return"";const y=new Date(B),F=String(y.getHours()).padStart(2,"0"),N=String(y.getMinutes()).padStart(2,"0");return`${F}:${N}`}function h(B){var F;if(B.type!=="component"||!B.componentName)return null;let y=B.packageId?n.toolPackages.find(N=>N.id===B.packageId):null;return y||(y=n.toolPackages.find(N=>N.components&&B.componentName in N.components)),y||(y=n.toolPackages[n.toolPackages.length-1]),y&&((F=y.components)==null?void 0:F[B.componentName])||null}function k(B){r("execute",B)}function E(){const B=window.getSelection();return!!B&&B.toString().length>0}async function g(B){try{await navigator.clipboard.writeText(B),ht.ElMessage.success("已复制")}catch{ht.ElMessage.error("复制失败,请手动复制")}}async function b(){await g(n.message.content)}async function v(B){var N;const y=B.closest("[data-md-copy]");if(!y)return;const F=(N=y.closest(".md-code-block"))==null?void 0:N.querySelector("pre code");F!=null&&F.textContent&&await g(F.textContent)}function C(B){const y=[];let F=B.nextElementSibling;for(;F&&!/^H[1-6]$/.test(F.tagName);)y.push(F),F=F.nextElementSibling;const N=B.hasAttribute("data-collapsed");B.toggleAttribute("data-collapsed",!N),y.forEach(U=>{U.style.display=N?"":"none"})}async function w(B){var N;const y=B.querySelector("td, th"),F=(N=y==null?void 0:y.textContent)==null?void 0:N.trim();F&&r("execute",`我选择 ${F}`)}function Q(B){var F;const y=(F=B.textContent)==null?void 0:F.trim();y&&r("execute",y)}function S(B){if(E())return;const y=B.target;if(y.closest("a"))return;if(y.closest("[data-md-copy]")){v(y);return}const F=y.closest("h1,h2,h3,h4,h5,h6");if(F){C(F);return}if(n.mdTableClick){const N=y.closest("table tr");if(N&&!N.closest("thead")){const U=N.parentElement;U&&/^TBODY$/i.test(U.tagName)&&w(N);return}}if(n.mdListClick){const N=y.closest("li");N&&Q(N)}}return(B,y)=>{var z;const F=s.resolveComponent("el-icon"),N=s.resolveComponent("el-tooltip"),U=s.resolveComponent("el-image-viewer");return s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(["chat-message",[`role-${e.message.role}`,{"is-streaming":e.message.status==="streaming"}]])},[s.createElementVNode("div",bc,[e.message.role==="user"?(s.openBlock(),s.createBlock(F,{key:0},{default:s.withCtx(()=>[s.createVNode(s.unref(ts))]),_:1})):(s.openBlock(),s.createBlock(F,{key:1},{default:s.withCtx(()=>[s.createVNode(s.unref(Ri))]),_:1}))]),s.createElementVNode("div",Bc,[s.createElementVNode("span",wc,s.toDisplayString(m(e.message.timestamp)),1),(z=e.message.files)!=null&&z.length?(s.openBlock(),s.createElementBlock("div",Fc,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.message.files,($,ce)=>{var ue,ve;return s.openBlock(),s.createElementBlock("div",{key:ce,class:s.normalizeClass(["message-file",{"is-image":$.type.startsWith("image/")&&((ue=$.data)==null?void 0:ue.startsWith("data:"))}])},[$.type.startsWith("image/")&&((ve=$.data)!=null&&ve.startsWith("data:"))?(s.openBlock(),s.createElementBlock("img",{key:0,src:$.data,alt:$.name,class:"file-image",onClick:Pe=>f($)},null,8,xc)):(s.openBlock(),s.createBlock(F,{key:1},{default:s.withCtx(()=>[s.createVNode(s.unref(Ar))]),_:1})),s.createElementVNode("div",vc,[s.createElementVNode("span",Sc,s.toDisplayString($.name),1),s.createElementVNode("span",Nc,s.toDisplayString(($.size/1024).toFixed(1))+" KB",1)])],2)}),128))])):s.createCommentVNode("",!0),e.message.role==="user"?(s.openBlock(),s.createElementBlock("div",Rc,s.toDisplayString(e.message.content),1)):s.createCommentVNode("",!0),e.message.role==="assistant"?(s.openBlock(),s.createElementBlock(s.Fragment,{key:2},[s.createElementVNode("div",Tc,[s.createVNode(N,{content:"复制完整回复","show-after":300,placement:"top"},{default:s.withCtx(()=>[s.createElementVNode("button",{class:"message-action-btn",type:"button",onClick:b},[s.createVNode(F,null,{default:s.withCtx(()=>[s.createVNode(s.unref(Ki))]),_:1})])]),_:1})]),e.message.reasoning?(s.openBlock(),s.createElementBlock("div",Qc,[s.createElementVNode("button",{class:"reasoning-toggle",onClick:y[0]||(y[0]=$=>A.value=!A.value)},[s.createVNode(F,{style:{"margin-right":"4px"}},{default:s.withCtx(()=>[s.createVNode(s.unref(Wi))]),_:1}),y[1]||(y[1]=s.createTextVNode(" 推理过程 ",-1)),s.createElementVNode("span",{class:s.normalizeClass(["reasoning-toggle__arrow",{open:A.value}])},"▾",2)]),A.value?(s.openBlock(),s.createElementBlock("pre",Mc,s.toDisplayString(e.message.reasoning),1)):s.createCommentVNode("",!0)])):s.createCommentVNode("",!0),i.value?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("div",{key:1,class:s.normalizeClass(["message-content markdown-body",{"is-table-clickable":e.mdTableClick,"is-list-clickable":e.mdListClick}]),innerHTML:o.value,onClick:S},null,10,Kc)),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.message.renderBlocks,($,ce)=>(s.openBlock(),s.createBlock(lr,{key:ce,block:$,"resolved-component":h($),onSelect:k},null,8,["block","resolved-component"]))),128)),e.message.suggestedNext?(s.openBlock(),s.createBlock(cr,{key:2,text:e.message.suggestedNext,onExecute:k},null,8,["text"])):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0),e.message.status==="streaming"?(s.openBlock(),s.createElementBlock("div",Gc,[...y[2]||(y[2]=[s.createElementVNode("i",null,null,-1),s.createElementVNode("i",null,null,-1),s.createElementVNode("i",null,null,-1)])])):s.createCommentVNode("",!0),e.message.status==="error"?(s.openBlock(),s.createElementBlock("div",Wc,s.toDisplayString(e.message.error),1)):s.createCommentVNode("",!0)]),l.value.length?(s.openBlock(),s.createBlock(U,{key:0,"initial-index":c.value,"url-list":l.value,onClose:_},null,8,["initial-index","url-list"])):s.createCommentVNode("",!0)],2)}}}),Jr=mt(Yc,[["__scopeId","data-v-7317da3a"]]),Oc={class:"chat-input"},Hc={key:0,class:"chat-input__files"},Uc={class:"chat-input__wrap"},Vc={class:"chat-input__actions"},Jc=s.defineComponent({__name:"ChatInput",props:{loading:{type:Boolean},disabled:{type:Boolean},placeholder:{}},emits:["send"],setup(e,{emit:t}){const n=e,r=t,o=s.ref(""),i=s.ref([]),A=s.ref(null),l=s.computed(()=>(o.value.trim().length>0||i.value.length>0)&&!n.disabled);function c(){var g;(g=A.value)==null||g.click()}const u=new Set(["text/plain","text/html","text/css","text/javascript","text/typescript","text/markdown","text/csv","text/xml","application/json","application/xml","application/javascript","application/typescript","application/yaml","application/x-yaml"]);function d(g){var b;if(g.type.startsWith("text/")||u.has(g.type))return!0;if(g.type===""||g.type.startsWith("application/")){const v=(b=g.name.split(".").pop())==null?void 0:b.toLowerCase();return new Set(["txt","md","json","geojson","xml","yml","yaml","csv","ts","js","tsx","jsx","vue","html","css","scss","less","sh","bat","ps1","py","java","c","cpp","h","hpp","go","rs","rb","php","sql","toml","ini","cfg","conf","log","env","gitignore","dockerfile","wkt","wkb","kml","gpx","geojson","topojson","xlsx","docx"]).has(v??"")}return!1}function f(g){return new Promise(b=>{const v={id:"",name:g.name,size:g.size,type:g.type,blob:g};if(Ur(g.name)){b({...v,data:""});return}const C=new FileReader;C.onload=()=>{b({...v,data:C.result})},d(g)?C.readAsText(g):C.readAsDataURL(g)})}async function _(g){var v;const b=g.target;if((v=b.files)!=null&&v.length){for(const C of Array.from(b.files)){const w=await f(C);i.value.push(w)}b.value=""}}function m(g){i.value.splice(g,1)}function h(g){g.shiftKey||(g.preventDefault(),k())}function k(){if(!l.value||n.loading)return;const g=o.value.trim();r("send",g,i.value),o.value="",i.value=[]}function E(){!i.value.length||n.disabled||n.loading||(r("send","预览",i.value),i.value=[])}return(g,b)=>{const v=s.resolveComponent("el-icon"),C=s.resolveComponent("el-tag"),w=s.resolveComponent("el-button"),Q=s.resolveComponent("el-input"),S=s.resolveComponent("el-tooltip");return s.openBlock(),s.createElementBlock("div",Oc,[i.value.length?(s.openBlock(),s.createElementBlock("div",Hc,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(i.value,(B,y)=>(s.openBlock(),s.createBlock(C,{key:y,closable:"",size:"small",type:B.type.startsWith("image/")?"success":"info",onClose:F=>m(y)},{default:s.withCtx(()=>[B.type.startsWith("image/")?(s.openBlock(),s.createBlock(v,{key:0,style:{"margin-right":"4px"}},{default:s.withCtx(()=>[s.createVNode(s.unref(ji))]),_:1})):(s.openBlock(),s.createBlock(v,{key:1,style:{"margin-right":"4px"}},{default:s.withCtx(()=>[s.createVNode(s.unref(Ar))]),_:1})),s.createTextVNode(" "+s.toDisplayString(B.name),1)]),_:2},1032,["type","onClose"]))),128)),s.createVNode(w,{class:"chat-input__preview",size:"small",plain:"",disabled:e.disabled||e.loading,onClick:E},{default:s.withCtx(()=>[s.createVNode(v,{style:{"margin-right":"2px"}},{default:s.withCtx(()=>[s.createVNode(s.unref(is))]),_:1}),b[1]||(b[1]=s.createTextVNode("预览 ",-1))]),_:1},8,["disabled"])])):s.createCommentVNode("",!0),s.createElementVNode("div",Uc,[s.createVNode(Q,{modelValue:o.value,"onUpdate:modelValue":b[0]||(b[0]=B=>o.value=B),type:"textarea",autosize:{minRows:1,maxRows:6},resize:"none",placeholder:e.placeholder,onKeydown:s.withKeys(h,["enter"])},null,8,["modelValue","placeholder"]),s.createElementVNode("div",Vc,[s.createVNode(S,{content:"上传文件",placement:"top"},{default:s.withCtx(()=>[s.createVNode(w,{text:"",circle:"",onClick:c},{default:s.withCtx(()=>[s.createVNode(v,null,{default:s.withCtx(()=>[s.createVNode(s.unref(Pi))]),_:1})]),_:1})]),_:1}),s.createElementVNode("input",{ref_key:"fileInputRef",ref:A,type:"file",multiple:"",hidden:"",onChange:_},null,544),s.createVNode(S,{content:"Enter 发送,Shift+Enter 换行",placement:"top"},{default:s.withCtx(()=>[s.createVNode(w,{class:"chat-input__send",type:"primary",icon:s.unref($i),loading:e.loading,disabled:!l.value,circle:"",onClick:k},null,8,["icon","loading","disabled"])]),_:1})])])])}}}),Lr=mt(Jc,[["__scopeId","data-v-e7db63f0"]]),Lc=[{label:"deepseek-V4-flash",value:"deepseek-v4-flash"},{label:"deepseek-v4-pro",value:"deepseek-v4-pro"}],Zc={class:"form-tip"},Pc={class:"temp-row"},zc={class:"temp-val"},jc=s.defineComponent({__name:"ChatSettings",props:{modelValue:{type:Boolean},settings:{},deviceId:{}},emits:["update:modelValue","save"],setup(e,{emit:t}){const n=e,r=t,o=s.ref(n.modelValue);s.watch(()=>n.modelValue,l=>{o.value=l,l&&(i.value={...n.settings})}),s.watch(o,l=>r("update:modelValue",l));const i=s.ref({...n.settings});function A(){r("save",{...i.value}),o.value=!1}return(l,c)=>{const u=s.resolveComponent("el-radio"),d=s.resolveComponent("el-radio-group"),f=s.resolveComponent("el-form-item"),_=s.resolveComponent("el-input"),m=s.resolveComponent("el-link"),h=s.resolveComponent("el-option"),k=s.resolveComponent("el-select"),E=s.resolveComponent("el-slider"),g=s.resolveComponent("el-switch"),b=s.resolveComponent("el-icon"),v=s.resolveComponent("el-tooltip"),C=s.resolveComponent("el-form"),w=s.resolveComponent("el-button"),Q=s.resolveComponent("el-dialog");return s.openBlock(),s.createBlock(Q,{modelValue:o.value,"onUpdate:modelValue":c[11]||(c[11]=S=>o.value=S),title:"AI 助手设置",width:"520px","append-to-body":""},{footer:s.withCtx(()=>[s.createVNode(w,{onClick:c[10]||(c[10]=S=>o.value=!1)},{default:s.withCtx(()=>[...c[23]||(c[23]=[s.createTextVNode("取消",-1)])]),_:1}),s.createVNode(w,{type:"primary",onClick:A},{default:s.withCtx(()=>[...c[24]||(c[24]=[s.createTextVNode("保存",-1)])]),_:1})]),default:s.withCtx(()=>[s.createVNode(C,{model:i.value,"label-width":"110px","label-position":"right"},{default:s.withCtx(()=>[s.createVNode(f,{label:"调用模式"},{default:s.withCtx(()=>[s.createVNode(d,{modelValue:i.value.providerMode,"onUpdate:modelValue":c[0]||(c[0]=S=>i.value.providerMode=S)},{default:s.withCtx(()=>[s.createVNode(u,{value:"direct"},{default:s.withCtx(()=>[...c[12]||(c[12]=[s.createTextVNode("前端直连",-1)])]),_:1}),s.createVNode(u,{value:"proxy"},{default:s.withCtx(()=>[...c[13]||(c[13]=[s.createTextVNode("后端代理",-1)])]),_:1})]),_:1},8,["modelValue"]),c[14]||(c[14]=s.createElementVNode("div",{class:"form-tip"}," 前端直连:API Key 保存在浏览器本地,浏览器直接调用模型 API。 后端代理:由你的后端转发请求,API Key 保存在服务端。 ",-1))]),_:1}),i.value.providerMode==="direct"?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createVNode(f,{label:"API Key"},{default:s.withCtx(()=>[s.createVNode(_,{modelValue:i.value.apiKey,"onUpdate:modelValue":c[1]||(c[1]=S=>i.value.apiKey=S),type:"password",placeholder:"sk-xxxxxxxxxxxxxxxx",clearable:""},null,8,["modelValue"]),s.createElementVNode("div",Zc,[c[16]||(c[16]=s.createTextVNode(" 在 ",-1)),s.createVNode(m,{type:"primary",href:"https://platform.deepseek.com/api_keys",target:"_blank"},{default:s.withCtx(()=>[...c[15]||(c[15]=[s.createTextVNode(" DeepSeek 开放平台 ",-1)])]),_:1}),c[17]||(c[17]=s.createTextVNode(" 获取,仅保存在浏览器本地。 ",-1))])]),_:1}),s.createVNode(f,{label:"接口地址"},{default:s.withCtx(()=>[s.createVNode(_,{modelValue:i.value.baseUrl,"onUpdate:modelValue":c[2]||(c[2]=S=>i.value.baseUrl=S),placeholder:"https://api.deepseek.com",clearable:""},null,8,["modelValue"])]),_:1})],64)):(s.openBlock(),s.createBlock(f,{key:1,label:"代理地址"},{default:s.withCtx(()=>[s.createVNode(_,{modelValue:i.value.proxyUrl,"onUpdate:modelValue":c[3]||(c[3]=S=>i.value.proxyUrl=S),placeholder:"http://localhost:3001/api/chat",clearable:""},null,8,["modelValue"]),c[18]||(c[18]=s.createElementVNode("div",{class:"form-tip"}," 你的后端代理服务地址,API Key 配置在服务端环境变量中。 ",-1))]),_:1})),s.createVNode(f,{label:"模型"},{default:s.withCtx(()=>[s.createVNode(k,{modelValue:i.value.model,"onUpdate:modelValue":c[4]||(c[4]=S=>i.value.model=S),style:{width:"100%"}},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(s.unref(Lc),S=>(s.openBlock(),s.createBlock(h,{key:S.value,label:S.label,value:S.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s.createVNode(f,{label:"温度"},{default:s.withCtx(()=>[s.createElementVNode("div",Pc,[s.createVNode(E,{modelValue:i.value.temperature,"onUpdate:modelValue":c[5]||(c[5]=S=>i.value.temperature=S),disabled:i.value.thinking,min:0,max:2,step:.1,style:{flex:"1"}},null,8,["modelValue","disabled"]),s.createElementVNode("span",zc,s.toDisplayString(i.value.temperature.toFixed(1)),1)]),c[19]||(c[19]=s.createElementVNode("div",{class:"form-tip"}," 思考模式不起作用 ",-1))]),_:1}),s.createVNode(f,{label:"思考模式"},{default:s.withCtx(()=>[s.createVNode(g,{modelValue:i.value.thinking,"onUpdate:modelValue":c[6]||(c[6]=S=>i.value.thinking=S)},null,8,["modelValue"]),c[20]||(c[20]=s.createElementVNode("span",{class:"form-tip-inline"},"开启后模型进行推理/思维链(reasoning),适合复杂任务",-1))]),_:1}),s.createVNode(f,{label:"思考强度"},{default:s.withCtx(()=>[s.createVNode(k,{modelValue:i.value.thinkingEffort,"onUpdate:modelValue":c[7]||(c[7]=S=>i.value.thinkingEffort=S),disabled:!i.value.thinking,style:{width:"100%"}},{default:s.withCtx(()=>[s.createVNode(h,{label:"低",value:"low"}),s.createVNode(h,{label:"高",value:"high"}),s.createVNode(h,{label:"最高",value:"max"})]),_:1},8,["modelValue","disabled"])]),_:1}),s.createVNode(f,{label:"md表格点击"},{default:s.withCtx(()=>[s.createVNode(g,{modelValue:i.value.mdTableClick,"onUpdate:modelValue":c[8]||(c[8]=S=>i.value.mdTableClick=S)},null,8,["modelValue"]),c[21]||(c[21]=s.createElementVNode("span",{class:"form-tip-inline"},'开启后点击回复中的 md 表格行会向助手发送"我选择 X"',-1))]),_:1}),s.createVNode(f,{label:"md列表点击"},{default:s.withCtx(()=>[s.createVNode(g,{modelValue:i.value.mdListClick,"onUpdate:modelValue":c[9]||(c[9]=S=>i.value.mdListClick=S)},null,8,["modelValue"]),c[22]||(c[22]=s.createElementVNode("span",{class:"form-tip-inline"},"开启后点击回复中的列表项会把该项内容作为指令发送",-1))]),_:1}),s.createVNode(f,{label:"设备ID"},{default:s.withCtx(()=>[s.createVNode(_,{"model-value":e.deviceId,readonly:""},{append:s.withCtx(()=>[s.createVNode(v,{content:"该 ID 用于在服务端区分当前浏览器会话,历史消息按此 ID 保存"},{default:s.withCtx(()=>[s.createVNode(b,null,{default:s.withCtx(()=>[s.createVNode(s.unref(Li))]),_:1})]),_:1})]),_:1},8,["model-value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}}),Zr=mt(jc,[["__scopeId","data-v-5879c4da"]]),Xc={class:"chat-panel-root"},$c={class:"ai-fab__label"},qc={class:"chat-panel__title"},ea={class:"chat-panel__ops"},ta={key:0,class:"chat-empty"},na={class:"chat-empty__logo"},oa={key:0,class:"chat-empty__commands"},ra={key:0,class:"chat-panel__error"},ia={class:"chat-panel__footer"},sa={key:0,class:"chat-panel__stop"},Aa=s.defineComponent({__name:"ChatPanel",props:{chat:{},options:{},showFab:{type:Boolean,default:!0}},setup(e){const t=e,n={get_current_time:{label:"现在几点",text:"现在几点了?"},calculate_expression:{label:"帮我计算",text:"帮我计算 (1+2)*3"},generate_uuid:{label:"生成 UUID",text:"帮我生成一个 UUID"},get_client_info:{label:"客户端信息",text:"获取我的客户端信息"}};function r(ne){const V=ne??{toolPackages:[]};let Be;return V.suggestedCommands!==void 0?Be=V.suggestedCommands:V.builtInTools===!1?Be=[]:Array.isArray(V.builtInTools)?Be=V.builtInTools.map(ye=>n[ye]).filter(Boolean):Be=Object.values(n),{...V,toolPackages:V.toolPackages??[],suggestedCommands:Be}}const o=t.chat?null:sr(r(t.options)),i=t.chat??o,{messages:A,settings:l,loading:c,errorMsg:u,hasApiKey:d,visible:f,toolPackages:_,sendMessage:m,stopGeneration:h,clearMessages:k,saveSettings:E,deviceId:g,suggestedCommands:b}=i,v=s.ref(!1),C=s.ref(!1),w=s.ref(null),Q=s.ref(null),S=s.ref(null),{pos:B,startDrag:y,consumeMoved:F}=Ao({onDragStart:()=>{N.value=!0}}),N=s.ref(!1),{pos:U,startDrag:z}=Ao({disabled:()=>C.value}),$=s.computed(()=>B.value?{left:`${B.value.x}px`,top:`${B.value.y}px`,right:"auto",bottom:"auto"}:{}),ce=s.computed(()=>C.value||!U.value?{}:{left:`${U.value.x}px`,top:`${U.value.y}px`,right:"auto",bottom:"auto"});function ue(ne){Q.value&&y(ne,Q.value)}function ve(){F()||gt()}function Pe(ne){ne.target.closest(".chat-panel__ops")||S.value&&z(ne,S.value)}function gt(){f.value=!f.value}function Ct(){f.value=!1}function tt(){C.value=!C.value}function X(){s.nextTick(()=>{const ne=w.value;ne&&ne.scrollTo({top:ne.scrollHeight,behavior:"smooth"})})}function Se(ne,V){m(ne,V),X()}function _t(ne){E(ne)}function nt(){ht.ElMessageBox.confirm("确定要清空所有对话记录吗?","提示",{type:"warning",confirmButtonText:"清空",cancelButtonText:"取消"}).then(()=>{k()}).catch(()=>{})}return s.watch(()=>A.value.map(ne=>{var V;return ne.content+ne.status+(((V=ne.renderBlocks)==null?void 0:V.length)||0)}).join("|"),()=>X()),(ne,V)=>{const Be=s.resolveComponent("ChatDotRound"),ye=s.resolveComponent("el-icon"),ze=s.resolveComponent("el-tag"),we=s.resolveComponent("el-button"),j=s.resolveComponent("el-tooltip"),je=s.resolveComponent("SemiSelect"),Z=s.resolveComponent("el-alert");return s.openBlock(),s.createElementBlock("div",Xc,[e.showFab?(s.openBlock(),s.createElementBlock("div",{key:0,ref_key:"fabRef",ref:Q,class:s.normalizeClass(["ai-fab",{"ai-fab--active":s.unref(f),"ai-fab--dragged":N.value}]),style:s.normalizeStyle($.value),onPointerdown:ue,onClick:ve},[s.createElementVNode("span",$c,s.toDisplayString(s.unref(f)?"收起":"AI 助手"),1)],38)):s.createCommentVNode("",!0),s.createVNode(s.Transition,{name:"panel"},{default:s.withCtx(()=>{var Oe;return[s.withDirectives(s.createElementVNode("div",{ref_key:"panelRef",ref:S,class:s.normalizeClass(["chat-panel",{"chat-panel--fullscreen":C.value}]),style:s.normalizeStyle(ce.value)},[s.createElementVNode("div",{class:"chat-panel__header",onPointerdown:Pe},[s.createElementVNode("div",qc,[s.createVNode(ye,{class:"title-icon"},{default:s.withCtx(()=>[s.createVNode(Be)]),_:1}),V[5]||(V[5]=s.createElementVNode("span",null,"AI 智能助手",-1)),s.unref(d)?(s.openBlock(),s.createBlock(ze,{key:0,size:"small",type:"success",effect:"plain"},{default:s.withCtx(()=>[...V[3]||(V[3]=[s.createTextVNode("已配置",-1)])]),_:1})):(s.openBlock(),s.createBlock(ze,{key:1,size:"small",type:"warning",effect:"plain"},{default:s.withCtx(()=>[...V[4]||(V[4]=[s.createTextVNode("未配置",-1)])]),_:1}))]),s.createElementVNode("div",ea,[s.createVNode(j,{content:"设置",placement:"bottom"},{default:s.withCtx(()=>[s.createVNode(we,{text:"",circle:"",onClick:V[0]||(V[0]=L=>v.value=!0)},{default:s.withCtx(()=>[s.createVNode(ye,null,{default:s.withCtx(()=>[s.createVNode(s.unref(lo))]),_:1})]),_:1})]),_:1}),s.createVNode(j,{content:"清空对话",placement:"bottom"},{default:s.withCtx(()=>[s.createVNode(we,{text:"",circle:"",disabled:!s.unref(A).length,onClick:nt},{default:s.withCtx(()=>[s.createVNode(ye,null,{default:s.withCtx(()=>[s.createVNode(s.unref(Oi))]),_:1})]),_:1},8,["disabled"])]),_:1}),s.createVNode(j,{content:C.value?"退出全屏":"全屏",placement:"bottom"},{default:s.withCtx(()=>[s.createVNode(we,{text:"",circle:"",onClick:tt},{default:s.withCtx(()=>[C.value?(s.openBlock(),s.createBlock(ye,{key:1},{default:s.withCtx(()=>[s.createVNode(je)]),_:1})):(s.openBlock(),s.createBlock(ye,{key:0},{default:s.withCtx(()=>[s.createVNode(s.unref(Vi))]),_:1}))]),_:1})]),_:1},8,["content"]),s.createVNode(j,{content:"关闭",placement:"bottom"},{default:s.withCtx(()=>[s.createVNode(we,{text:"",circle:"",onClick:Ct},{default:s.withCtx(()=>[s.createVNode(ye,null,{default:s.withCtx(()=>[s.createVNode(s.unref(Qi))]),_:1})]),_:1})]),_:1})])],32),s.createElementVNode("div",{ref_key:"scrollRef",ref:w,class:"chat-panel__body"},[s.unref(A).length?(s.openBlock(!0),s.createElementBlock(s.Fragment,{key:1},s.renderList(s.unref(A),L=>(s.openBlock(),s.createBlock(Jr,{key:L.id,message:L,"tool-packages":s.unref(_),"md-table-click":s.unref(l).mdTableClick,"md-list-click":s.unref(l).mdListClick,onExecute:Se},null,8,["message","tool-packages","md-table-click","md-list-click"]))),128)):(s.openBlock(),s.createElementBlock("div",ta,[s.createElementVNode("div",na,[s.createVNode(ye,null,{default:s.withCtx(()=>[s.createVNode(Be)]),_:1})]),V[7]||(V[7]=s.createElementVNode("h3",null,"你好,我是系统 AI 助手",-1)),V[8]||(V[8]=s.createElementVNode("p",{class:"chat-empty__desc"},[s.createTextVNode(" 我可以帮你"),s.createElementVNode("span",{class:"hl"},"查询数据"),s.createTextVNode("、"),s.createElementVNode("span",{class:"hl"},"执行操作"),s.createTextVNode("。试试输入指令: ")],-1)),(Oe=s.unref(b))!=null&&Oe.length?(s.openBlock(),s.createElementBlock("div",oa,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(s.unref(b),L=>(s.openBlock(),s.createBlock(we,{key:L.text,size:"small",type:"primary",round:"",plain:"",onClick:Ye=>Se(L.text)},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(L.label),1)]),_:2},1032,["onClick"]))),128))])):s.createCommentVNode("",!0),s.unref(d)?s.createCommentVNode("",!0):(s.openBlock(),s.createBlock(we,{key:1,type:"primary",icon:s.unref(lo),onClick:V[1]||(V[1]=L=>v.value=!0)},{default:s.withCtx(()=>[...V[6]||(V[6]=[s.createTextVNode(" 先配置 API Key ",-1)])]),_:1},8,["icon"]))]))],512),s.createVNode(s.Transition,{name:"fade"},{default:s.withCtx(()=>[s.unref(u)?(s.openBlock(),s.createElementBlock("div",ra,[s.createVNode(Z,{title:s.unref(u),type:"error","show-icon":"",closable:!1},null,8,["title"])])):s.createCommentVNode("",!0)]),_:1}),s.createElementVNode("div",ia,[s.unref(c)?(s.openBlock(),s.createElementBlock("div",sa,[s.createVNode(we,{size:"small",icon:s.unref(os),onClick:s.unref(h)},{default:s.withCtx(()=>[...V[9]||(V[9]=[s.createTextVNode("停止生成",-1)])]),_:1},8,["icon","onClick"])])):s.createCommentVNode("",!0),s.createVNode(Lr,{loading:s.unref(c),placeholder:s.unref(d)?"输入指令...":"请先配置 API Key",onSend:Se},null,8,["loading","placeholder"])]),s.createVNode(Zr,{modelValue:v.value,"onUpdate:modelValue":V[2]||(V[2]=L=>v.value=L),settings:s.unref(l),"device-id":s.unref(g),onSave:_t},null,8,["modelValue","settings","device-id"])],6),[[s.vShow,s.unref(f)]])]}),_:1})])}}}),la=mt(Aa,[["__scopeId","data-v-bc711bbf"]]);function ca(e){if(typeof e!="string")return e;try{const t=JSON.parse(e);return t!==null&&(typeof t=="object"||Array.isArray(t))?t:e}catch{return e}}const aa=Object.freeze(Object.defineProperty({__proto__:null,parseStringToObject:ca},Symbol.toStringTag,{value:"Module"}));exports.Agent=Zo;exports.BUILTIN_TOOL_PACKAGE=wt;exports.ChatInput=Lr;exports.ChatMessageComp=Jr;exports.ChatPanel=la;exports.ChatSettingsComp=Zr;exports.DEFAULT_SETTINGS=zt;exports.EventBus=Kn;exports.ParseUtils=aa;exports.RenderBlockComp=lr;exports.SuggestedNext=cr;exports.ToolRegistry=Po;exports.blobFromAttachment=Vr;exports.buildSystemPrompt=$o;exports.createAgentBridge=nr;exports.createDeepSeekProvider=zo;exports.createEventBus=Bi;exports.createProxyProvider=jo;exports.getDefaultBridge=or;exports.getDefaultEventBus=$t;exports.isTifFile=Ur;exports.resolveRenderBlock=yi;exports.runBuiltinToolHandler=qo;exports.setBridgeBus=rr;exports.useAgentChat=sr;exports.usePageAgentBridge=wi;