@tensorix/metahub 0.1.9 → 0.1.11

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.
Files changed (93) hide show
  1. package/README.md +19 -6
  2. package/README.zh-CN.md +7 -2
  3. package/dist/cli.js +4130 -2200
  4. package/dist/cli.js.map +54 -46
  5. package/dist/core/compact.d.ts +42 -0
  6. package/dist/core/compact.d.ts.map +1 -0
  7. package/dist/core/config.d.ts +3 -3
  8. package/dist/core/config.d.ts.map +1 -1
  9. package/dist/core/context.d.ts +4 -4
  10. package/dist/core/context.d.ts.map +1 -1
  11. package/dist/core/crdt.d.ts +30 -7
  12. package/dist/core/crdt.d.ts.map +1 -1
  13. package/dist/core/databases.d.ts +22 -8
  14. package/dist/core/databases.d.ts.map +1 -1
  15. package/dist/core/db.d.ts +1 -27
  16. package/dist/core/db.d.ts.map +1 -1
  17. package/dist/core/documents.d.ts +30 -15
  18. package/dist/core/documents.d.ts.map +1 -1
  19. package/dist/core/driver.d.ts +25 -0
  20. package/dist/core/driver.d.ts.map +1 -0
  21. package/dist/core/errors.d.ts +32 -0
  22. package/dist/core/errors.d.ts.map +1 -0
  23. package/dist/core/history.d.ts +174 -0
  24. package/dist/core/history.d.ts.map +1 -0
  25. package/dist/core/hlc.d.ts +3 -3
  26. package/dist/core/hlc.d.ts.map +1 -1
  27. package/dist/core/index.d.ts +2 -0
  28. package/dist/core/index.d.ts.map +1 -1
  29. package/dist/core/indexing.d.ts +4 -4
  30. package/dist/core/indexing.d.ts.map +1 -1
  31. package/dist/core/integrity.d.ts +1 -1
  32. package/dist/core/integrity.d.ts.map +1 -1
  33. package/dist/core/node.d.ts +2 -2
  34. package/dist/core/node.d.ts.map +1 -1
  35. package/dist/core/properties.d.ts +10 -9
  36. package/dist/core/properties.d.ts.map +1 -1
  37. package/dist/core/records.d.ts +13 -8
  38. package/dist/core/records.d.ts.map +1 -1
  39. package/dist/core/resolve.d.ts +4 -4
  40. package/dist/core/resolve.d.ts.map +1 -1
  41. package/dist/core/schema-init.d.ts +37 -0
  42. package/dist/core/schema-init.d.ts.map +1 -0
  43. package/dist/core/schema.d.ts +1 -1
  44. package/dist/core/schema.d.ts.map +1 -1
  45. package/dist/core/search.d.ts +3 -3
  46. package/dist/core/search.d.ts.map +1 -1
  47. package/dist/core/sites-core.d.ts +60 -0
  48. package/dist/core/sites-core.d.ts.map +1 -0
  49. package/dist/core/sites.d.ts +11 -52
  50. package/dist/core/sites.d.ts.map +1 -1
  51. package/dist/core/snapshot.d.ts.map +1 -1
  52. package/dist/core/sqlcols.d.ts +4 -0
  53. package/dist/core/sqlcols.d.ts.map +1 -0
  54. package/dist/core/sync/auth.d.ts +5 -3
  55. package/dist/core/sync/auth.d.ts.map +1 -1
  56. package/dist/core/sync/client.d.ts +11 -3
  57. package/dist/core/sync/client.d.ts.map +1 -1
  58. package/dist/core/sync/files.d.ts.map +1 -1
  59. package/dist/core/sync/openapi.d.ts +5 -2
  60. package/dist/core/sync/openapi.d.ts.map +1 -1
  61. package/dist/core/sync/pairing.d.ts.map +1 -1
  62. package/dist/core/sync/peers-routes.d.ts +1 -1
  63. package/dist/core/sync/peers-routes.d.ts.map +1 -1
  64. package/dist/core/sync/peers.d.ts +10 -10
  65. package/dist/core/sync/peers.d.ts.map +1 -1
  66. package/dist/core/sync/protocol.d.ts +5 -0
  67. package/dist/core/sync/protocol.d.ts.map +1 -1
  68. package/dist/core/sync/routes.d.ts +4 -0
  69. package/dist/core/sync/routes.d.ts.map +1 -1
  70. package/dist/core/sync/server.d.ts +24 -1
  71. package/dist/core/sync/server.d.ts.map +1 -1
  72. package/dist/core/sync/sites-routes.d.ts +1 -1
  73. package/dist/core/sync/sites-routes.d.ts.map +1 -1
  74. package/dist/db-worker.js +268 -0
  75. package/dist/index.d.ts +2 -0
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +3254 -1865
  78. package/dist/index.js.map +36 -31
  79. package/dist/metahub-sdk.js +1 -0
  80. package/dist/mh-runtime.js +1 -0
  81. package/dist/sqlite3.wasm +0 -0
  82. package/dist/sw.js +1 -0
  83. package/dist/{core/sync/webui.d.ts → webui/server/assets.d.ts} +9 -6
  84. package/dist/webui/server/assets.d.ts.map +1 -0
  85. package/dist/webui/server/icons.d.ts +4 -0
  86. package/dist/webui/server/icons.d.ts.map +1 -0
  87. package/dist/webui/server/routes.d.ts +3 -0
  88. package/dist/webui/server/routes.d.ts.map +1 -0
  89. package/dist/webui.js +57 -57
  90. package/package.json +3 -1
  91. package/dist/core/sync/webui-routes.d.ts +0 -3
  92. package/dist/core/sync/webui-routes.d.ts.map +0 -1
  93. package/dist/core/sync/webui.d.ts.map +0 -1
package/dist/webui.js CHANGED
@@ -1,59 +1,60 @@
1
- var i1=Object.create;var{getPrototypeOf:a1,defineProperty:j8,getOwnPropertyNames:d1}=Object;var r1=Object.prototype.hasOwnProperty;function l1(Z){return this[Z]}var n1,t1,o1=(Z,J,Q)=>{var $=Z!=null&&typeof Z==="object";if($){var q=J?n1??=new WeakMap:t1??=new WeakMap,X=q.get(Z);if(X)return X}Q=Z!=null?i1(a1(Z)):{};let W=J||!Z||!Z.__esModule?j8(Q,"default",{value:Z,enumerable:!0}):Q;for(let G of d1(Z))if(!r1.call(W,G))j8(W,G,{get:l1.bind(Z,G),enumerable:!0});if($)q.set(Z,W);return W};var L0=(Z,J)=>()=>(J||Z((J={exports:{}}).exports,J),J.exports);var l4=L0((S$,r4)=>{function S4(Z){if(Z instanceof Map)Z.clear=Z.delete=Z.set=function(){throw Error("map is read-only")};else if(Z instanceof Set)Z.add=Z.clear=Z.delete=function(){throw Error("set is read-only")};return Object.freeze(Z),Object.getOwnPropertyNames(Z).forEach((J)=>{let Q=Z[J],$=typeof Q;if(($==="object"||$==="function")&&!Object.isFrozen(Q))S4(Q)}),Z}class eZ{constructor(Z){if(Z.data===void 0)Z.data={};this.data=Z.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function T4(Z){return Z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function q9(Z,...J){let Q=Object.create(null);for(let $ in Z)Q[$]=Z[$];return J.forEach(function($){for(let q in $)Q[q]=$[q]}),Q}var a7="</span>",k4=(Z)=>{return!!Z.scope},d7=(Z,{prefix:J})=>{if(Z.startsWith("language:"))return Z.replace("language:","language-");if(Z.includes(".")){let Q=Z.split(".");return[`${J}${Q.shift()}`,...Q.map(($,q)=>`${$}${"_".repeat(q+1)}`)].join(" ")}return`${J}${Z}`};class g4{constructor(Z,J){this.buffer="",this.classPrefix=J.classPrefix,Z.walk(this)}addText(Z){this.buffer+=T4(Z)}openNode(Z){if(!k4(Z))return;let J=d7(Z.scope,{prefix:this.classPrefix});this.span(J)}closeNode(Z){if(!k4(Z))return;this.buffer+=a7}value(){return this.buffer}span(Z){this.buffer+=`<span class="${Z}">`}}var f4=(Z={})=>{let J={children:[]};return Object.assign(J,Z),J};class Z8{constructor(){this.rootNode=f4(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(Z){this.top.children.push(Z)}openNode(Z){let J=f4({scope:Z});this.add(J),this.stack.push(J)}closeNode(){if(this.stack.length>1)return this.stack.pop();return}closeAllNodes(){while(this.closeNode());}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(Z){return this.constructor._walk(Z,this.rootNode)}static _walk(Z,J){if(typeof J==="string")Z.addText(J);else if(J.children)Z.openNode(J),J.children.forEach((Q)=>this._walk(Z,Q)),Z.closeNode(J);return Z}static _collapse(Z){if(typeof Z==="string")return;if(!Z.children)return;if(Z.children.every((J)=>typeof J==="string"))Z.children=[Z.children.join("")];else Z.children.forEach((J)=>{Z8._collapse(J)})}}class x4 extends Z8{constructor(Z){super();this.options=Z}addText(Z){if(Z==="")return;this.add(Z)}startScope(Z){this.openNode(Z)}endScope(){this.closeNode()}__addSublanguage(Z,J){let Q=Z.root;if(J)Q.scope=`language:${J}`;this.add(Q)}toHTML(){return new g4(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function D9(Z){if(!Z)return null;if(typeof Z==="string")return Z;return Z.source}function j4(Z){return y9("(?=",Z,")")}function r7(Z){return y9("(?:",Z,")*")}function l7(Z){return y9("(?:",Z,")?")}function y9(...Z){return Z.map((Q)=>D9(Q)).join("")}function n7(Z){let J=Z[Z.length-1];if(typeof J==="object"&&J.constructor===Object)return Z.splice(Z.length-1,1),J;else return{}}function J8(...Z){return"("+(n7(Z).capture?"":"?:")+Z.map(($)=>D9($)).join("|")+")"}function D4(Z){return new RegExp(Z.toString()+"|").exec("").length-1}function t7(Z,J){let Q=Z&&Z.exec(J);return Q&&Q.index===0}var o7=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Q8(Z,{joinWith:J}){let Q=0;return Z.map(($)=>{Q+=1;let q=Q,X=D9($),W="";while(X.length>0){let G=o7.exec(X);if(!G){W+=X;break}if(W+=X.substring(0,G.index),X=X.substring(G.index+G[0].length),G[0][0]==="\\"&&G[1])W+="\\"+String(Number(G[1])+q);else if(W+=G[0],G[0]==="(")Q++}return W}).map(($)=>`(${$})`).join(J)}var s7=/\b\B/,h4="[a-zA-Z]\\w*",z8="[a-zA-Z_]\\w*",m4="\\b\\d+(\\.\\d+)?",u4="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",E4="\\b(0b[01]+)",e7="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",ZJ=(Z={})=>{let J=/^#![ ]*\//;if(Z.binary)Z.begin=y9(J,/.*\b/,Z.binary,/\b.*/);return q9({scope:"meta",begin:J,end:/$/,relevance:0,"on:begin":(Q,$)=>{if(Q.index!==0)$.ignoreMatch()}},Z)},h9={begin:"\\\\[\\s\\S]",relevance:0},JJ={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[h9]},QJ={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[h9]},zJ={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},YZ=function(Z,J,Q={}){let $=q9({scope:"comment",begin:Z,end:J,contains:[]},Q);$.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let q=J8("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return $.contains.push({begin:y9(/[ ]+/,"(",q,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),$},$J=YZ("//","$"),qJ=YZ("/\\*","\\*/"),XJ=YZ("#","$"),WJ={scope:"number",begin:m4,relevance:0},GJ={scope:"number",begin:u4,relevance:0},HJ={scope:"number",begin:E4,relevance:0},FJ={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[h9,{begin:/\[/,end:/\]/,relevance:0,contains:[h9]}]},KJ={scope:"title",begin:h4,relevance:0},YJ={scope:"title",begin:z8,relevance:0},UJ={begin:"\\.\\s*"+z8,relevance:0},yJ=function(Z){return Object.assign(Z,{"on:begin":(J,Q)=>{Q.data._beginMatch=J[1]},"on:end":(J,Q)=>{if(Q.data._beginMatch!==J[1])Q.ignoreMatch()}})},FZ=Object.freeze({__proto__:null,APOS_STRING_MODE:JJ,BACKSLASH_ESCAPE:h9,BINARY_NUMBER_MODE:HJ,BINARY_NUMBER_RE:E4,COMMENT:YZ,C_BLOCK_COMMENT_MODE:qJ,C_LINE_COMMENT_MODE:$J,C_NUMBER_MODE:GJ,C_NUMBER_RE:u4,END_SAME_AS_BEGIN:yJ,HASH_COMMENT_MODE:XJ,IDENT_RE:h4,MATCH_NOTHING_RE:s7,METHOD_GUARD:UJ,NUMBER_MODE:WJ,NUMBER_RE:m4,PHRASAL_WORDS_MODE:zJ,QUOTE_STRING_MODE:QJ,REGEXP_MODE:FJ,RE_STARTERS_RE:e7,SHEBANG:ZJ,TITLE_MODE:KJ,UNDERSCORE_IDENT_RE:z8,UNDERSCORE_TITLE_MODE:YJ});function BJ(Z,J){if(Z.input[Z.index-1]===".")J.ignoreMatch()}function LJ(Z,J){if(Z.className!==void 0)Z.scope=Z.className,delete Z.className}function wJ(Z,J){if(!J)return;if(!Z.beginKeywords)return;if(Z.begin="\\b("+Z.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",Z.__beforeBegin=BJ,Z.keywords=Z.keywords||Z.beginKeywords,delete Z.beginKeywords,Z.relevance===void 0)Z.relevance=0}function PJ(Z,J){if(!Array.isArray(Z.illegal))return;Z.illegal=J8(...Z.illegal)}function CJ(Z,J){if(!Z.match)return;if(Z.begin||Z.end)throw Error("begin & end are not supported with match");Z.begin=Z.match,delete Z.match}function AJ(Z,J){if(Z.relevance===void 0)Z.relevance=1}var OJ=(Z,J)=>{if(!Z.beforeMatch)return;if(Z.starts)throw Error("beforeMatch cannot be used with starts");let Q=Object.assign({},Z);Object.keys(Z).forEach(($)=>{delete Z[$]}),Z.keywords=Q.keywords,Z.begin=y9(Q.beforeMatch,j4(Q.begin)),Z.starts={relevance:0,contains:[Object.assign(Q,{endsParent:!0})]},Z.relevance=0,delete Q.beforeMatch},vJ=["of","and","for","in","not","or","if","then","parent","list","value"],_J="keyword";function p4(Z,J,Q=_J){let $=Object.create(null);if(typeof Z==="string")q(Q,Z.split(" "));else if(Array.isArray(Z))q(Q,Z);else Object.keys(Z).forEach(function(X){Object.assign($,p4(Z[X],J,X))});return $;function q(X,W){if(J)W=W.map((G)=>G.toLowerCase());W.forEach(function(G){let F=G.split("|");$[F[0]]=[X,MJ(F[0],F[1])]})}}function MJ(Z,J){if(J)return Number(J);return NJ(Z)?0:1}function NJ(Z){return vJ.includes(Z.toLowerCase())}var V4={},U9=(Z)=>{console.error(Z)},R4=(Z,...J)=>{console.log(`WARN: ${Z}`,...J)},O9=(Z,J)=>{if(V4[`${Z}/${J}`])return;console.log(`Deprecated as of ${Z}. ${J}`),V4[`${Z}/${J}`]=!0},KZ=Error();function c4(Z,J,{key:Q}){let $=0,q=Z[Q],X={},W={};for(let G=1;G<=J.length;G++)W[G+$]=q[G],X[G+$]=!0,$+=D4(J[G-1]);Z[Q]=W,Z[Q]._emit=X,Z[Q]._multi=!0}function kJ(Z){if(!Array.isArray(Z.begin))return;if(Z.skip||Z.excludeBegin||Z.returnBegin)throw U9("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),KZ;if(typeof Z.beginScope!=="object"||Z.beginScope===null)throw U9("beginScope must be object"),KZ;c4(Z,Z.begin,{key:"beginScope"}),Z.begin=Q8(Z.begin,{joinWith:""})}function fJ(Z){if(!Array.isArray(Z.end))return;if(Z.skip||Z.excludeEnd||Z.returnEnd)throw U9("skip, excludeEnd, returnEnd not compatible with endScope: {}"),KZ;if(typeof Z.endScope!=="object"||Z.endScope===null)throw U9("endScope must be object"),KZ;c4(Z,Z.end,{key:"endScope"}),Z.end=Q8(Z.end,{joinWith:""})}function VJ(Z){if(Z.scope&&typeof Z.scope==="object"&&Z.scope!==null)Z.beginScope=Z.scope,delete Z.scope}function RJ(Z){if(VJ(Z),typeof Z.beginScope==="string")Z.beginScope={_wrap:Z.beginScope};if(typeof Z.endScope==="string")Z.endScope={_wrap:Z.endScope};kJ(Z),fJ(Z)}function IJ(Z){function J(W,G){return new RegExp(D9(W),"m"+(Z.case_insensitive?"i":"")+(Z.unicodeRegex?"u":"")+(G?"g":""))}class Q{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(W,G){G.position=this.position++,this.matchIndexes[this.matchAt]=G,this.regexes.push([G,W]),this.matchAt+=D4(W)+1}compile(){if(this.regexes.length===0)this.exec=()=>null;let W=this.regexes.map((G)=>G[1]);this.matcherRe=J(Q8(W,{joinWith:"|"}),!0),this.lastIndex=0}exec(W){this.matcherRe.lastIndex=this.lastIndex;let G=this.matcherRe.exec(W);if(!G)return null;let F=G.findIndex((Y,K)=>K>0&&Y!==void 0),H=this.matchIndexes[F];return G.splice(0,F),Object.assign(G,H)}}class ${constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(W){if(this.multiRegexes[W])return this.multiRegexes[W];let G=new Q;return this.rules.slice(W).forEach(([F,H])=>G.addRule(F,H)),G.compile(),this.multiRegexes[W]=G,G}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(W,G){if(this.rules.push([W,G]),G.type==="begin")this.count++}exec(W){let G=this.getMatcher(this.regexIndex);G.lastIndex=this.lastIndex;let F=G.exec(W);if(this.resumingScanAtSamePosition())if(F&&F.index===this.lastIndex);else{let H=this.getMatcher(0);H.lastIndex=this.lastIndex+1,F=H.exec(W)}if(F){if(this.regexIndex+=F.position+1,this.regexIndex===this.count)this.considerAll()}return F}}function q(W){let G=new $;if(W.contains.forEach((F)=>G.addRule(F.begin,{rule:F,type:"begin"})),W.terminatorEnd)G.addRule(W.terminatorEnd,{type:"end"});if(W.illegal)G.addRule(W.illegal,{type:"illegal"});return G}function X(W,G){let F=W;if(W.isCompiled)return F;[LJ,CJ,RJ,OJ].forEach((Y)=>Y(W,G)),Z.compilerExtensions.forEach((Y)=>Y(W,G)),W.__beforeBegin=null,[wJ,PJ,AJ].forEach((Y)=>Y(W,G)),W.isCompiled=!0;let H=null;if(typeof W.keywords==="object"&&W.keywords.$pattern)W.keywords=Object.assign({},W.keywords),H=W.keywords.$pattern,delete W.keywords.$pattern;if(H=H||/\w+/,W.keywords)W.keywords=p4(W.keywords,Z.case_insensitive);if(F.keywordPatternRe=J(H,!0),G){if(!W.begin)W.begin=/\B|\b/;if(F.beginRe=J(F.begin),!W.end&&!W.endsWithParent)W.end=/\B|\b/;if(W.end)F.endRe=J(F.end);if(F.terminatorEnd=D9(F.end)||"",W.endsWithParent&&G.terminatorEnd)F.terminatorEnd+=(W.end?"|":"")+G.terminatorEnd}if(W.illegal)F.illegalRe=J(W.illegal);if(!W.contains)W.contains=[];if(W.contains=[].concat(...W.contains.map(function(Y){return bJ(Y==="self"?W:Y)})),W.contains.forEach(function(Y){X(Y,F)}),W.starts)X(W.starts,G);return F.matcher=q(F),F}if(!Z.compilerExtensions)Z.compilerExtensions=[];if(Z.contains&&Z.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return Z.classNameAliases=q9(Z.classNameAliases||{}),X(Z)}function i4(Z){if(!Z)return!1;return Z.endsWithParent||i4(Z.starts)}function bJ(Z){if(Z.variants&&!Z.cachedVariants)Z.cachedVariants=Z.variants.map(function(J){return q9(Z,{variants:null},J)});if(Z.cachedVariants)return Z.cachedVariants;if(i4(Z))return q9(Z,{starts:Z.starts?q9(Z.starts):null});if(Object.isFrozen(Z))return q9(Z);return Z}var SJ="11.11.1";class a4 extends Error{constructor(Z,J){super(Z);this.name="HTMLInjectionError",this.html=J}}var sZ=T4,I4=q9,b4=Symbol("nomatch"),TJ=7,d4=function(Z){let J=Object.create(null),Q=Object.create(null),$=[],q=!0,X="Could not find the language '{}', did you forget to load/include a language module?",W={disableAutodetect:!0,name:"Plain text",contains:[]},G={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:x4};function F(R){return G.noHighlightRe.test(R)}function H(R){let k=R.className+" ";k+=R.parentNode?R.parentNode.className:"";let b=G.languageDetectRe.exec(k);if(b){let M=T(b[1]);if(!M)R4(X.replace("{}",b[1])),R4("Falling back to no-highlight mode for this block.",R);return M?b[1]:"no-highlight"}return k.split(/\s+/).find((M)=>F(M)||T(M))}function Y(R,k,b){let M="",Z0="";if(typeof k==="object")M=R,b=k.ignoreIllegals,Z0=k.language;else O9("10.7.0","highlight(lang, code, ...args) has been deprecated."),O9("10.7.0",`Please use highlight(code, options) instead.
2
- https://github.com/highlightjs/highlight.js/issues/2277`),Z0=R,M=k;if(b===void 0)b=!0;let J0={code:M,language:Z0};h("before:highlight",J0);let Q0=J0.result?J0.result:K(J0.language,J0.code,b);return Q0.code=J0.code,h("after:highlight",Q0),Q0}function K(R,k,b,M){let Z0=Object.create(null);function J0(E,o){return E.keywords[o]}function Q0(){if(!z0.keywords){V0.addText(v0);return}let E=0;z0.keywordPatternRe.lastIndex=0;let o=z0.keywordPatternRe.exec(v0),G0="";while(o){G0+=v0.substring(E,o.index);let U=f0.case_insensitive?o[0].toLowerCase():o[0],O=J0(z0,U);if(O){let[i,V]=O;if(V0.addText(G0),G0="",Z0[U]=(Z0[U]||0)+1,Z0[U]<=TJ)G9+=V;if(i.startsWith("_"))G0+=o[0];else{let m=f0.classNameAliases[i]||i;y0(o[0],m)}}else G0+=o[0];E=z0.keywordPatternRe.lastIndex,o=z0.keywordPatternRe.exec(v0)}G0+=v0.substring(E),V0.addText(G0)}function H0(){if(v0==="")return;let E=null;if(typeof z0.subLanguage==="string"){if(!J[z0.subLanguage]){V0.addText(v0);return}E=K(z0.subLanguage,v0,!0,W9[z0.subLanguage]),W9[z0.subLanguage]=E._top}else E=y(v0,z0.subLanguage.length?z0.subLanguage:null);if(z0.relevance>0)G9+=E.relevance;V0.__addSublanguage(E._emitter,E.language)}function k0(){if(z0.subLanguage!=null)H0();else Q0();v0=""}function y0(E,o){if(E==="")return;V0.startScope(o),V0.addText(E),V0.endScope()}function N(E,o){let G0=1,U=o.length-1;while(G0<=U){if(!E._emit[G0]){G0++;continue}let O=f0.classNameAliases[E[G0]]||E[G0],i=o[G0];if(O)y0(i,O);else v0=i,Q0(),v0="";G0++}}function j(E,o){if(E.scope&&typeof E.scope==="string")V0.openNode(f0.classNameAliases[E.scope]||E.scope);if(E.beginScope){if(E.beginScope._wrap)y0(v0,f0.classNameAliases[E.beginScope._wrap]||E.beginScope._wrap),v0="";else if(E.beginScope._multi)N(E.beginScope,o),v0=""}return z0=Object.create(E,{parent:{value:z0}}),z0}function r(E,o,G0){let U=t7(E.endRe,G0);if(U){if(E["on:end"]){let O=new eZ(E);if(E["on:end"](o,O),O.isMatchIgnored)U=!1}if(U){while(E.endsParent&&E.parent)E=E.parent;return E}}if(E.endsWithParent)return r(E.parent,o,G0)}function t(E){if(z0.matcher.regexIndex===0)return v0+=E[0],1;else return I9=!0,0}function W0(E){let o=E[0],G0=E.rule,U=new eZ(G0),O=[G0.__beforeBegin,G0["on:begin"]];for(let i of O){if(!i)continue;if(i(E,U),U.isMatchIgnored)return t(o)}if(G0.skip)v0+=o;else{if(G0.excludeBegin)v0+=o;if(k0(),!G0.returnBegin&&!G0.excludeBegin)v0=o}return j(G0,E),G0.returnBegin?0:o.length}function C0(E){let o=E[0],G0=k.substring(E.index),U=r(z0,E,G0);if(!U)return b4;let O=z0;if(z0.endScope&&z0.endScope._wrap)k0(),y0(o,z0.endScope._wrap);else if(z0.endScope&&z0.endScope._multi)k0(),N(z0.endScope,E);else if(O.skip)v0+=o;else{if(!(O.returnEnd||O.excludeEnd))v0+=o;if(k0(),O.excludeEnd)v0=o}do{if(z0.scope)V0.closeNode();if(!z0.skip&&!z0.subLanguage)G9+=z0.relevance;z0=z0.parent}while(z0!==U.parent);if(U.starts)j(U.starts,E);return O.returnEnd?0:o.length}function q0(){let E=[];for(let o=z0;o!==f0;o=o.parent)if(o.scope)E.unshift(o.scope);E.forEach((o)=>V0.openNode(o))}let p={};function l(E,o){let G0=o&&o[0];if(v0+=E,G0==null)return k0(),0;if(p.type==="begin"&&o.type==="end"&&p.index===o.index&&G0===""){if(v0+=k.slice(o.index,o.index+1),!q){let U=Error(`0 width match regex (${R})`);throw U.languageName=R,U.badRule=p.rule,U}return 1}if(p=o,o.type==="begin")return W0(o);else if(o.type==="illegal"&&!b){let U=Error('Illegal lexeme "'+G0+'" for mode "'+(z0.scope||"<unnamed>")+'"');throw U.mode=z0,U}else if(o.type==="end"){let U=C0(o);if(U!==b4)return U}if(o.type==="illegal"&&G0==="")return v0+=`
3
- `,1;if(R9>1e5&&R9>o.index*3)throw Error("potential infinite loop, way more iterations than matches");return v0+=G0,G0.length}let f0=T(R);if(!f0)throw U9(X.replace("{}",R)),Error('Unknown language: "'+R+'"');let B0=IJ(f0),n0="",z0=M||B0,W9={},V0=new G.__emitter(G);q0();let v0="",G9=0,s0=0,R9=0,I9=!1;try{if(!f0.__emitTokens){z0.matcher.considerAll();for(;;){if(R9++,I9)I9=!1;else z0.matcher.considerAll();z0.matcher.lastIndex=s0;let E=z0.matcher.exec(k);if(!E)break;let o=k.substring(s0,E.index),G0=l(o,E);s0=E.index+G0}l(k.substring(s0))}else f0.__emitTokens(k,V0);return V0.finalize(),n0=V0.toHTML(),{language:R,value:n0,relevance:G9,illegal:!1,_emitter:V0,_top:z0}}catch(E){if(E.message&&E.message.includes("Illegal"))return{language:R,value:sZ(k),illegal:!0,relevance:0,_illegalBy:{message:E.message,index:s0,context:k.slice(s0-100,s0+100),mode:E.mode,resultSoFar:n0},_emitter:V0};else if(q)return{language:R,value:sZ(k),illegal:!1,relevance:0,errorRaised:E,_emitter:V0,_top:z0};else throw E}}function w(R){let k={value:sZ(R),illegal:!1,relevance:0,_top:W,_emitter:new G.__emitter(G)};return k._emitter.addText(R),k}function y(R,k){k=k||G.languages||Object.keys(J);let b=w(R),M=k.filter(T).filter(c).map((k0)=>K(k0,R,!1));M.unshift(b);let Z0=M.sort((k0,y0)=>{if(k0.relevance!==y0.relevance)return y0.relevance-k0.relevance;if(k0.language&&y0.language){if(T(k0.language).supersetOf===y0.language)return 1;else if(T(y0.language).supersetOf===k0.language)return-1}return 0}),[J0,Q0]=Z0,H0=J0;return H0.secondBest=Q0,H0}function B(R,k,b){let M=k&&Q[k]||b;R.classList.add("hljs"),R.classList.add(`language-${M}`)}function A(R){let k=null,b=H(R);if(F(b))return;if(h("before:highlightElement",{el:R,language:b}),R.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",R);return}if(R.children.length>0){if(!G.ignoreUnescapedHTML)console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(R);if(G.throwUnescapedHTML)throw new a4("One of your code blocks includes unescaped HTML.",R.innerHTML)}k=R;let M=k.textContent,Z0=b?Y(M,{language:b,ignoreIllegals:!0}):y(M);if(R.innerHTML=Z0.value,R.dataset.highlighted="yes",B(R,b,Z0.language),R.result={language:Z0.language,re:Z0.relevance,relevance:Z0.relevance},Z0.secondBest)R.secondBest={language:Z0.secondBest.language,relevance:Z0.secondBest.relevance};h("after:highlightElement",{el:R,result:Z0,text:M})}function v(R){G=I4(G,R)}let f=()=>{L(),O9("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function I(){L(),O9("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let P=!1;function L(){function R(){L()}if(document.readyState==="loading"){if(!P)window.addEventListener("DOMContentLoaded",R,!1);P=!0;return}document.querySelectorAll(G.cssSelector).forEach(A)}function _(R,k){let b=null;try{b=k(Z)}catch(M){if(U9("Language definition for '{}' could not be registered.".replace("{}",R)),!q)throw M;else U9(M);b=W}if(!b.name)b.name=R;if(J[R]=b,b.rawDefinition=k.bind(null,Z),b.aliases)u(b.aliases,{languageName:R})}function C(R){delete J[R];for(let k of Object.keys(Q))if(Q[k]===R)delete Q[k]}function g(){return Object.keys(J)}function T(R){return R=(R||"").toLowerCase(),J[R]||J[Q[R]]}function u(R,{languageName:k}){if(typeof R==="string")R=[R];R.forEach((b)=>{Q[b.toLowerCase()]=k})}function c(R){let k=T(R);return k&&!k.disableAutodetect}function n(R){if(R["before:highlightBlock"]&&!R["before:highlightElement"])R["before:highlightElement"]=(k)=>{R["before:highlightBlock"](Object.assign({block:k.el},k))};if(R["after:highlightBlock"]&&!R["after:highlightElement"])R["after:highlightElement"]=(k)=>{R["after:highlightBlock"](Object.assign({block:k.el},k))}}function d(R){n(R),$.push(R)}function x(R){let k=$.indexOf(R);if(k!==-1)$.splice(k,1)}function h(R,k){let b=R;$.forEach(function(M){if(M[b])M[b](k)})}function K0(R){return O9("10.7.0","highlightBlock will be removed entirely in v12.0"),O9("10.7.0","Please use highlightElement now."),A(R)}Object.assign(Z,{highlight:Y,highlightAuto:y,highlightAll:L,highlightElement:A,highlightBlock:K0,configure:v,initHighlighting:f,initHighlightingOnLoad:I,registerLanguage:_,unregisterLanguage:C,listLanguages:g,getLanguage:T,registerAliases:u,autoDetection:c,inherit:I4,addPlugin:d,removePlugin:x}),Z.debugMode=function(){q=!1},Z.safeMode=function(){q=!0},Z.versionString=SJ,Z.regex={concat:y9,lookahead:j4,either:J8,optional:l7,anyNumberOfTimes:r7};for(let R in FZ)if(typeof FZ[R]==="object")S4(FZ[R]);return Object.assign(Z,FZ),Z},v9=d4({});v9.newInstance=()=>d4({});r4.exports=v9;v9.HighlightJS=v9;v9.default=v9});var t4=L0((T$,n4)=>{function gJ(Z){let J=Z.regex,Q=J.concat(/[\p{L}_]/u,J.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),$=/[\p{L}0-9._:-]+/u,q={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},X={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},W=Z.inherit(X,{begin:/\(/,end:/\)/}),G=Z.inherit(Z.APOS_STRING_MODE,{className:"string"}),F=Z.inherit(Z.QUOTE_STRING_MODE,{className:"string"}),H={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:$,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[q]},{begin:/'/,end:/'/,contains:[q]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[X,F,G,W,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[X,W,F,G]}]}]},Z.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},q,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[F]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[H],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[H],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:J.concat(/</,J.lookahead(J.concat(Q,J.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:Q,relevance:0,starts:H}]},{className:"tag",begin:J.concat(/<\//,J.lookahead(J.concat(Q,/>/))),contains:[{className:"name",begin:Q,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}n4.exports=gJ});var s4=L0((g$,o4)=>{function xJ(Z){let J=Z.regex,Q={},$={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[Q]}]};Object.assign(Q,{className:"variable",variants:[{begin:J.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},$]});let q={className:"subst",begin:/\$\(/,end:/\)/,contains:[Z.BACKSLASH_ESCAPE]},X=Z.inherit(Z.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),W={begin:/<<-?\s*(?=\w+)/,starts:{contains:[Z.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},G={className:"string",begin:/"/,end:/"/,contains:[Z.BACKSLASH_ESCAPE,Q,q]};q.contains.push(G);let F={match:/\\"/},H={className:"string",begin:/'/,end:/'/},Y={match:/\\'/},K={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},Z.NUMBER_MODE,Q]},w=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],y=Z.SHEBANG({binary:`(${w.join("|")})`,relevance:10}),B={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[Z.inherit(Z.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},A=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],v=["true","false"],f={match:/(\/[a-z._-]+)+/},I=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],P=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],L=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],_=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:A,literal:v,built_in:[...I,...P,"set","shopt",...L,..._]},contains:[y,Z.SHEBANG(),B,K,X,W,f,G,F,H,Y,Q]}}o4.exports=xJ});var Z5=L0((x$,e4)=>{function jJ(Z){let J=Z.regex,Q=Z.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),$="decltype\\(auto\\)",q="[a-zA-Z_]\\w*::",X="<[^<>]+>",W="(decltype\\(auto\\)|"+J.optional("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+J.optional("<[^<>]+>")+")",G={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},F="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",H={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[Z.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},Z.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},Y={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},K={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},Z.inherit(H,{className:"string"}),{className:"string",begin:/<.*?>/},Q,Z.C_BLOCK_COMMENT_MODE]},w={className:"title",begin:J.optional("[a-zA-Z_]\\w*::")+Z.IDENT_RE,relevance:0},y=J.optional("[a-zA-Z_]\\w*::")+Z.IDENT_RE+"\\s*\\(",v={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},f=[K,G,Q,Z.C_BLOCK_COMMENT_MODE,Y,H],I={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:v,contains:f.concat([{begin:/\(/,end:/\)/,keywords:v,contains:f.concat(["self"]),relevance:0}]),relevance:0},P={begin:"("+W+"[\\*&\\s]+)+"+y,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:v,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:v,relevance:0},{begin:y,returnBegin:!0,contains:[Z.inherit(w,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:[Q,Z.C_BLOCK_COMMENT_MODE,H,Y,G,{begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:["self",Q,Z.C_BLOCK_COMMENT_MODE,H,Y,G]}]},G,Q,Z.C_BLOCK_COMMENT_MODE,K]};return{name:"C",aliases:["h"],keywords:v,disableAutodetect:!0,illegal:"</",contains:[].concat(I,P,f,[K,{begin:Z.IDENT_RE+"::",keywords:v},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},Z.TITLE_MODE]}]),exports:{preprocessor:K,strings:H,keywords:v}}}e4.exports=jJ});var Q5=L0((j$,J5)=>{function DJ(Z){let J=Z.regex,Q=Z.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),$="decltype\\(auto\\)",q="[a-zA-Z_]\\w*::",X="<[^<>]+>",W="(?!struct)(decltype\\(auto\\)|"+J.optional("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+J.optional("<[^<>]+>")+")",G={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},F="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",H={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[Z.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},Z.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},Y={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},K={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},Z.inherit(H,{className:"string"}),{className:"string",begin:/<.*?>/},Q,Z.C_BLOCK_COMMENT_MODE]},w={className:"title",begin:J.optional("[a-zA-Z_]\\w*::")+Z.IDENT_RE,relevance:0},y=J.optional("[a-zA-Z_]\\w*::")+Z.IDENT_RE+"\\s*\\(",B=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],A=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],v=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],f=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],L={type:A,keyword:B,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:v},_={className:"function.dispatch",relevance:0,keywords:{_hint:f},begin:J.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,Z.IDENT_RE,J.lookahead(/(<[^<>]+>|)\s*\(/))},C=[_,K,G,Q,Z.C_BLOCK_COMMENT_MODE,Y,H],g={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:L,contains:C.concat([{begin:/\(/,end:/\)/,keywords:L,contains:C.concat(["self"]),relevance:0}]),relevance:0},T={className:"function",begin:"("+W+"[\\*&\\s]+)+"+y,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:L,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:L,relevance:0},{begin:y,returnBegin:!0,contains:[w],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[H,Y]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:L,relevance:0,contains:[Q,Z.C_BLOCK_COMMENT_MODE,H,Y,G,{begin:/\(/,end:/\)/,keywords:L,relevance:0,contains:["self",Q,Z.C_BLOCK_COMMENT_MODE,H,Y,G]}]},G,Q,Z.C_BLOCK_COMMENT_MODE,K]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:L,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(g,T,_,C,[K,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:L,contains:["self",G]},{begin:Z.IDENT_RE+"::",keywords:L},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}J5.exports=DJ});var $5=L0((D$,z5)=>{function hJ(Z){let J=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],Q=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],$=["default","false","null","true"],q=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],X=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],W={keyword:q.concat(X),built_in:J,literal:$},G=Z.inherit(Z.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),F={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},H={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},Y={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},K=Z.inherit(Y,{illegal:/\n/}),w={className:"subst",begin:/\{/,end:/\}/,keywords:W},y=Z.inherit(w,{illegal:/\n/}),B={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},Z.BACKSLASH_ESCAPE,y]},A={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},w]},v=Z.inherit(A,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},y]});w.contains=[A,B,Y,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,F,Z.C_BLOCK_COMMENT_MODE],y.contains=[v,B,K,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,F,Z.inherit(Z.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let f={variants:[H,A,B,Y,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},I={begin:"<",end:">",contains:[{beginKeywords:"in out"},G]},P=Z.IDENT_RE+"(<"+Z.IDENT_RE+"(\\s*,\\s*"+Z.IDENT_RE+")*>)?(\\[\\])?",L={begin:"@"+Z.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:W,illegal:/::/,contains:[Z.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},f,F,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},G,I,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[G,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[G,I,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+P+"\\s+)+"+Z.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:W,contains:[{beginKeywords:Q.join(" "),relevance:0},{begin:Z.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[Z.TITLE_MODE,I],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:W,relevance:0,contains:[f,F,Z.C_BLOCK_COMMENT_MODE]},Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},L]}}z5.exports=hJ});var X5=L0((h$,q5)=>{var mJ=(Z)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:Z.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:Z.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},uJ=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],EJ=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],pJ=[...uJ,...EJ],cJ=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),iJ=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),aJ=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),dJ=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function rJ(Z){let J=Z.regex,Q=mJ(Z),$={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},q="and or not only",X=/@-?\w[\w]*(-\w+)*/,W="[a-zA-Z-][a-zA-Z0-9_-]*",G=[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[Q.BLOCK_COMMENT,$,Q.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},Q.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+iJ.join("|")+")"},{begin:":(:)?("+aJ.join("|")+")"}]},Q.CSS_VARIABLE,{className:"attribute",begin:"\\b("+dJ.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[Q.BLOCK_COMMENT,Q.HEXCOLOR,Q.IMPORTANT,Q.CSS_NUMBER_MODE,...G,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...G,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},Q.FUNCTION_DISPATCH]},{begin:J.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:X},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:cJ.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...G,Q.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+pJ.join("|")+")\\b"}]}}q5.exports=rJ});var G5=L0((m$,W5)=>{function lJ(Z){let J=Z.regex,Q={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},$={begin:"^[-\\*]{3,}",end:"$"},q={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},X={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},W={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},G=/[A-Za-z][A-Za-z0-9+.-]*/,F={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:J.concat(/\[.+?\]\(/,G,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},H={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},Y={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},K=Z.inherit(H,{contains:[]}),w=Z.inherit(Y,{contains:[]});H.contains.push(w),Y.contains.push(K);let y=[Q,F];return[H,Y,K,w].forEach((f)=>{f.contains=f.contains.concat(y)}),y=y.concat(H,Y),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:y},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:y}]}]},Q,X,H,Y,{className:"quote",begin:"^>\\s+",contains:y,end:"$"},q,$,F,W,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}W5.exports=lJ});var F5=L0((u$,H5)=>{function nJ(Z){let J=Z.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:J.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:J.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}H5.exports=nJ});var Y5=L0((E$,K5)=>{function tJ(Z){let J=Z.regex,Q="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",$=J.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),q=J.concat($,/(::\w+)*/),W={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},G={className:"doctag",begin:"@[A-Za-z]+"},F={begin:"#<",end:">"},H=[Z.COMMENT("#","$",{contains:[G]}),Z.COMMENT("^=begin","^=end",{contains:[G],relevance:10}),Z.COMMENT("^__END__",Z.MATCH_NOTHING_RE)],Y={className:"subst",begin:/#\{/,end:/\}/,keywords:W},K={className:"string",contains:[Z.BACKSLASH_ESCAPE,Y],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:J.concat(/<<[-~]?'?/,J.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[Z.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[Z.BACKSLASH_ESCAPE,Y]})]}]},w="[1-9](_?[0-9])*|0",y="[0-9](_?[0-9])*",B={className:"number",relevance:0,variants:[{begin:"\\b([1-9](_?[0-9])*|0)(\\.([0-9](_?[0-9])*))?([eE][+-]?([0-9](_?[0-9])*)|r)?i?\\b"},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},A={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:W}]},C=[K,{variants:[{match:[/class\s+/,q,/\s+<\s+/,q]},{match:[/\b(class|module)\s+/,q]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:W},{match:[/(include|extend)\s+/,q],scope:{2:"title.class"},keywords:W},{relevance:0,match:[q,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:$,scope:"title.class"},{match:[/def/,/\s+/,"([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)"],scope:{1:"keyword",3:"title.function"},contains:[A]},{begin:Z.IDENT_RE+"::"},{className:"symbol",begin:Z.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[K,{begin:"([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)"}],relevance:0},B,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:W},{begin:"("+Z.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[Z.BACKSLASH_ESCAPE,Y],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(F,H),relevance:0}].concat(F,H);Y.contains=C,A.contains=C;let g="[>?]>",T="[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]",u="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>",c=[{begin:/^\s*=>/,starts:{end:"$",contains:C}},{className:"meta.prompt",begin:"^("+g+"|"+T+"|"+u+")(?=[ ])",starts:{end:"$",keywords:W,contains:C}}];return H.unshift(F),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:W,illegal:/\/\*/,contains:[Z.SHEBANG({binary:"ruby"})].concat(c).concat(H).concat(C)}}K5.exports=tJ});var y5=L0((p$,U5)=>{function oJ(Z){let X={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:X,illegal:"</",contains:[Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,{className:"string",variants:[Z.QUOTE_STRING_MODE,Z.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[Z.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:X,illegal:/["']/}]}]}}U5.exports=oJ});var L5=L0((c$,B5)=>{function sJ(Z){let J=Z.regex,Q=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[Z.HASH_COMMENT_MODE,Z.QUOTE_STRING_MODE,Z.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:J.concat(Q,J.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}B5.exports=sJ});var P5=L0((i$,w5)=>{function eJ(Z){let J=Z.regex,Q={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:Z.NUMBER_RE}]},$=Z.COMMENT();$.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let q={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},X={className:"literal",begin:/\bon|off|true|false|yes|no\b/},W={className:"string",contains:[Z.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},G={begin:/\[/,end:/\]/,contains:[$,X,q,W,Q,"self"],relevance:0},F=/[A-Za-z0-9_-]+/,H=/"(\\"|[^"])*"/,Y=/'[^']*'/,K=J.either(F,H,Y),w=J.concat(K,"(\\s*\\.\\s*",K,")*",J.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[$,{className:"section",begin:/\[+/,end:/\]+/},{begin:w,className:"attr",starts:{end:/$/,contains:[$,G,X,q,W,Q]}}]}}w5.exports=eJ});var v5=L0((a$,O5)=>{var _9="[0-9](_*[0-9])*",UZ=`\\.(${_9})`,yZ="[0-9a-fA-F](_*[0-9a-fA-F])*",C5={className:"number",variants:[{begin:`(\\b(${_9})((${UZ})|\\.)?|(${UZ}))[eE][+-]?(${_9})[fFdD]?\\b`},{begin:`\\b(${_9})((${UZ})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${UZ})[fFdD]?\\b`},{begin:`\\b(${_9})[fFdD]\\b`},{begin:`\\b0[xX]((${yZ})\\.?|(${yZ})?\\.(${yZ}))[pP][+-]?(${_9})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${yZ})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function A5(Z,J,Q){if(Q===-1)return"";return Z.replace(J,($)=>{return A5(Z,J,Q-1)})}function ZQ(Z){let J=Z.regex,Q="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",$="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+A5("(?:<"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+"~~~(?:\\s*,\\s*"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+"~~~)*>)?",/~~~/g,2),F={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},H={className:"meta",begin:"@"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},Y={className:"params",begin:/\(/,end:/\)/,keywords:F,relevance:0,contains:[Z.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:F,illegal:/<\/|#/,contains:[Z.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[Z.BACKSLASH_ESCAPE]},Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[J.concat(/(?!else)/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"),/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"],className:{1:"keyword",3:"title.class"},contains:[Y,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+$+"\\s+)",Z.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:F,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:F,relevance:0,contains:[H,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,C5,Z.C_BLOCK_COMMENT_MODE]},Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},C5,H]}}O5.exports=ZQ});var f5=L0((d$,k5)=>{var JQ=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],QQ=["true","false","null","undefined","NaN","Infinity"],_5=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],M5=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],N5=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],zQ=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],$Q=[].concat(N5,_5,M5);function qQ(Z){let J=Z.regex,Q=(b,{after:M})=>{let Z0="</"+b[0].slice(1);return b.input.indexOf(Z0,M)!==-1},$="[A-Za-z$_][0-9A-Za-z$_]*",q={begin:"<>",end:"</>"},X=/<[A-Za-z0-9\\._:-]+\s*\/>/,W={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(b,M)=>{let Z0=b[0].length+b.index,J0=b.input[Z0];if(J0==="<"||J0===","){M.ignoreMatch();return}if(J0===">"){if(!Q(b,{after:Z0}))M.ignoreMatch()}let Q0,H0=b.input.substring(Z0);if(Q0=H0.match(/^\s*=/)){M.ignoreMatch();return}if(Q0=H0.match(/^\s+extends\s+/)){if(Q0.index===0){M.ignoreMatch();return}}}},G={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:JQ,literal:QQ,built_in:$Q,"variable.language":zQ},F="[0-9](_?[0-9])*",H="\\.([0-9](_?[0-9])*)",Y="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",K={className:"number",variants:[{begin:"(\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)((\\.([0-9](_?[0-9])*))|\\.)?|(\\.([0-9](_?[0-9])*)))[eE][+-]?([0-9](_?[0-9])*)\\b"},{begin:"\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)\\b((\\.([0-9](_?[0-9])*))\\b|\\.)?|(\\.([0-9](_?[0-9])*))\\b"},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},w={className:"subst",begin:"\\$\\{",end:"\\}",keywords:G,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,w],subLanguage:"xml"}},B={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,w],subLanguage:"css"}},A={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,w],subLanguage:"graphql"}},v={className:"string",begin:"`",end:"`",contains:[Z.BACKSLASH_ESCAPE,w]},I={className:"comment",variants:[Z.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:"[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),Z.C_BLOCK_COMMENT_MODE,Z.C_LINE_COMMENT_MODE]},P=[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,y,B,A,v,{match:/\$\d+/},K];w.contains=P.concat({begin:/\{/,end:/\}/,keywords:G,contains:["self"].concat(P)});let L=[].concat(I,w.contains),_=L.concat([{begin:/(\s*)\(/,end:/\)/,keywords:G,contains:["self"].concat(L)}]),C={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:G,contains:_},g={variants:[{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s+/,/extends/,/\s+/,J.concat("[A-Za-z$_][0-9A-Za-z$_]*","(",J.concat(/\./,"[A-Za-z$_][0-9A-Za-z$_]*"),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*"],scope:{1:"keyword",3:"title.class"}}]},T={relevance:0,match:J.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[..._5,...M5]}},u={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},c={variants:[{match:[/function/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[C],illegal:/%/},n={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function d(b){return J.concat("(?!",b.join("|"),")")}let x={match:J.concat(/\b/,d([...N5,"super","import"].map((b)=>`${b}\\s*\\(`)),"[A-Za-z$_][0-9A-Za-z$_]*",J.lookahead(/\s*\(/)),className:"title.function",relevance:0},h={begin:J.concat(/\./,J.lookahead(J.concat("[A-Za-z$_][0-9A-Za-z$_]*",/(?![0-9A-Za-z$_(])/))),end:"[A-Za-z$_][0-9A-Za-z$_]*",excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},K0={match:[/get|set/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},C]},R="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+Z.UNDERSCORE_IDENT_RE+")\\s*=>",k={match:[/const|var|let/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s*/,/=\s*/,/(async\s*)?/,J.lookahead(R)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[C]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:G,exports:{PARAMS_CONTAINS:_,CLASS_REFERENCE:T},illegal:/#(?![$_A-z])/,contains:[Z.SHEBANG({label:"shebang",binary:"node",relevance:5}),u,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,y,B,A,v,I,{match:/\$\d+/},K,T,{scope:"attr",match:"[A-Za-z$_][0-9A-Za-z$_]*"+J.lookahead(":"),relevance:0},k,{begin:"("+Z.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[I,Z.REGEXP_MODE,{className:"function",begin:R,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:Z.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:G,contains:_}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:q.begin,end:q.end},{match:X},{begin:W.begin,"on:begin":W.isTrulyOpeningTag,end:W.end}],subLanguage:"xml",contains:[{begin:W.begin,end:W.end,skip:!0,contains:["self"]}]}]},c,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+Z.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[C,Z.inherit(Z.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*",className:"title.function"})]},{match:/\.\.\./,relevance:0},h,{match:"\\$[A-Za-z$_][0-9A-Za-z$_]*",relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[C]},x,n,g,K0,{match:/\$[(.]/}]}}k5.exports=qQ});var R5=L0((r$,V5)=>{function XQ(Z){let J={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},Q={match:/[{}[\],:]/,className:"punctuation",relevance:0},$=["true","false","null"],q={scope:"literal",beginKeywords:$.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:$},contains:[J,Q,Z.QUOTE_STRING_MODE,q,Z.C_NUMBER_MODE,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}V5.exports=XQ});var b5=L0((l$,I5)=>{var M9="[0-9](_*[0-9])*",BZ=`\\.(${M9})`,LZ="[0-9a-fA-F](_*[0-9a-fA-F])*",WQ={className:"number",variants:[{begin:`(\\b(${M9})((${BZ})|\\.)?|(${BZ}))[eE][+-]?(${M9})[fFdD]?\\b`},{begin:`\\b(${M9})((${BZ})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${BZ})[fFdD]?\\b`},{begin:`\\b(${M9})[fFdD]\\b`},{begin:`\\b0[xX]((${LZ})\\.?|(${LZ})?\\.(${LZ}))[pP][+-]?(${M9})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${LZ})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function GQ(Z){let J={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},Q={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},$={className:"symbol",begin:Z.UNDERSCORE_IDENT_RE+"@"},q={className:"subst",begin:/\$\{/,end:/\}/,contains:[Z.C_NUMBER_MODE]},X={className:"variable",begin:"\\$"+Z.UNDERSCORE_IDENT_RE},W={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[X,q]},{begin:"'",end:"'",illegal:/\n/,contains:[Z.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[Z.BACKSLASH_ESCAPE,X,q]}]};q.contains.push(W);let G={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+Z.UNDERSCORE_IDENT_RE+")?"},F={className:"meta",begin:"@"+Z.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[Z.inherit(W,{className:"string"}),"self"]}]},H=WQ,Y=Z.COMMENT("/\\*","\\*/",{contains:[Z.C_BLOCK_COMMENT_MODE]}),K={variants:[{className:"type",begin:Z.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},w=K;return w.variants[1].contains=[K],K.variants[1].contains=[w],{name:"Kotlin",aliases:["kt","kts"],keywords:J,contains:[Z.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),Z.C_LINE_COMMENT_MODE,Y,Q,$,G,F,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:J,relevance:5,contains:[{begin:Z.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[Z.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:J,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[K,Z.C_LINE_COMMENT_MODE,Y],relevance:0},Z.C_LINE_COMMENT_MODE,Y,G,F,W,Z.C_NUMBER_MODE]},Y]},{begin:[/class|interface|trait/,/\s+/,Z.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},Z.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},G,F]},W,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
4
- `},H]}}I5.exports=GQ});var x5=L0((n$,g5)=>{var HQ=(Z)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:Z.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:Z.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},FQ=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],KQ=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],YQ=[...FQ,...KQ],UQ=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),S5=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),T5=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),yQ=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),BQ=S5.concat(T5).sort().reverse();function LQ(Z){let J=HQ(Z),Q=BQ,$="and or not only",q="[\\w-]+",X="([\\w-]+|@\\{[\\w-]+\\})",W=[],G=[],F=function(P){return{className:"string",begin:"~?"+P+".*?"+P}},H=function(P,L,_){return{className:P,begin:L,relevance:_}},Y={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:UQ.join(" ")},K={begin:"\\(",end:"\\)",contains:G,keywords:Y,relevance:0};G.push(Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,F("'"),F('"'),J.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},J.HEXCOLOR,K,H("variable","@@?[\\w-]+",10),H("variable","@\\{[\\w-]+\\}"),H("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},J.IMPORTANT,{beginKeywords:"and not"},J.FUNCTION_DISPATCH);let w=G.concat({begin:/\{/,end:/\}/,contains:W}),y={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(G)},B={begin:X+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},J.CSS_VARIABLE,{className:"attribute",begin:"\\b("+yQ.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:G}}]},A={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:Y,returnEnd:!0,contains:G,relevance:0}},v={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:w}},f={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:X,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,y,H("keyword","all\\b"),H("variable","@\\{[\\w-]+\\}"),{begin:"\\b("+YQ.join("|")+")\\b",className:"selector-tag"},J.CSS_NUMBER_MODE,H("selector-tag",X,0),H("selector-id","#"+X),H("selector-class","\\."+X,0),H("selector-tag","&",0),J.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+S5.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+T5.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:w},{begin:"!important"},J.FUNCTION_DISPATCH]},I={begin:`[\\w-]+:(:)?(${Q.join("|")})`,returnBegin:!0,contains:[f]};return W.push(Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,A,v,I,B,f,y,J.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:W}}g5.exports=LQ});var D5=L0((t$,j5)=>{function wQ(Z){let $={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},q=[Z.COMMENT("--(?!\\[=*\\[)","$"),Z.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[$],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:Z.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:q.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[Z.inherit(Z.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:q}].concat(q)},Z.C_NUMBER_MODE,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[$],relevance:5}])}}j5.exports=wQ});var m5=L0((o$,h5)=>{function PQ(Z){let J={className:"variable",variants:[{begin:"\\$\\("+Z.UNDERSCORE_IDENT_RE+"\\)",contains:[Z.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},Q={className:"string",begin:/"/,end:/"/,contains:[Z.BACKSLASH_ESCAPE,J]},$={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[J,Q]},q={begin:"^"+Z.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},X={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},W={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[J]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[Z.HASH_COMMENT_MODE,J,Q,$,q,X,W]}}h5.exports=PQ});var E5=L0((s$,u5)=>{function CQ(Z){let J=Z.regex,Q=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],$=/[dualxmsipngr]{0,12}/,q={$pattern:/[\w.]+/,keyword:Q.join(" ")},X={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:q},W={begin:/->\{/,end:/\}/},G={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},F={scope:"variable",variants:[{begin:/\$\d/},{begin:J.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[G]},H={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},Y=[Z.BACKSLASH_ESCAPE,X,F],K=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],w=(A,v,f="\\1")=>{let I=f==="\\1"?f:J.concat(f,v);return J.concat(J.concat("(?:",A,")"),v,/(?:\\.|[^\\\/])*?/,I,/(?:\\.|[^\\\/])*?/,f,$)},y=(A,v,f)=>{return J.concat(J.concat("(?:",A,")"),v,/(?:\\.|[^\\\/])*?/,f,$)},B=[F,Z.HASH_COMMENT_MODE,Z.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),W,{className:"string",contains:Y,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[Z.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[Z.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},H,{begin:"(\\/\\/|"+Z.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[Z.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:w("s|tr|y",J.either(...K,{capture:!0}))},{begin:w("s|tr|y","\\(","\\)")},{begin:w("s|tr|y","\\[","\\]")},{begin:w("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:y("(?:m|qr)?",/\//,/\//)},{begin:y("m|qr",J.either(...K,{capture:!0}),/\1/)},{begin:y("m|qr",/\(/,/\)/)},{begin:y("m|qr",/\[/,/\]/)},{begin:y("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[Z.TITLE_MODE,G]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[Z.TITLE_MODE,G,H]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return X.contains=B,W.contains=B,{name:"Perl",aliases:["pl","pm"],keywords:q,contains:B}}u5.exports=CQ});var c5=L0((e$,p5)=>{function AQ(Z){let J={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},Q=/[a-zA-Z@][a-zA-Z0-9_]*/,G={"variable.language":["this","super"],$pattern:Q,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},F={$pattern:Q,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:G,illegal:"</",contains:[J,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,Z.C_NUMBER_MODE,Z.QUOTE_STRING_MODE,Z.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[Z.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},Z.inherit(Z.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+F.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:F,contains:[Z.UNDERSCORE_TITLE_MODE]},{begin:"\\."+Z.UNDERSCORE_IDENT_RE,relevance:0}]}}p5.exports=AQ});var a5=L0((Z2,i5)=>{function OQ(Z){let J=Z.regex,Q=/(?![A-Za-z0-9])(?![$])/,$=J.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,Q),q=J.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,Q),X=J.concat(/[A-Z]+/,Q),W={scope:"variable",match:"\\$+"+$},G={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:0.1},{begin:/\?>/}]},F={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},H=Z.inherit(Z.APOS_STRING_MODE,{illegal:null}),Y=Z.inherit(Z.QUOTE_STRING_MODE,{illegal:null,contains:Z.QUOTE_STRING_MODE.contains.concat(F)}),K={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:Z.QUOTE_STRING_MODE.contains.concat(F),"on:begin":(h,K0)=>{K0.data._beginMatch=h[1]||h[2]},"on:end":(h,K0)=>{if(K0.data._beginMatch!==h[1])K0.ignoreMatch()}},w=Z.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),y=`[
5
- ]`,B={scope:"string",variants:[Y,H,K,w]},A={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},v=["false","null","true"],f=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],I=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],L={keyword:f,literal:((h)=>{let K0=[];return h.forEach((R)=>{if(K0.push(R),R.toLowerCase()===R)K0.push(R.toUpperCase());else K0.push(R.toLowerCase())}),K0})(v),built_in:I},_=(h)=>{return h.map((K0)=>{return K0.replace(/\|\d+$/,"")})},C={variants:[{match:[/new/,J.concat(`[
6
- ]`,"+"),J.concat("(?!",_(I).join("\\b|"),"\\b)"),q],scope:{1:"keyword",4:"title.class"}}]},g=J.concat($,"\\b(?!\\()"),T={variants:[{match:[J.concat(/::/,J.lookahead(/(?!class\b)/)),g],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[q,J.concat(/::/,J.lookahead(/(?!class\b)/)),g],scope:{1:"title.class",3:"variable.constant"}},{match:[q,J.concat("::",J.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[q,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},u={scope:"attr",match:J.concat($,J.lookahead(":"),J.lookahead(/(?!::)/))},c={relevance:0,begin:/\(/,end:/\)/,keywords:L,contains:[u,W,T,Z.C_BLOCK_COMMENT_MODE,B,A,C]},n={relevance:0,match:[/\b/,J.concat("(?!fn\\b|function\\b|",_(f).join("\\b|"),"|",_(I).join("\\b|"),"\\b)"),$,J.concat(`[
7
- ]`,"*"),J.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[c]};c.contains.push(n);let d=[u,T,Z.C_BLOCK_COMMENT_MODE,B,A,C],x={begin:J.concat(/#\[\s*\\?/,J.either(q,X)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:v,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:v,keyword:["new","array"]},contains:["self",...d]},...d,{scope:"meta",variants:[{match:q},{match:X}]}]};return{case_insensitive:!1,keywords:L,contains:[x,Z.HASH_COMMENT_MODE,Z.COMMENT("//","$"),Z.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:Z.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},G,{scope:"variable.language",match:/\$this\b/},W,n,T,{match:[/const/,/\s/,$],scope:{1:"keyword",3:"variable.constant"}},C,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},Z.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:L,contains:["self",x,W,T,Z.C_BLOCK_COMMENT_MODE,B,A]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},Z.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[Z.inherit(Z.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},Z.UNDERSCORE_TITLE_MODE]},B,A]}}i5.exports=OQ});var r5=L0((J2,d5)=>{function vQ(Z){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},Z.inherit(Z.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),Z.inherit(Z.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}d5.exports=vQ});var n5=L0((Q2,l5)=>{function _Q(Z){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}l5.exports=_Q});var o5=L0((z2,t5)=>{function MQ(Z){let J=Z.regex,Q=/[\p{XID_Start}_]\p{XID_Continue}*/u,$=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],G={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:$,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},F={className:"meta",begin:/^(>>>|\.\.\.) /},H={className:"subst",begin:/\{/,end:/\}/,keywords:G,illegal:/#/},Y={begin:/\{\{/,relevance:0},K={className:"string",contains:[Z.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[Z.BACKSLASH_ESCAPE,F],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[Z.BACKSLASH_ESCAPE,F],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[Z.BACKSLASH_ESCAPE,F,Y,H]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[Z.BACKSLASH_ESCAPE,F,Y,H]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[Z.BACKSLASH_ESCAPE,Y,H]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[Z.BACKSLASH_ESCAPE,Y,H]},Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},w="[0-9](_?[0-9])*",y="(\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.",B=`\\b|${$.join("|")}`,A={className:"number",relevance:0,variants:[{begin:`(\\b([0-9](_?[0-9])*)|((\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.))[eE][+-]?([0-9](_?[0-9])*)[jJ]?(?=${B})`},{begin:"((\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.)[jJ]?"},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${B})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${B})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${B})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${B})`},{begin:`\\b([0-9](_?[0-9])*)[jJ](?=${B})`}]},v={className:"comment",begin:J.lookahead(/# type:/),end:/$/,keywords:G,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},f={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:G,contains:["self",F,A,K,Z.HASH_COMMENT_MODE]}]};return H.contains=[K,A,F],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:G,illegal:/(<\/|\?)|=>/,contains:[F,A,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},K,v,Z.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,Q],scope:{1:"keyword",3:"title.function"},contains:[f]},{variants:[{match:[/\bclass/,/\s+/,Q,/\s*/,/\(\s*/,Q,/\s*\)/]},{match:[/\bclass/,/\s+/,Q]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[A,f,K]}]}}t5.exports=MQ});var e5=L0(($2,s5)=>{function NQ(Z){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}s5.exports=NQ});var J6=L0((q2,Z6)=>{function kQ(Z){let J=Z.regex,Q=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,$=J.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),q=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,X=J.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:Q,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[Z.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:J.lookahead(J.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:Q},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),Z.HASH_COMMENT_MODE,{scope:"string",contains:[Z.BACKSLASH_ESCAPE],variants:[Z.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),Z.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),Z.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),Z.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),Z.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),Z.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[q,$]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,$]},{scope:{1:"punctuation",2:"number"},match:[X,$]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,$]}]},{scope:{3:"operator"},match:[Q,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:q},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:X},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}Z6.exports=kQ});var z6=L0((X2,Q6)=>{function fQ(Z){let J=Z.regex,Q=/(r#)?/,$=J.concat(Q,Z.UNDERSCORE_IDENT_RE),q=J.concat(Q,Z.IDENT_RE),X={className:"title.function.invoke",relevance:0,begin:J.concat(/\b/,/(?!let|for|while|if|else|match\b)/,q,J.lookahead(/\s*\(/))},W="([ui](8|16|32|64|128|size)|f(32|64))?",G=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],F=["true","false","Some","None","Ok","Err"],H=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],Y=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:Z.IDENT_RE+"!?",type:Y,keyword:G,literal:F,built_in:H},illegal:"</",contains:[Z.C_LINE_COMMENT_MODE,Z.COMMENT("/\\*","\\*/",{contains:["self"]}),Z.inherit(Z.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b0o([0-7_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b0x([A-Fa-f0-9_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)([ui](8|16|32|64|128|size)|f(32|64))?"}],relevance:0},{begin:[/fn/,/\s+/,$],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[Z.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,$],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,$,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,$],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,$],className:{1:"keyword",3:"title.class"}},{begin:Z.IDENT_RE+"::",keywords:{keyword:"Self",built_in:H,type:Y}},{className:"punctuation",begin:"->"},X]}}Q6.exports=fQ});var q6=L0((W2,$6)=>{var VQ=(Z)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:Z.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:Z.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},RQ=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],IQ=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],bQ=[...RQ,...IQ],SQ=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),TQ=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),gQ=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),xQ=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function jQ(Z){let J=VQ(Z),Q=gQ,$=TQ,q="@[a-z-]+",X="and or not only",W="[a-zA-Z-][a-zA-Z0-9_-]*",G={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,J.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},J.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+bQ.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+$.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Q.join("|")+")"},G,{begin:/\(/,end:/\)/,contains:[J.CSS_NUMBER_MODE]},J.CSS_VARIABLE,{className:"attribute",begin:"\\b("+xQ.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[J.BLOCK_COMMENT,G,J.HEXCOLOR,J.CSS_NUMBER_MODE,Z.QUOTE_STRING_MODE,Z.APOS_STRING_MODE,J.IMPORTANT,J.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:"@[a-z-]+",keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:SQ.join(" ")},contains:[{begin:"@[a-z-]+",className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},G,Z.QUOTE_STRING_MODE,Z.APOS_STRING_MODE,J.HEXCOLOR,J.CSS_NUMBER_MODE]},J.FUNCTION_DISPATCH]}}$6.exports=jQ});var W6=L0((G2,X6)=>{function DQ(Z){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}X6.exports=DQ});var H6=L0((H2,G6)=>{function hQ(Z){let J=Z.regex,Q=Z.COMMENT("--","$"),$={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},q={begin:/"/,end:/"/,contains:[{match:/""/}]},X=["true","false","unknown"],W=["double precision","large object","with timezone","without timezone"],G=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],F=["add","asc","collation","desc","final","first","last","view"],H=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],Y=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],K=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],w=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],y=Y,B=[...H,...F].filter((_)=>{return!Y.includes(_)}),A={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},v={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},f={match:J.concat(/\b/,J.either(...y),/\s*\(/),relevance:0,keywords:{built_in:y}};function I(_){return J.concat(/\b/,J.either(..._.map((C)=>{return C.replace(/\s+/,"\\s+")})),/\b/)}let P={scope:"keyword",match:I(w),relevance:0};function L(_,{exceptions:C,when:g}={}){let T=g;return C=C||[],_.map((u)=>{if(u.match(/\|\d+$/)||C.includes(u))return u;else if(T(u))return`${u}|0`;else return u})}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:L(B,{when:(_)=>_.length<3}),literal:X,type:G,built_in:K},contains:[{scope:"type",match:I(W)},P,f,A,$,q,Z.C_NUMBER_MODE,Z.C_BLOCK_COMMENT_MODE,Q,v]}}G6.exports=hQ});var P6=L0((F2,w6)=>{function U6(Z){if(!Z)return null;if(typeof Z==="string")return Z;return Z.source}function m9(Z){return M0("(?=",Z,")")}function M0(...Z){return Z.map((Q)=>U6(Q)).join("")}function mQ(Z){let J=Z[Z.length-1];if(typeof J==="object"&&J.constructor===Object)return Z.splice(Z.length-1,1),J;else return{}}function E0(...Z){return"("+(mQ(Z).capture?"":"?:")+Z.map(($)=>U6($)).join("|")+")"}var X8=(Z)=>M0(/\b/,Z,/\w$/.test(Z)?/\b/:/\B/),uQ=["Protocol","Type"].map(X8),F6=["init","self"].map(X8),EQ=["Any","Self"],$8=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],K6=["false","nil","true"],pQ=["assignment","associativity","higherThan","left","lowerThan","none","right"],cQ=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Y6=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],y6=E0(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),B6=E0(y6,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),q8=M0(y6,B6,"*"),L6=E0(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),PZ=E0(L6,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),o0=M0(L6,PZ,"*"),wZ=M0(/[A-Z]/,PZ,"*"),iQ=["attached","autoclosure",M0(/convention\(/,E0("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",M0(/objc\(/,o0,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],aQ=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function dQ(Z){let J={match:/\s+/,relevance:0},Q=Z.COMMENT("/\\*","\\*/",{contains:["self"]}),$=[Z.C_LINE_COMMENT_MODE,Q],q={match:[/\./,E0(...uQ,...F6)],className:{2:"keyword"}},X={match:M0(/\./,E0(...$8)),relevance:0},W=$8.filter((B0)=>typeof B0==="string").concat(["_|0"]),G=$8.filter((B0)=>typeof B0!=="string").concat(EQ).map(X8),F={variants:[{className:"keyword",match:E0(...G,...F6)}]},H={$pattern:E0(/\b\w+/,/#\w+/),keyword:W.concat(cQ),literal:K6},Y=[q,X,F],K={match:M0(/\./,E0(...Y6)),relevance:0},w={className:"built_in",match:M0(/\b/,E0(...Y6),/(?=\()/)},y=[K,w],B={match:/->/,relevance:0},A={className:"operator",relevance:0,variants:[{match:q8},{match:`\\.(\\.|${B6})+`}]},v=[B,A],f="([0-9]_*)+",I="([0-9a-fA-F]_*)+",P={className:"number",relevance:0,variants:[{match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{match:"\\b0x(([0-9a-fA-F]_*)+)(\\.(([0-9a-fA-F]_*)+))?([pP][+-]?(([0-9]_*)+))?\\b"},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},L=(B0="")=>({className:"subst",variants:[{match:M0(/\\/,B0,/[0\\tnr"']/)},{match:M0(/\\/,B0,/u\{[0-9a-fA-F]{1,8}\}/)}]}),_=(B0="")=>({className:"subst",match:M0(/\\/,B0,/[\t ]*(?:[\r\n]|\r\n)/)}),C=(B0="")=>({className:"subst",label:"interpol",begin:M0(/\\/,B0,/\(/),end:/\)/}),g=(B0="")=>({begin:M0(B0,/"""/),end:M0(/"""/,B0),contains:[L(B0),_(B0),C(B0)]}),T=(B0="")=>({begin:M0(B0,/"/),end:M0(/"/,B0),contains:[L(B0),C(B0)]}),u={className:"string",variants:[g(),g("#"),g("##"),g("###"),T(),T("#"),T("##"),T("###")]},c=[Z.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[Z.BACKSLASH_ESCAPE]}],n={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:c},d=(B0)=>{let n0=M0(B0,/\//),z0=M0(/\//,B0);return{begin:n0,end:z0,contains:[...c,{scope:"comment",begin:`#(?!.*${z0})`,end:/$/}]}},x={scope:"regexp",variants:[d("###"),d("##"),d("#"),n]},h={match:M0(/`/,o0,/`/)},K0={className:"variable",match:/\$\d+/},R={className:"variable",match:`\\$${PZ}+`},k=[h,K0,R],b={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:aQ,contains:[...v,P,u]}]}},M={scope:"keyword",match:M0(/@/,E0(...iQ),m9(E0(/\(/,/\s+/)))},Z0={scope:"meta",match:M0(/@/,o0)},J0=[b,M,Z0],Q0={match:m9(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:M0(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,PZ,"+")},{className:"type",match:wZ,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:M0(/\s+&\s+/,m9(wZ)),relevance:0}]},H0={begin:/</,end:/>/,keywords:H,contains:[...$,...Y,...J0,B,Q0]};Q0.contains.push(H0);let k0={match:M0(o0,/\s*:/),keywords:"_|0",relevance:0},y0={begin:/\(/,end:/\)/,relevance:0,keywords:H,contains:["self",k0,...$,x,...Y,...y,...v,P,u,...k,...J0,Q0]},N={begin:/</,end:/>/,keywords:"repeat each",contains:[...$,Q0]},j={begin:E0(m9(M0(o0,/\s*:/)),m9(M0(o0,/\s+/,o0,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:o0}]},r={begin:/\(/,end:/\)/,keywords:H,contains:[j,...$,...Y,...v,P,u,...J0,Q0,y0],endsParent:!0,illegal:/["']/},t={match:[/(func|macro)/,/\s+/,E0(h.match,o0,q8)],className:{1:"keyword",3:"title.function"},contains:[N,r,J],illegal:[/\[/,/%/]},W0={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[N,r,J],illegal:/\[|%/},C0={match:[/operator/,/\s+/,q8],className:{1:"keyword",3:"title"}},q0={begin:[/precedencegroup/,/\s+/,wZ],className:{1:"keyword",3:"title"},contains:[Q0],keywords:[...pQ,...K6],end:/}/},p={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},l={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},f0={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,o0,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:H,contains:[N,...Y,{begin:/:/,end:/\{/,keywords:H,contains:[{scope:"title.class.inherited",match:wZ},...Y],relevance:0}]};for(let B0 of u.variants){let n0=B0.contains.find((W9)=>W9.label==="interpol");n0.keywords=H;let z0=[...Y,...y,...v,P,u,...k];n0.contains=[...z0,{begin:/\(/,end:/\)/,contains:["self",...z0]}]}return{name:"Swift",keywords:H,contains:[...$,t,W0,p,l,f0,C0,q0,{beginKeywords:"import",end:/$/,contains:[...$],relevance:0},x,...Y,...y,...v,P,u,...k,...J0,Q0,y0]}}w6.exports=dQ});var A6=L0((K2,C6)=>{function rQ(Z){let $={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},q={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},X={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},W={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[Z.BACKSLASH_ESCAPE,q]},G=Z.inherit(W,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),F="[0-9]{4}(-[0-9][0-9]){0,2}",H="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",Y="(\\.[0-9]*)?",K="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",w={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},y={end:",",endsWithParent:!0,excludeEnd:!0,keywords:"true false yes no null",relevance:0},B={begin:/\{/,end:/\}/,contains:[y],illegal:"\\n",relevance:0},A={begin:"\\[",end:"\\]",contains:[y],illegal:"\\n",relevance:0},v=[$,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"type",begin:"!<[\\w#;/?:@&=+$,.~*'()[\\]]+>"},{className:"type",begin:"![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"type",begin:"!![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"meta",begin:"&"+Z.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+Z.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},Z.HASH_COMMENT_MODE,{beginKeywords:"true false yes no null",keywords:{literal:"true false yes no null"}},w,{className:"number",begin:Z.C_NUMBER_RE+"\\b",relevance:0},B,A,X,W],f=[...v];return f.pop(),f.push(G),y.contains=f,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:v}}C6.exports=rQ});var R6=L0((Y2,V6)=>{var O6=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],v6=["true","false","null","undefined","NaN","Infinity"],_6=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],M6=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],N6=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],k6=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],f6=[].concat(N6,_6,M6);function lQ(Z){let J=Z.regex,Q=(b,{after:M})=>{let Z0="</"+b[0].slice(1);return b.input.indexOf(Z0,M)!==-1},$="[A-Za-z$_][0-9A-Za-z$_]*",q={begin:"<>",end:"</>"},X=/<[A-Za-z0-9\\._:-]+\s*\/>/,W={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(b,M)=>{let Z0=b[0].length+b.index,J0=b.input[Z0];if(J0==="<"||J0===","){M.ignoreMatch();return}if(J0===">"){if(!Q(b,{after:Z0}))M.ignoreMatch()}let Q0,H0=b.input.substring(Z0);if(Q0=H0.match(/^\s*=/)){M.ignoreMatch();return}if(Q0=H0.match(/^\s+extends\s+/)){if(Q0.index===0){M.ignoreMatch();return}}}},G={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:O6,literal:v6,built_in:f6,"variable.language":k6},F="[0-9](_?[0-9])*",H="\\.([0-9](_?[0-9])*)",Y="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",K={className:"number",variants:[{begin:"(\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)((\\.([0-9](_?[0-9])*))|\\.)?|(\\.([0-9](_?[0-9])*)))[eE][+-]?([0-9](_?[0-9])*)\\b"},{begin:"\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)\\b((\\.([0-9](_?[0-9])*))\\b|\\.)?|(\\.([0-9](_?[0-9])*))\\b"},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},w={className:"subst",begin:"\\$\\{",end:"\\}",keywords:G,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,w],subLanguage:"xml"}},B={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,w],subLanguage:"css"}},A={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,w],subLanguage:"graphql"}},v={className:"string",begin:"`",end:"`",contains:[Z.BACKSLASH_ESCAPE,w]},I={className:"comment",variants:[Z.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:"[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),Z.C_BLOCK_COMMENT_MODE,Z.C_LINE_COMMENT_MODE]},P=[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,y,B,A,v,{match:/\$\d+/},K];w.contains=P.concat({begin:/\{/,end:/\}/,keywords:G,contains:["self"].concat(P)});let L=[].concat(I,w.contains),_=L.concat([{begin:/(\s*)\(/,end:/\)/,keywords:G,contains:["self"].concat(L)}]),C={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:G,contains:_},g={variants:[{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s+/,/extends/,/\s+/,J.concat("[A-Za-z$_][0-9A-Za-z$_]*","(",J.concat(/\./,"[A-Za-z$_][0-9A-Za-z$_]*"),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*"],scope:{1:"keyword",3:"title.class"}}]},T={relevance:0,match:J.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[..._6,...M6]}},u={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},c={variants:[{match:[/function/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[C],illegal:/%/},n={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function d(b){return J.concat("(?!",b.join("|"),")")}let x={match:J.concat(/\b/,d([...N6,"super","import"].map((b)=>`${b}\\s*\\(`)),"[A-Za-z$_][0-9A-Za-z$_]*",J.lookahead(/\s*\(/)),className:"title.function",relevance:0},h={begin:J.concat(/\./,J.lookahead(J.concat("[A-Za-z$_][0-9A-Za-z$_]*",/(?![0-9A-Za-z$_(])/))),end:"[A-Za-z$_][0-9A-Za-z$_]*",excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},K0={match:[/get|set/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},C]},R="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+Z.UNDERSCORE_IDENT_RE+")\\s*=>",k={match:[/const|var|let/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s*/,/=\s*/,/(async\s*)?/,J.lookahead(R)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[C]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:G,exports:{PARAMS_CONTAINS:_,CLASS_REFERENCE:T},illegal:/#(?![$_A-z])/,contains:[Z.SHEBANG({label:"shebang",binary:"node",relevance:5}),u,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,y,B,A,v,I,{match:/\$\d+/},K,T,{scope:"attr",match:"[A-Za-z$_][0-9A-Za-z$_]*"+J.lookahead(":"),relevance:0},k,{begin:"("+Z.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[I,Z.REGEXP_MODE,{className:"function",begin:R,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:Z.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:G,contains:_}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:q.begin,end:q.end},{match:X},{begin:W.begin,"on:begin":W.isTrulyOpeningTag,end:W.end}],subLanguage:"xml",contains:[{begin:W.begin,end:W.end,skip:!0,contains:["self"]}]}]},c,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+Z.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[C,Z.inherit(Z.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*",className:"title.function"})]},{match:/\.\.\./,relevance:0},h,{match:"\\$[A-Za-z$_][0-9A-Za-z$_]*",relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[C]},x,n,g,K0,{match:/\$[(.]/}]}}function nQ(Z){let J=Z.regex,Q=lQ(Z),$="[A-Za-z$_][0-9A-Za-z$_]*",q=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],X={begin:[/namespace/,/\s+/,Z.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},W={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:q},contains:[Q.exports.CLASS_REFERENCE]},G={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},F=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],H={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:O6.concat(F),literal:v6,built_in:f6.concat(q),"variable.language":k6},Y={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},K=(A,v,f)=>{let I=A.contains.findIndex((P)=>P.label===v);if(I===-1)throw Error("can not find mode to replace");A.contains.splice(I,1,f)};Object.assign(Q.keywords,H),Q.exports.PARAMS_CONTAINS.push(Y);let w=Q.contains.find((A)=>A.scope==="attr"),y=Object.assign({},w,{match:J.concat("[A-Za-z$_][0-9A-Za-z$_]*",J.lookahead(/\s*\?:/))});Q.exports.PARAMS_CONTAINS.push([Q.exports.CLASS_REFERENCE,w,y]),Q.contains=Q.contains.concat([Y,X,W,y]),K(Q,"shebang",Z.SHEBANG()),K(Q,"use_strict",G);let B=Q.contains.find((A)=>A.label==="func.def");return B.relevance=0,Object.assign(Q,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),Q}V6.exports=nQ});var b6=L0((U2,I6)=>{function tQ(Z){let J=Z.regex,Q={className:"string",begin:/"(""|[^/n])"C\b/},$={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},q=/\d{1,2}\/\d{1,2}\/\d{4}/,X=/\d{4}-\d{1,2}-\d{1,2}/,W=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,G=/\d{1,2}(:\d{1,2}){1,2}/,F={className:"literal",variants:[{begin:J.concat(/# */,J.either(X,q),/ *#/)},{begin:J.concat(/# */,G,/ *#/)},{begin:J.concat(/# */,W,/ *#/)},{begin:J.concat(/# */,J.either(X,q),/ +/,J.either(W,G),/ *#/)}]},H={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},Y={className:"label",begin:/^\w+:/},K=Z.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),w=Z.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[Q,$,F,H,Y,K,w,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[w]}]}}I6.exports=tQ});var T6=L0((y2,S6)=>{function oQ(Z){Z.regex;let J=Z.COMMENT(/\(;/,/;\)/);J.contains.push("self");let Q=Z.COMMENT(/;;/,/$/),$=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],q={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},X={className:"variable",begin:/\$[\w_]+/},W={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},G={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},F={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},H={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:$},contains:[Q,J,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},X,W,q,Z.QUOTE_STRING_MODE,F,H,G]}}S6.exports=oQ});var x6=L0((B2,g6)=>{var F0=l4();F0.registerLanguage("xml",t4());F0.registerLanguage("bash",s4());F0.registerLanguage("c",Z5());F0.registerLanguage("cpp",Q5());F0.registerLanguage("csharp",$5());F0.registerLanguage("css",X5());F0.registerLanguage("markdown",G5());F0.registerLanguage("diff",F5());F0.registerLanguage("ruby",Y5());F0.registerLanguage("go",y5());F0.registerLanguage("graphql",L5());F0.registerLanguage("ini",P5());F0.registerLanguage("java",v5());F0.registerLanguage("javascript",f5());F0.registerLanguage("json",R5());F0.registerLanguage("kotlin",b5());F0.registerLanguage("less",x5());F0.registerLanguage("lua",D5());F0.registerLanguage("makefile",m5());F0.registerLanguage("perl",E5());F0.registerLanguage("objectivec",c5());F0.registerLanguage("php",a5());F0.registerLanguage("php-template",r5());F0.registerLanguage("plaintext",n5());F0.registerLanguage("python",o5());F0.registerLanguage("python-repl",e5());F0.registerLanguage("r",J6());F0.registerLanguage("rust",z6());F0.registerLanguage("scss",q6());F0.registerLanguage("shell",W6());F0.registerLanguage("sql",H6());F0.registerLanguage("swift",P6());F0.registerLanguage("yaml",A6());F0.registerLanguage("typescript",R6());F0.registerLanguage("vbnet",b6());F0.registerLanguage("wasm",T6());F0.HighlightJS=F0;F0.default=F0;g6.exports=F0});var JZ,A0,E8,s1,Q9,D8,p8,c8,RZ,n9,b9,i8,TZ,IZ,bZ,e1,s9={},e9=[],Z7=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,QZ=Array.isArray;function e0(Z,J){for(var Q in J)Z[Q]=J[Q];return Z}function gZ(Z){Z&&Z.parentNode&&Z.parentNode.removeChild(Z)}function J7(Z,J,Q){var $,q,X,W={};for(X in J)X=="key"?$=J[X]:X=="ref"?q=J[X]:W[X]=J[X];if(arguments.length>2&&(W.children=arguments.length>3?JZ.call(arguments,2):Q),typeof Z=="function"&&Z.defaultProps!=null)for(X in Z.defaultProps)W[X]===void 0&&(W[X]=Z.defaultProps[X]);return t9(Z,W,$,q,null)}function t9(Z,J,Q,$,q){var X={type:Z,props:J,key:Q,ref:$,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:q==null?++E8:q,__i:-1,__u:0};return q==null&&A0.vnode!=null&&A0.vnode(X),X}function s(Z){return Z.children}function o9(Z,J){this.props=Z,this.context=J}function L9(Z,J){if(J==null)return Z.__?L9(Z.__,Z.__i+1):null;for(var Q;J<Z.__k.length;J++)if((Q=Z.__k[J])!=null&&Q.__e!=null)return Q.__e;return typeof Z.type=="function"?L9(Z):null}function Q7(Z){if(Z.__P&&Z.__d){var J=Z.__v,Q=J.__e,$=[],q=[],X=e0({},J);X.__v=J.__v+1,A0.vnode&&A0.vnode(X),xZ(Z.__P,X,J,Z.__n,Z.__P.namespaceURI,32&J.__u?[Q]:null,$,Q==null?L9(J):Q,!!(32&J.__u),q),X.__v=J.__v,X.__.__k[X.__i]=X,l8($,X,q),J.__e=J.__=null,X.__e!=Q&&a8(X)}}function a8(Z){if((Z=Z.__)!=null&&Z.__c!=null)return Z.__e=Z.__c.base=null,Z.__k.some(function(J){if(J!=null&&J.__e!=null)return Z.__e=Z.__c.base=J.__e}),a8(Z)}function h8(Z){(!Z.__d&&(Z.__d=!0)&&Q9.push(Z)&&!ZZ.__r++||D8!=A0.debounceRendering)&&((D8=A0.debounceRendering)||p8)(ZZ)}function ZZ(){try{for(var Z,J=1;Q9.length;)Q9.length>J&&Q9.sort(c8),Z=Q9.shift(),J=Q9.length,Q7(Z)}finally{Q9.length=ZZ.__r=0}}function d8(Z,J,Q,$,q,X,W,G,F,H,Y){var K,w,y,B,A,v,f,I=$&&$.__k||e9,P=J.length;for(F=z7(Q,J,I,F,P),K=0;K<P;K++)(y=Q.__k[K])!=null&&(w=y.__i!=-1&&I[y.__i]||s9,y.__i=K,v=xZ(Z,y,w,q,X,W,G,F,H,Y),B=y.__e,y.ref&&w.ref!=y.ref&&(w.ref&&jZ(w.ref,null,y),Y.push(y.ref,y.__c||B,y)),A==null&&B!=null&&(A=B),(f=!!(4&y.__u))||w.__k===y.__k?(F=r8(y,F,Z,f),f&&w.__e&&(w.__e=null)):typeof y.type=="function"&&v!==void 0?F=v:B&&(F=B.nextSibling),y.__u&=-7);return Q.__e=A,F}function z7(Z,J,Q,$,q){var X,W,G,F,H,Y=Q.length,K=Y,w=0;for(Z.__k=Array(q),X=0;X<q;X++)(W=J[X])!=null&&typeof W!="boolean"&&typeof W!="function"?(typeof W=="string"||typeof W=="number"||typeof W=="bigint"||W.constructor==String?W=Z.__k[X]=t9(null,W,null,null,null):QZ(W)?W=Z.__k[X]=t9(s,{children:W},null,null,null):W.constructor===void 0&&W.__b>0?W=Z.__k[X]=t9(W.type,W.props,W.key,W.ref?W.ref:null,W.__v):Z.__k[X]=W,F=X+w,W.__=Z,W.__b=Z.__b+1,G=null,(H=W.__i=$7(W,Q,F,K))!=-1&&(K--,(G=Q[H])&&(G.__u|=2)),G==null||G.__v==null?(H==-1&&(q>Y?w--:q<Y&&w++),typeof W.type!="function"&&(W.__u|=4)):H!=F&&(H==F-1?w--:H==F+1?w++:(H>F?w--:w++,W.__u|=4))):Z.__k[X]=null;if(K)for(X=0;X<Y;X++)(G=Q[X])!=null&&(2&G.__u)==0&&(G.__e==$&&($=L9(G)),t8(G,G));return $}function r8(Z,J,Q,$){var q,X;if(typeof Z.type=="function"){for(q=Z.__k,X=0;q&&X<q.length;X++)q[X]&&(q[X].__=Z,J=r8(q[X],J,Q,$));return J}Z.__e!=J&&($&&(J&&Z.type&&!J.parentNode&&(J=L9(Z)),Q.insertBefore(Z.__e,J||null)),J=Z.__e);do J=J&&J.nextSibling;while(J!=null&&J.nodeType==8);return J}function $7(Z,J,Q,$){var q,X,W,G=Z.key,F=Z.type,H=J[Q],Y=H!=null&&(2&H.__u)==0;if(H===null&&G==null||Y&&G==H.key&&F==H.type)return Q;if($>(Y?1:0)){for(q=Q-1,X=Q+1;q>=0||X<J.length;)if((H=J[W=q>=0?q--:X++])!=null&&(2&H.__u)==0&&G==H.key&&F==H.type)return W}return-1}function m8(Z,J,Q){J[0]=="-"?Z.setProperty(J,Q==null?"":Q):Z[J]=Q==null?"":typeof Q!="number"||Z7.test(J)?Q:Q+"px"}function l9(Z,J,Q,$,q){var X,W;Z:if(J=="style")if(typeof Q=="string")Z.style.cssText=Q;else{if(typeof $=="string"&&(Z.style.cssText=$=""),$)for(J in $)Q&&J in Q||m8(Z.style,J,"");if(Q)for(J in Q)$&&Q[J]==$[J]||m8(Z.style,J,Q[J])}else if(J[0]=="o"&&J[1]=="n")X=J!=(J=J.replace(i8,"$1")),W=J.toLowerCase(),J=W in Z||J=="onFocusOut"||J=="onFocusIn"?W.slice(2):J.slice(2),Z.l||(Z.l={}),Z.l[J+X]=Q,Q?$?Q[b9]=$[b9]:(Q[b9]=TZ,Z.addEventListener(J,X?bZ:IZ,X)):Z.removeEventListener(J,X?bZ:IZ,X);else{if(q=="http://www.w3.org/2000/svg")J=J.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(J!="width"&&J!="height"&&J!="href"&&J!="list"&&J!="form"&&J!="tabIndex"&&J!="download"&&J!="rowSpan"&&J!="colSpan"&&J!="role"&&J!="popover"&&J in Z)try{Z[J]=Q==null?"":Q;break Z}catch(G){}typeof Q=="function"||(Q==null||Q===!1&&J[4]!="-"?Z.removeAttribute(J):Z.setAttribute(J,J=="popover"&&Q==1?"":Q))}}function u8(Z){return function(J){if(this.l){var Q=this.l[J.type+Z];if(J[n9]==null)J[n9]=TZ++;else if(J[n9]<Q[b9])return;return Q(A0.event?A0.event(J):J)}}}function xZ(Z,J,Q,$,q,X,W,G,F,H){var Y,K,w,y,B,A,v,f,I,P,L,_,C,g,T,u=J.type;if(J.constructor!==void 0)return null;128&Q.__u&&(F=!!(32&Q.__u),X=[G=J.__e=Q.__e]),(Y=A0.__b)&&Y(J);Z:if(typeof u=="function")try{if(f=J.props,I=u.prototype&&u.prototype.render,P=(Y=u.contextType)&&$[Y.__c],L=Y?P?P.props.value:Y.__:$,Q.__c?v=(K=J.__c=Q.__c).__=K.__E:(I?J.__c=K=new u(f,L):(J.__c=K=new o9(f,L),K.constructor=u,K.render=X7),P&&P.sub(K),K.state||(K.state={}),K.__n=$,w=K.__d=!0,K.__h=[],K._sb=[]),I&&K.__s==null&&(K.__s=K.state),I&&u.getDerivedStateFromProps!=null&&(K.__s==K.state&&(K.__s=e0({},K.__s)),e0(K.__s,u.getDerivedStateFromProps(f,K.__s))),y=K.props,B=K.state,K.__v=J,w)I&&u.getDerivedStateFromProps==null&&K.componentWillMount!=null&&K.componentWillMount(),I&&K.componentDidMount!=null&&K.__h.push(K.componentDidMount);else{if(I&&u.getDerivedStateFromProps==null&&f!==y&&K.componentWillReceiveProps!=null&&K.componentWillReceiveProps(f,L),J.__v==Q.__v||!K.__e&&K.shouldComponentUpdate!=null&&K.shouldComponentUpdate(f,K.__s,L)===!1){J.__v!=Q.__v&&(K.props=f,K.state=K.__s,K.__d=!1),J.__e=Q.__e,J.__k=Q.__k,J.__k.some(function(c){c&&(c.__=J)}),e9.push.apply(K.__h,K._sb),K._sb=[],K.__h.length&&W.push(K);break Z}K.componentWillUpdate!=null&&K.componentWillUpdate(f,K.__s,L),I&&K.componentDidUpdate!=null&&K.__h.push(function(){K.componentDidUpdate(y,B,A)})}if(K.context=L,K.props=f,K.__P=Z,K.__e=!1,_=A0.__r,C=0,I)K.state=K.__s,K.__d=!1,_&&_(J),Y=K.render(K.props,K.state,K.context),e9.push.apply(K.__h,K._sb),K._sb=[];else do K.__d=!1,_&&_(J),Y=K.render(K.props,K.state,K.context),K.state=K.__s;while(K.__d&&++C<25);K.state=K.__s,K.getChildContext!=null&&($=e0(e0({},$),K.getChildContext())),I&&!w&&K.getSnapshotBeforeUpdate!=null&&(A=K.getSnapshotBeforeUpdate(y,B)),g=Y!=null&&Y.type===s&&Y.key==null?n8(Y.props.children):Y,G=d8(Z,QZ(g)?g:[g],J,Q,$,q,X,W,G,F,H),K.base=J.__e,J.__u&=-161,K.__h.length&&W.push(K),v&&(K.__E=K.__=null)}catch(c){if(J.__v=null,F||X!=null)if(c.then){for(J.__u|=F?160:128;G&&G.nodeType==8&&G.nextSibling;)G=G.nextSibling;X[X.indexOf(G)]=null,J.__e=G}else{for(T=X.length;T--;)gZ(X[T]);SZ(J)}else J.__e=Q.__e,J.__k=Q.__k,c.then||SZ(J);A0.__e(c,J,Q)}else X==null&&J.__v==Q.__v?(J.__k=Q.__k,J.__e=Q.__e):G=J.__e=q7(Q.__e,J,Q,$,q,X,W,F,H);return(Y=A0.diffed)&&Y(J),128&J.__u?void 0:G}function SZ(Z){Z&&(Z.__c&&(Z.__c.__e=!0),Z.__k&&Z.__k.some(SZ))}function l8(Z,J,Q){for(var $=0;$<Q.length;$++)jZ(Q[$],Q[++$],Q[++$]);A0.__c&&A0.__c(J,Z),Z.some(function(q){try{Z=q.__h,q.__h=[],Z.some(function(X){X.call(q)})}catch(X){A0.__e(X,q.__v)}})}function n8(Z){return typeof Z!="object"||Z==null||Z.__b>0?Z:QZ(Z)?Z.map(n8):Z.constructor!==void 0?null:e0({},Z)}function q7(Z,J,Q,$,q,X,W,G,F){var H,Y,K,w,y,B,A,v=Q.props||s9,f=J.props,I=J.type;if(I=="svg"?q="http://www.w3.org/2000/svg":I=="math"?q="http://www.w3.org/1998/Math/MathML":q||(q="http://www.w3.org/1999/xhtml"),X!=null){for(H=0;H<X.length;H++)if((y=X[H])&&"setAttribute"in y==!!I&&(I?y.localName==I:y.nodeType==3)){Z=y,X[H]=null;break}}if(Z==null){if(I==null)return document.createTextNode(f);Z=document.createElementNS(q,I,f.is&&f),G&&(A0.__m&&A0.__m(J,X),G=!1),X=null}if(I==null)v===f||G&&Z.data==f||(Z.data=f);else{if(X=I=="textarea"&&f.defaultValue!=null?null:X&&JZ.call(Z.childNodes),!G&&X!=null)for(v={},H=0;H<Z.attributes.length;H++)v[(y=Z.attributes[H]).name]=y.value;for(H in v)y=v[H],H=="dangerouslySetInnerHTML"?K=y:H=="children"||(H in f)||H=="value"&&("defaultValue"in f)||H=="checked"&&("defaultChecked"in f)||l9(Z,H,null,y,q);for(H in f)y=f[H],H=="children"?w=y:H=="dangerouslySetInnerHTML"?Y=y:H=="value"?B=y:H=="checked"?A=y:G&&typeof y!="function"||v[H]===y||l9(Z,H,y,v[H],q);if(Y)G||K&&(Y.__html==K.__html||Y.__html==Z.innerHTML)||(Z.innerHTML=Y.__html),J.__k=[];else if(K&&(Z.innerHTML=""),d8(J.type=="template"?Z.content:Z,QZ(w)?w:[w],J,Q,$,I=="foreignObject"?"http://www.w3.org/1999/xhtml":q,X,W,X?X[0]:Q.__k&&L9(Q,0),G,F),X!=null)for(H=X.length;H--;)gZ(X[H]);G&&I!="textarea"||(H="value",I=="progress"&&B==null?Z.removeAttribute("value"):B!=null&&(B!==Z[H]||I=="progress"&&!B||I=="option"&&B!=v[H])&&l9(Z,H,B,v[H],q),H="checked",A!=null&&A!=Z[H]&&l9(Z,H,A,v[H],q))}return Z}function jZ(Z,J,Q){try{if(typeof Z=="function"){var $=typeof Z.__u=="function";$&&Z.__u(),$&&J==null||(Z.__u=Z(J))}else Z.current=J}catch(q){A0.__e(q,Q)}}function t8(Z,J,Q){var $,q;if(A0.unmount&&A0.unmount(Z),($=Z.ref)&&($.current&&$.current!=Z.__e||jZ($,null,J)),($=Z.__c)!=null){if($.componentWillUnmount)try{$.componentWillUnmount()}catch(X){A0.__e(X,J)}$.base=$.__P=null}if($=Z.__k)for(q=0;q<$.length;q++)$[q]&&t8($[q],J,Q||typeof Z.type!="function");Q||gZ(Z.__e),Z.__c=Z.__=Z.__e=void 0}function X7(Z,J,Q){return this.constructor(Z,Q)}function DZ(Z,J,Q){var $,q,X,W;J==document&&(J=document.documentElement),A0.__&&A0.__(Z,J),q=($=typeof Q=="function")?null:Q&&Q.__k||J.__k,X=[],W=[],xZ(J,Z=(!$&&Q||J).__k=J7(s,null,[Z]),q||s9,s9,J.namespaceURI,!$&&Q?[Q]:q?null:J.firstChild?JZ.call(J.childNodes):null,X,!$&&Q?Q:q?q.__e:J.firstChild,$,W),l8(X,Z,W)}JZ=e9.slice,A0={__e:function(Z,J,Q,$){for(var q,X,W;J=J.__;)if((q=J.__c)&&!q.__)try{if((X=q.constructor)&&X.getDerivedStateFromError!=null&&(q.setState(X.getDerivedStateFromError(Z)),W=q.__d),q.componentDidCatch!=null&&(q.componentDidCatch(Z,$||{}),W=q.__d),W)return q.__E=q}catch(G){Z=G}throw Z}},E8=0,s1=function(Z){return Z!=null&&Z.constructor===void 0},o9.prototype.setState=function(Z,J){var Q;Q=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=e0({},this.state),typeof Z=="function"&&(Z=Z(e0({},Q),this.props)),Z&&e0(Q,Z),Z!=null&&this.__v&&(J&&this._sb.push(J),h8(this))},o9.prototype.forceUpdate=function(Z){this.__v&&(this.__e=!0,Z&&this.__h.push(Z),h8(this))},o9.prototype.render=s,Q9=[],p8=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,c8=function(Z,J){return Z.__v.__b-J.__v.__b},ZZ.__r=0,RZ=Math.random().toString(8),n9="__d"+RZ,b9="__a"+RZ,i8=/(PointerCapture)$|Capture$/i,TZ=0,IZ=u8(!1),bZ=u8(!0),e1=0;var w9,R0,hZ,o8,S9=0,q4=[],S0=A0,s8=S0.__b,e8=S0.__r,Z4=S0.diffed,J4=S0.__c,Q4=S0.unmount,z4=S0.__;function $Z(Z,J){S0.__h&&S0.__h(R0,Z,S9||J),S9=0;var Q=R0.__H||(R0.__H={__:[],__h:[]});return Z>=Q.__.length&&Q.__.push({}),Q.__[Z]}function D(Z){return S9=1,W7(G4,Z)}function W7(Z,J,Q){var $=$Z(w9++,2);if($.t=Z,!$.__c&&($.__=[Q?Q(J):G4(void 0,J),function(G){var F=$.__N?$.__N[0]:$.__[0],H=$.t(F,G);F!==H&&($.__N=[H,$.__[1]],$.__c.setState({}))}],$.__c=R0,!R0.__f)){var q=function(G,F,H){if(!$.__c.__H)return!0;var Y=$.__c.__H.__.filter(function(w){return w.__c});if(Y.every(function(w){return!w.__N}))return!X||X.call(this,G,F,H);var K=$.__c.props!==G;return Y.some(function(w){if(w.__N){var y=w.__[0];w.__=w.__N,w.__N=void 0,y!==w.__[0]&&(K=!0)}}),X&&X.call(this,G,F,H)||K};R0.__f=!0;var{shouldComponentUpdate:X,componentWillUpdate:W}=R0;R0.componentWillUpdate=function(G,F,H){if(this.__e){var Y=X;X=void 0,q(G,F,H),X=Y}W&&W.call(this,G,F,H)},R0.shouldComponentUpdate=q}return $.__N||$.__}function Y0(Z,J){var Q=$Z(w9++,3);!S0.__s&&uZ(Q.__H,J)&&(Q.__=Z,Q.u=J,R0.__H.__h.push(Q))}function X4(Z,J){var Q=$Z(w9++,4);!S0.__s&&uZ(Q.__H,J)&&(Q.__=Z,Q.u=J,R0.__h.push(Q))}function U0(Z){return S9=5,W4(function(){return{current:Z}},[])}function W4(Z,J){var Q=$Z(w9++,7);return uZ(Q.__H,J)&&(Q.__=Z(),Q.__H=J,Q.__h=Z),Q.__}function F9(Z,J){return S9=8,W4(function(){return Z},J)}function G7(){for(var Z;Z=q4.shift();){var J=Z.__H;if(Z.__P&&J)try{J.__h.some(zZ),J.__h.some(mZ),J.__h=[]}catch(Q){J.__h=[],S0.__e(Q,Z.__v)}}}S0.__b=function(Z){R0=null,s8&&s8(Z)},S0.__=function(Z,J){Z&&J.__k&&J.__k.__m&&(Z.__m=J.__k.__m),z4&&z4(Z,J)},S0.__r=function(Z){e8&&e8(Z),w9=0;var J=(R0=Z.__c).__H;J&&(hZ===R0?(J.__h=[],R0.__h=[],J.__.some(function(Q){Q.__N&&(Q.__=Q.__N),Q.u=Q.__N=void 0})):(J.__h.some(zZ),J.__h.some(mZ),J.__h=[],w9=0)),hZ=R0},S0.diffed=function(Z){Z4&&Z4(Z);var J=Z.__c;J&&J.__H&&(J.__H.__h.length&&(q4.push(J)!==1&&o8===S0.requestAnimationFrame||((o8=S0.requestAnimationFrame)||H7)(G7)),J.__H.__.some(function(Q){Q.u&&(Q.__H=Q.u),Q.u=void 0})),hZ=R0=null},S0.__c=function(Z,J){J.some(function(Q){try{Q.__h.some(zZ),Q.__h=Q.__h.filter(function($){return!$.__||mZ($)})}catch($){J.some(function(q){q.__h&&(q.__h=[])}),J=[],S0.__e($,Q.__v)}}),J4&&J4(Z,J)},S0.unmount=function(Z){Q4&&Q4(Z);var J,Q=Z.__c;Q&&Q.__H&&(Q.__H.__.some(function($){try{zZ($)}catch(q){J=q}}),Q.__H=void 0,J&&S0.__e(J,Q.__v))};var $4=typeof requestAnimationFrame=="function";function H7(Z){var J,Q=function(){clearTimeout($),$4&&cancelAnimationFrame(J),setTimeout(Z)},$=setTimeout(Q,35);$4&&(J=requestAnimationFrame(Q))}function zZ(Z){var J=R0,Q=Z.__c;typeof Q=="function"&&(Z.__c=void 0,Q()),R0=J}function mZ(Z){var J=R0;Z.__c=Z.__(),R0=J}function uZ(Z,J){return!Z||Z.length!==J.length||J.some(function(Q,$){return Q!==Z[$]})}function G4(Z,J){return typeof J=="function"?J(Z):J}async function w0(Z,J,Q){let $=await fetch(J,{method:Z,headers:Q!==void 0?{"content-type":"application/json"}:void 0,body:Q!==void 0?JSON.stringify(Q):void 0}),q=await $.json().catch(()=>null);if(!$.ok||q&&q.error)throw Error(q&&q.error||`${$.status} ${$.statusText}`);return q}var _0=(Z)=>encodeURIComponent(Z),a={listDatabases:()=>w0("GET","/api/databases"),createDatabase:(Z)=>w0("POST","/api/databases",Z),updateDatabase:(Z,J)=>w0("PATCH",`/api/database?id=${_0(Z)}`,J),deleteDatabase:(Z)=>w0("DELETE",`/api/database?id=${_0(Z)}`),listProperties:(Z)=>w0("GET",`/api/properties?db=${_0(Z)}`),createProperty:(Z)=>w0("POST","/api/properties",Z),updateProperty:(Z,J)=>w0("PATCH",`/api/property?id=${_0(Z)}`,J),setColumnWidth:(Z,J)=>w0("PATCH",`/api/property/width?id=${_0(Z)}`,{width:J}),deleteProperty:(Z)=>w0("DELETE",`/api/property?id=${_0(Z)}`),listRecords:(Z,J={})=>{let Q=new URLSearchParams({db:Z});if(J.sort)Q.set("sort",J.sort);if(J.limit!=null)Q.set("limit",String(J.limit));return w0("GET",`/api/records?${Q}`)},createRecord:(Z,J)=>w0("POST",`/api/records?db=${_0(Z)}`,J),getRecord:(Z)=>w0("GET",`/api/record?id=${_0(Z)}`),updateRecord:(Z,J)=>w0("PATCH",`/api/record?id=${_0(Z)}`,J),moveRecord:(Z,J,Q)=>w0("PATCH",`/api/record/order?id=${_0(Z)}`,{target:J,where:Q}),deleteRecord:(Z)=>w0("DELETE",`/api/record?id=${_0(Z)}`),listDocuments:(Z)=>w0("GET",Z?`/api/documents?db=${_0(Z)}`:"/api/documents"),listDocumentsByParent:(Z)=>w0("GET",`/api/documents?parent=${_0(Z)}`),createDocument:(Z)=>w0("POST","/api/documents",Z),getDocument:(Z)=>w0("GET",`/api/document?id=${_0(Z)}`),updateDocument:(Z,J)=>w0("PATCH",`/api/document?id=${_0(Z)}`,J),moveDocument:(Z,J,Q)=>w0("PATCH",`/api/document/move?id=${_0(Z)}`,{target:J,where:Q}),deleteDocument:(Z)=>w0("DELETE",`/api/document?id=${_0(Z)}`),search:(Z,J)=>{let Q=new URLSearchParams({q:Z});if(J!=null)Q.set("limit",String(J));return w0("GET",`/api/search?${Q}`)},listPeers:()=>w0("GET","/api/peers"),newPairingCode:()=>w0("POST","/api/pair/new"),addPeerByPairing:(Z)=>w0("POST","/api/peers/pair",Z),updatePeer:(Z,J)=>w0("PATCH",`/api/peer?url=${_0(Z)}`,J),removePeer:(Z)=>w0("DELETE",`/api/peer?url=${_0(Z)}`),syncPeer:(Z)=>w0("POST",`/api/peer/sync?url=${_0(Z)}`),listGrants:()=>w0("GET","/api/grants"),revokeGrant:(Z)=>w0("DELETE",`/api/grant?token=${_0(Z)}`),listSites:()=>w0("GET","/api/sites"),listSiteFiles:(Z)=>w0("GET",`/api/site/files?site=${_0(Z)}`),createSite:(Z)=>w0("POST","/api/sites",Z),updateSite:(Z,J)=>w0("PATCH",`/api/site?id=${_0(Z)}`,J),deleteSite:(Z)=>w0("DELETE",`/api/site?id=${_0(Z)}`),deleteSiteFile:(Z,J)=>w0("DELETE",`/api/site/file?site=${_0(Z)}&path=${_0(J)}`),uploadSiteFile:async(Z,J,Q)=>{let $=await fetch(`/api/site/file?site=${_0(Z)}&path=${_0(J)}`,{method:"POST",headers:{"content-type":Q.type||"application/octet-stream"},body:Q}),q=await $.json().catch(()=>null);if(!$.ok||q&&q.error)throw Error(q&&q.error||`${$.status} ${$.statusText}`);return q},version:()=>w0("GET","/api/version")},P9={text:{ic:"text",t:"文本"},number:{ic:"hash",t:"数字"},select:{ic:"select",t:"单选"},multi_select:{ic:"multi",t:"多选"},checkbox:{ic:"checkbox",t:"复选框"},date:{ic:"calendar",t:"日期"},url:{ic:"link",t:"链接"},relation:{ic:"relation",t:"关联"}};var F7=0;function z(Z,J,Q,$,q,X){J||(J={});var W,G,F=J;if("ref"in F)for(G in F={},J)G=="ref"?W=J[G]:F[G]=J[G];var H={type:Z,props:F,key:Q,ref:W,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--F7,__i:-1,__u:0,__source:q,__self:X};if(typeof Z=="function"&&(W=Z.defaultProps))for(G in W)F[G]===void 0&&(F[G]=W[G]);return A0.vnode&&A0.vnode(H),H}var K7={cube:'<path d="M21 7.5 12 2 3 7.5v9L12 22l9-5.5z"/><path d="m3 7.5 9 5.5 9-5.5M12 22v-9"/>',chevron:'<path d="m9 6 6 6-6 6"/>',chevronDown:'<path d="m6 9 6 6 6-6"/>',plus:'<path d="M12 5v14M5 12h14"/>',pin:'<path d="M9 4h6l-1 6 3 3v2H7v-2l3-3z"/><path d="M12 16v5"/>',search:'<circle cx="11" cy="11" r="7"/><path d="m20 20-3.2-3.2"/>',dots:'<circle cx="5" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="12" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="19" cy="12" r="1.4" fill="currentColor" stroke="none"/>',grip:'<circle cx="9" cy="6" r="1.3" fill="currentColor" stroke="none"/><circle cx="9" cy="12" r="1.3" fill="currentColor" stroke="none"/><circle cx="9" cy="18" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="6" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="12" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="18" r="1.3" fill="currentColor" stroke="none"/>',trash:'<path d="M4 7h16M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M6 7l1 13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1l1-13M10 11v6M14 11v6"/>',filter:'<path d="M3 5h18l-7 8v6l-4-2v-4z"/>',sort:'<path d="M7 3v14M7 17l-3-3M7 17l3-3M17 21V7M17 7l-3 3M17 7l3 3"/>',group:'<rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/>',check:'<path d="M5 12.5 10 17l9-10"/>',x:'<path d="M6 6 18 18M18 6 6 18"/>',file:'<path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"/><path d="M14 3v5h5"/>',database:'<ellipse cx="12" cy="5" rx="8" ry="3"/><path d="M4 5v14c0 1.66 3.58 3 8 3s8-1.34 8-3V5"/><path d="M4 12c0 1.66 3.58 3 8 3s8-1.34 8-3"/>',table:'<rect x="3" y="4" width="18" height="16" rx="1.5"/><path d="M3 10h18M3 15h18M9 4v16M15 4v16"/>',alignLeft:'<path d="M4 6h16M4 12h10M4 18h13"/>',alignCenter:'<path d="M4 6h16M7 12h10M5 18h14"/>',alignRight:'<path d="M4 6h16M10 12h10M7 18h13"/>',share:'<path d="M4 12v7a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-7"/><path d="M12 3v13M8 7l4-4 4 4"/>',download:'<path d="M12 3v12M8 11l4 4 4-4"/><path d="M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"/>',copy:'<rect x="9" y="9" width="11" height="11" rx="2"/><path d="M5 15V5a2 2 0 0 1 2-2h10"/>',link:'<path d="M10 13a5 5 0 0 0 7 0l2-2a5 5 0 0 0-7-7l-1 1"/><path d="M14 11a5 5 0 0 0-7 0l-2 2a5 5 0 0 0 7 7l1-1"/>',calendar:'<rect x="3" y="4" width="18" height="17" rx="2"/><path d="M3 9h18M8 2v4M16 2v4"/>',timeline:'<rect x="3" y="5" width="9" height="3" rx="1.5"/><rect x="8" y="10.5" width="11" height="3" rx="1.5"/><rect x="5" y="16" width="7" height="3" rx="1.5"/>',hash:'<path d="M4 9h16M4 15h16M10 3 8 21M16 3l-2 18"/>',text:'<path d="M4 6h16M4 6v-.5M8 6v13M4 19h8"/><path d="M14 11h6M17 11v8M14 19h6"/>',list:'<path d="M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01"/>',numList:'<path d="M10 6h10M10 12h10M10 18h10M4 5h1v4M4 9h2M4 13.5c0-.8 2-.8 2 0 0 .8-2 1.2-2 2.5h2"/>',checkbox:'<rect x="4" y="4" width="16" height="16" rx="3"/><path d="m9 12 2 2 4-4"/>',select:'<circle cx="12" cy="12" r="8"/><circle cx="12" cy="12" r="3" fill="currentColor" stroke="none"/>',multi:'<path d="M8 6h12M8 12h12M8 18h12M3 6h.01M3 12h.01M3 18h.01"/>',relation:'<path d="M7 7h4v4H7zM13 13h4v4h-4z"/><path d="M11 9h2a2 2 0 0 1 2 2v2"/>',quote:'<path d="M7 7c-2 1-3 3-3 6h3v4H4v-4M17 7c-2 1-3 3-3 6h3v4h-3v-4"/>',code:'<path d="m8 8-4 4 4 4M16 8l4 4-4 4M13 6l-2 12"/>',minus:'<path d="M5 12h14"/>',heading:'<path d="M6 4v16M18 4v16M6 12h12"/>',panelLeft:'<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M9 4v16"/>',cornerUpRight:'<path d="M5 19V11a4 4 0 0 1 4-4h10M15 3l4 4-4 4"/>',openPeek:'<rect x="3" y="5" width="18" height="14" rx="2.5"/><rect x="6" y="8" width="4" height="8" rx="1" fill="currentColor" stroke="none"/>',settings:'<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/><circle cx="12" cy="12" r="3"/>',eyeOff:'<path d="M4 4l16 16M9.5 9.5a3 3 0 0 0 4 4M6.5 6.7C4.5 8 3 10 2 12c2 4 6 7 10 7 1.6 0 3-.4 4.4-1.1M9.5 5.2A9.7 9.7 0 0 1 12 5c4 0 8 3 10 7-.6 1.3-1.5 2.5-2.5 3.5"/>',bold:'<path d="M6 4h7a4 4 0 0 1 0 8H6zM6 12h8a4 4 0 0 1 0 8H6z"/>',italic:'<path d="M19 4h-9M14 20H5M15 4 9 20"/>',underline:'<path d="M6 4v6a6 6 0 0 0 12 0V4M4 21h16"/>',strike:'<path d="M4 12h16M7 7a4 4 0 0 1 7-1M9 17a4 4 0 0 0 7-2"/>',sun:'<circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/>',moon:'<path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"/>',monitor:'<rect x="3" y="4" width="18" height="13" rx="2"/><path d="M8 21h8M12 17v4"/>',globe:'<circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3c2.4 2.5 3.7 5.7 3.7 9S14.4 18.5 12 21c-2.4-2.5-3.7-5.7-3.7-9S9.6 5.5 12 3z"/>',eye:'<path d="M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7-10-7-10-7z"/><circle cx="12" cy="12" r="3"/>',lock:'<rect x="4.5" y="11" width="15" height="9" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/>',upload:'<path d="M12 16V4M8 8l4-4 4 4M5 20h14"/>',externalLink:'<path d="M14 4h6v6M20 4l-9 9M19 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h5"/>'};function S({name:Z,cls:J="ico"}){return z("svg",{class:J,viewBox:"0 0 24 24",dangerouslySetInnerHTML:{__html:K7[Z]??""}},void 0,!1,void 0,this)}var c0={text:"text",number:"hash",select:"select",multi_select:"multi",checkbox:"checkbox",date:"calendar",url:"link",relation:"relation"};function EZ(Z){let J=Z,Q=new Set;return{get:()=>J,set:($)=>{J=$,Q.forEach((q)=>q($))},use(){let[$,q]=D(J);return Y0(()=>{return Q.add(q),()=>void Q.delete(q)},[]),$}}}var T9=EZ([]),Y7=0;function P0(Z){let J=++Y7;T9.set([...T9.get(),{id:J,msg:Z}]),setTimeout(()=>T9.set(T9.get().filter((Q)=>Q.id!==J)),2600)}var pZ=EZ(null);function O0(Z,J,Q={}){pZ.set({render:J,anchor:Z,minWidth:Q.minWidth})}function H4(){pZ.set(null)}function U7(Z){if(Z instanceof MouseEvent)return{x:Z.clientX,y:Z.clientY};if("rect"in Z)return{x:Z.rect.left,y:Z.rect.bottom,bottom:Z.rect.bottom};return{x:Z.x,y:Z.y}}function y7(){let Z=pZ.use(),J=U0(null),[Q,$]=D(null);if(X4(()=>{if(!Z||!J.current)return $(null);let{x:q,y:X}=U7(Z.anchor),W=J.current.getBoundingClientRect();$({left:Math.min(q,innerWidth-W.width-10),top:Math.min(X+4,innerHeight-W.height-10)})},[Z]),!Z)return null;return z("div",{class:"menu-layer",onMouseDown:(q)=>q.target===q.currentTarget&&H4(),children:z("div",{ref:J,class:"pop",style:{left:Q?.left??-9999,top:Q?.top??-9999,minWidth:Z.minWidth},onMouseDown:(q)=>q.stopPropagation(),children:Z.render(H4)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function g0({children:Z}){return z("div",{class:"lbl",children:Z},void 0,!1,void 0,this)}function N0(){return z("div",{class:"sep"},void 0,!1,void 0,this)}function e({icon:Z,label:J,sublabel:Q,danger:$,checked:q,onClick:X}){return z("button",{class:"item"+($?" danger":""),onClick:X,children:[Z&&z("span",{class:"lico plain",children:z(S,{name:Z,cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"meta",children:[z("span",{class:"t",children:J},void 0,!1,void 0,this),Q&&z("span",{class:"d",children:Q},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q&&z("span",{class:"chk",children:z(S,{name:"check",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function qZ(Z,J=240){let[Q,$]=D(!1);return Y0(()=>{let X=requestAnimationFrame(()=>$(!0));return()=>cancelAnimationFrame(X)},[]),{open:Q,close:()=>{$(!1),setTimeout(Z,J)}}}var cZ=EZ(null);function d0(Z){cZ.set(Z)}function m0(){cZ.set(null)}function t0({title:Z,sub:J,children:Q,footer:$,width:q}){return z("div",{class:"modal",style:{width:q},onMouseDown:(X)=>X.stopPropagation(),children:[z("div",{class:"modal-head",children:[z("h3",{children:Z},void 0,!1,void 0,this),J&&z("p",{children:J},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"modal-body",children:Q},void 0,!1,void 0,this),$&&z("div",{class:"modal-foot",children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function B7(){let Z=cZ.use();return Y0(()=>{if(!Z)return;let J=(Q)=>Q.key==="Escape"&&m0();return addEventListener("keydown",J),()=>removeEventListener("keydown",J)},[Z]),z("div",{class:"modal-scrim"+(Z?" open":""),onMouseDown:(J)=>J.target===J.currentTarget&&m0(),children:Z},void 0,!1,void 0,this)}function x0(Z){return new Promise((J)=>{let Q=($)=>{m0(),J($)};d0(z(t0,{title:Z.title,footer:z(s,{children:[z("button",{class:"btn btn-secondary",onClick:()=>Q(!1),children:"取消"},void 0,!1,void 0,this),z("button",{class:"btn "+(Z.danger?"btn-danger":"btn-primary"),onClick:()=>Q(!0),children:Z.confirmLabel??"确定"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:z("div",{class:"muted",children:Z.message},void 0,!1,void 0,this)},void 0,!1,void 0,this))})}function z9(Z){return new Promise((J)=>{let Q=Z.value??"",$=(q)=>{m0(),J(q)};d0(z(t0,{title:Z.title,footer:z(s,{children:[z("button",{class:"btn btn-secondary",onClick:()=>$(null),children:"取消"},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:()=>$(Q.trim()||(Z.value??"")),children:Z.confirmLabel??"保存"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[Z.label&&z("div",{class:"field-label",children:Z.label},void 0,!1,void 0,this),z("input",{class:"text-input",autofocus:!0,value:Z.value??"",placeholder:Z.placeholder,onInput:(q)=>Q=q.target.value,onKeyDown:(q)=>{if(q.key==="Enter")$(Q.trim()||(Z.value??""))}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))})}function XZ(){let Z=T9.use();return z(s,{children:[z(y7,{},void 0,!1,void 0,this),z(B7,{},void 0,!1,void 0,this),z("div",{class:"toasts",children:Z.map((J)=>z("div",{class:"toast",children:[z(S,{name:"check",cls:"ico sm"},void 0,!1,void 0,this),z("span",{children:J.msg},void 0,!1,void 0,this)]},J.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var iZ=null;function K4(Z){let[J,Q]=D(new Set),[$,q]=D(""),X=P7(Z.onResize),W=(y)=>{let B=new Set(J);B.has(y)?B.delete(y):B.add(y),Q(B)},G=(y)=>y().catch((B)=>Z.onError(String(B.message))),F=(y)=>G(async()=>{let B=await a.createDocument({title:"",...y?{parent_id:y}:{}});if(y)J.add(y);await Z.reloadNav(),Z.onOpenDoc(B.id)}),H=(y,B,A)=>G(async()=>{if(y===B.id)return;if(w7(Z.docs,y,B.id))return;if(await a.moveDocument(y,B.id,A),A==="into")J.add(B.id);await Z.reloadNav()}),Y=(y,B)=>{y.stopPropagation(),O0(y,(A)=>z(s,{children:[z(e,{icon:"settings",label:"重命名…",onClick:async()=>{A();let v=await z9({title:"重命名数据库",value:B.name});if(v&&v!==B.name)G(async()=>{await a.updateDatabase(B.id,{name:v}),await Z.reloadNav()})}},void 0,!1,void 0,this),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"trash",label:"删除数据库",danger:!0,onClick:async()=>{if(A(),await x0({title:"删除数据库?",message:`「${B.name}」及其所有记录将被永久删除。`,confirmLabel:"删除",danger:!0}))G(async()=>{await a.deleteDatabase(B.id),await Z.reloadNav(),Z.afterDelete("db",B.id)})}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},K=(y,B)=>{y.stopPropagation();let A=Z.docs.filter((v)=>v.parent_id===B.id).length;O0(y,(v)=>z(s,{children:[z(e,{icon:"plus",label:"新建子页",onClick:()=>{v(),F(B.id)}},void 0,!1,void 0,this),z(e,{icon:"settings",label:"重命名…",onClick:async()=>{v();let f=await z9({title:"重命名文档",value:B.title});if(f)G(async()=>{await a.updateDocument(B.id,{title:f}),await Z.reloadNav()})}},void 0,!1,void 0,this),B.parent_id&&z(e,{icon:"cornerUpRight",label:"移到顶层",onClick:()=>{v(),G(async()=>{await a.updateDocument(B.id,{parent_id:null}),await Z.reloadNav()})}},void 0,!1,void 0,this),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"trash",label:"删除",danger:!0,onClick:async()=>{if(v(),await x0({title:"删除文档?",message:A?`「${B.title||"无标题"}」及其 ${A} 个子页将被删除。`:`「${B.title||"无标题"}」将被删除。`,confirmLabel:"删除",danger:!0}))G(async()=>{await U4(Z.docs,B.id),await Z.reloadNav(),Z.afterDelete("doc",B.id)})}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},w=(y,B=0)=>{return Z.docs.filter((v)=>v.parent_id===y).map((v)=>{let f=Z.docs.filter((P)=>P.parent_id===v.id),I=f.length>0&&J.has(v.id);return z("div",{class:B?"navchildren":"",children:[z("div",{class:"navitem"+(Z.activeKind==="doc"&&Z.activeId===v.id?" active":""),draggable:!0,onClick:()=>Z.onOpenDoc(v.id),onDragStart:(P)=>{P.stopPropagation(),iZ=v.id,P.currentTarget.classList.add("dragging")},onDragEnd:(P)=>{P.currentTarget.classList.remove("dragging"),aZ()},onDragOver:(P)=>{P.preventDefault(),P.stopPropagation(),L7(P.currentTarget,P)},onDrop:(P)=>{P.preventDefault(),P.stopPropagation();let L=Y4(P.currentTarget,P),_=iZ;if(iZ=null,aZ(),_)H(_,v,L)},children:[z("span",{class:"tw"+(I?" open":""),onClick:(P)=>{if(P.stopPropagation(),f.length)W(v.id)},children:f.length>0&&z(S,{name:"chevron",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"emoji",children:z(S,{name:"file",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"label",children:v.title||"无标题"},void 0,!1,void 0,this),z("span",{class:"acts",children:[z("button",{title:"新建子页",onClick:(P)=>{P.stopPropagation(),F(v.id)},children:z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{title:"更多",onClick:(P)=>K(P,v),children:z(S,{name:"dots",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),I&&w(v.id,B+1)]},v.id,!0,void 0,this)})};return z("div",{class:"sidebar"+(Z.collapsed?" collapsed":""),style:{width:Z.width,marginLeft:Z.collapsed?-Z.width:void 0},children:[z("div",{class:"sb-head",children:[z("div",{class:"brand",children:[z("span",{class:"mark",children:z(S,{name:"cube"},void 0,!1,void 0,this)},void 0,!1,void 0,this),"Metahub"]},void 0,!0,void 0,this),z("button",{class:"iconbtn",title:"收起侧栏",onClick:Z.onCollapse,children:z(S,{name:"panelLeft"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"sb-search",onClick:(y)=>y.currentTarget.querySelector("input")?.focus(),children:[z(S,{name:"search",cls:"ico sm"},void 0,!1,void 0,this),z("input",{placeholder:"搜索…",value:$,onInput:(y)=>q(y.target.value),onKeyDown:(y)=>{if(y.key==="Enter"&&$.trim())Z.onSearch($.trim())}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"sb-scroll",children:[z("div",{class:"sb-section",children:[z("div",{class:"sb-section-head",children:[z("span",{children:"数据库"},void 0,!1,void 0,this),z("button",{class:"add",title:"新建数据库",onClick:()=>C7(Z.onOpenDb,Z.reloadNav,Z.onError),children:z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z.databases.map((y)=>z("div",{class:"navitem"+(Z.activeKind==="db"&&Z.activeId===y.id?" active":""),onClick:()=>Z.onOpenDb(y.id),children:[z("span",{class:"emoji",children:y.icon||"\uD83D\uDDC2️"},void 0,!1,void 0,this),z("span",{class:"label",children:y.name},void 0,!1,void 0,this),z("span",{class:"acts",children:z("button",{title:"更多",onClick:(B)=>Y(B,y),children:z(S,{name:"dots",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},y.id,!0,void 0,this)),Z.databases.length===0&&z("div",{class:"navitem muted",children:"暂无"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"sb-section",children:[z("div",{class:"sb-section-head",children:[z("span",{children:"文档"},void 0,!1,void 0,this),z("button",{class:"add",title:"新建文档",onClick:()=>F(null),children:z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),w(null),Z.docs.length===0&&z("div",{class:"navitem muted",children:"暂无"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"sb-footer",children:[z("button",{class:"navitem"+(Z.sitesActive?" active":""),onClick:Z.onOpenSites,children:[z("span",{class:"emoji",children:z(S,{name:"globe",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"label",children:"站点"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"navitem"+(Z.settingsActive?" active":""),onClick:Z.onOpenSettings,children:[z("span",{class:"emoji",children:z(S,{name:"settings",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"label",children:"设置"},void 0,!1,void 0,this),Z.updatePending&&z("span",{class:"nav-dot",title:"有可用更新"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"sb-resizer",onMouseDown:X},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function aZ(){document.querySelectorAll(".drop-into,.drop-before,.drop-after").forEach((Z)=>Z.classList.remove("drop-into","drop-before","drop-after"))}function Y4(Z,J){let Q=Z.getBoundingClientRect(),$=J.clientY-Q.top;return $<Q.height*0.28?"before":$>Q.height*0.72?"after":"into"}function L7(Z,J){aZ(),Z.classList.add("drop-"+Y4(Z,J))}function w7(Z,J,Q){let $=Z.find((q)=>q.id===Q);while($){if($.parent_id===J)return!0;$=Z.find((q)=>q.id===$.parent_id)}return!1}async function U4(Z,J){for(let Q of Z.filter(($)=>$.parent_id===J))await U4(Z,Q.id);await a.deleteDocument(J)}function P7(Z){return(J)=>{J.preventDefault();let Q=(q)=>Z(Math.max(210,Math.min(460,q.clientX))),$=()=>{removeEventListener("mousemove",Q),removeEventListener("mouseup",$)};addEventListener("mousemove",Q),addEventListener("mouseup",$)}}var F4={blank:[{name:"名称",type:"text"}],tasks:[{name:"名称",type:"text"},{name:"状态",type:"select",config:{options:["待办","进行中","已完成"]}},{name:"优先级",type:"select",config:{options:["高","中","低"]}},{name:"截止",type:"date"}],crm:[{name:"姓名",type:"text"},{name:"公司",type:"text"},{name:"分类",type:"select",config:{options:["客户","合作","潜在"]}},{name:"邮箱",type:"url"}]};function C7(Z,J,Q){d0(z(A7,{onOpenDb:Z,reloadNav:J,onError:Q},void 0,!1,void 0,this))}function A7(Z){let J=["\uD83D\uDDC2️","\uD83C\uDFAF","\uD83E\uDD1D","\uD83D\uDCE6","\uD83D\uDCDA","\uD83D\uDCA1","\uD83E\uDDE9","\uD83D\uDCCA","\uD83D\uDDD3️","✅"],Q=[["blank","空白","仅一个「名称」列"],["tasks","任务","状态·优先级·截止"],["crm","联系人","公司·分类·邮箱"]],[$,q]=D(""),[X,W]=D(J[0]),[G,F]=D("blank"),H=U0(!1),Y=async()=>{if(H.current)return;H.current=!0;try{let K=await a.createDatabase({name:$.trim()||"未命名数据库",icon:X});for(let w of F4[G]??F4.blank)await a.createProperty({db:K.id,name:w.name,type:w.type,config:w.config});m0(),await Z.reloadNav(),Z.onOpenDb(K.id),P0(`已创建数据库「${K.name}」`)}catch(K){Z.onError(String(K.message))}finally{H.current=!1}};return z(t0,{title:"新建数据库",sub:"创建一个带属性列的结构化数据表。",footer:z(s,{children:[z("button",{class:"btn btn-secondary",onClick:m0,children:"取消"},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:Y,children:"创建"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[z("div",{class:"field-label",children:"名称"},void 0,!1,void 0,this),z("input",{class:"text-input",autofocus:!0,placeholder:"例如:项目、客户、库存…",value:$,onInput:(K)=>q(K.target.value),onKeyDown:(K)=>K.key==="Enter"&&Y()},void 0,!1,void 0,this),z("div",{class:"field-label",children:"图标"},void 0,!1,void 0,this),z("div",{class:"icon-pick",children:J.map((K)=>z("button",{class:K===X?"sel":"",onClick:()=>W(K),children:K},K,!1,void 0,this))},void 0,!1,void 0,this),z("div",{class:"field-label",children:"模板"},void 0,!1,void 0,this),z("div",{class:"tmpl",children:Q.map(([K,w,y])=>z("button",{class:K===G?"sel":"",onClick:()=>F(K),children:[z("div",{class:"tt",children:w},void 0,!1,void 0,this),z("div",{class:"td",children:y},void 0,!1,void 0,this)]},K,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var y4=[4,28,45,130,165,200,220,255,290,330];function dZ(Z){let J=0;for(let Q=0;Q<Z.length;Q++)J=J*31+Z.charCodeAt(Q)>>>0;return`hsl(${y4[J%y4.length]} 65% 45%)`}function K9({text:Z}){return z("span",{class:"chip",style:{["--c"]:dZ(Z)},children:Z},void 0,!1,void 0,this)}function C9({prop:Z,val:J}){if(J==null||J===""||Array.isArray(J)&&J.length===0)return z("span",{class:"muted",children:" "},void 0,!1,void 0,this);if(Z.type==="select")return z(K9,{text:String(J)},void 0,!1,void 0,this);if(Z.type==="multi_select"||Z.type==="relation")return z(s,{children:J.map((Q)=>z(K9,{text:String(Q)},String(Q),!1,void 0,this))},void 0,!1,void 0,this);if(Z.type==="url")return z("a",{href:String(J),target:"_blank",rel:"noreferrer",onClick:(Q)=>Q.stopPropagation(),children:String(J)},void 0,!1,void 0,this);return z("span",{children:String(J)},void 0,!1,void 0,this)}function rZ(Z,J){if(Z==="relation")return J.split(",").map((Q)=>Q.trim()).filter(Boolean);return J}function B4(Z,J){if(J==null)return"";if(Array.isArray(J))return J.join(", ");return String(J)}var Y9="\x00__ungrouped__";function L4({props:Z,records:J,onCommitValue:Q,onCreate:$,onOpenRecord:q,onMove:X}){let W=Z.filter((L)=>L.type==="select"||L.type==="multi_select"),[G,F]=D(null),H=Z.find((L)=>L.id===G)??W.find((L)=>L.type==="select")??W[0]??null,Y=U0(null);if(!H)return z("div",{class:"view-placeholder",children:"看板视图需要一个「单选」或「多选」属性来分组。请在表格视图中添加一个单选列后再切换到看板。"},void 0,!1,void 0,this);let K=Z[0],w=H.type==="multi_select",y=H.config?.options??[],B=(L)=>{let _=L.values[H.name];if(w){let g=(Array.isArray(_)?_:[]).map(String).filter((T)=>y.includes(T));return g.length?g:[Y9]}let C=_==null?"":String(_);return C&&y.includes(C)?[C]:[Y9]},A=new Map;for(let L of y)A.set(L,[]);A.set(Y9,[]);for(let L of J)for(let _ of B(L))A.get(_)?.push(L);let v=[...y];if((A.get(Y9)?.length??0)>0)v.push(Y9);let f=()=>document.querySelectorAll(".board-col.drop-into").forEach((L)=>L.classList.remove("drop-into")),I=(L,_)=>{if(L.button!==0)return;if(L.target.closest("button,a,input"))return;let C=L.currentTarget.closest(".kcard");if(!C)return;let g=C.getBoundingClientRect();L.preventDefault(),Y.current={id:_.id,pointerId:L.pointerId,startX:L.clientX,startY:L.clientY,offsetX:L.clientX-g.left,offsetY:L.clientY-g.top,active:!1,source:C,ghost:null};let T=(c)=>{let n=Y.current;if(!n||n.pointerId!==c.pointerId)return;if(!n.active){if(Math.hypot(c.clientX-n.startX,c.clientY-n.startY)<4)return;n.active=!0;let x=n.source.cloneNode(!0);x.classList.add("dragging-ghost"),x.style.width=`${g.width}px`,document.body.appendChild(x),n.ghost=x,n.source.classList.add("drag-source"),document.body.classList.add("table-dragging")}if(c.preventDefault(),n.ghost)n.ghost.style.transform=`translate3d(${Math.round(c.clientX-n.offsetX)}px, ${Math.round(c.clientY-n.offsetY)}px, 0)`;f(),document.elementFromPoint(c.clientX,c.clientY)?.closest?.(".board-col")?.classList.add("drop-into")},u=(c)=>{let n=Y.current;if(!n||n.pointerId!==c.pointerId)return;if(removeEventListener("pointermove",T),removeEventListener("pointerup",u),removeEventListener("pointercancel",u),n.ghost?.remove(),n.source.classList.remove("drag-source"),document.body.classList.remove("table-dragging"),f(),Y.current=null,!n.active){q(_.id);return}let d=document.elementFromPoint(c.clientX,c.clientY)?.closest?.(".board-col");if(!d)return;if(!w){let K0=d.dataset.colKey,R=String(_.values[H.name]??""),k=K0===Y9?null:K0;if(String(k??"")!==R)Q(_,H,k)}let x=document.elementFromPoint(c.clientX,c.clientY)?.closest?.(".kcard"),h=x?.dataset.recId;if(h&&h!==_.id){let K0=x.getBoundingClientRect();X(_.id,h,c.clientY<K0.top+K0.height/2?"before":"after")}};addEventListener("pointermove",T,{passive:!1}),addEventListener("pointerup",u),addEventListener("pointercancel",u)};return z("div",{class:"board-wrap",children:[z("div",{class:"board-bar",children:[z("button",{class:"tbtn",onClick:(L)=>O0(L,(_)=>z(s,{children:[z(g0,{children:"按属性分组"},void 0,!1,void 0,this),W.map((C)=>z(e,{icon:c0[C.type],label:C.name,onClick:()=>{F(C.id),_()}},C.id,!1,void 0,this))]},void 0,!0,void 0,this)),children:[z(S,{name:"group",cls:"ico sm"},void 0,!1,void 0,this),"分组:",H.name]},void 0,!0,void 0,this),w&&z("span",{class:"muted",style:{fontSize:12},children:"多选分组不支持拖拽改值"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"board",children:v.map((L)=>{let _=A.get(L)??[],C=L===Y9;return z("div",{class:"board-col","data-col-key":L,children:[z("div",{class:"board-col-head",children:[C?z("span",{class:"muted",style:{fontWeight:600},children:"未分组"},void 0,!1,void 0,this):z(K9,{text:L},void 0,!1,void 0,this),z("span",{class:"board-count",children:_.length},void 0,!1,void 0,this),z("div",{class:"spacer"},void 0,!1,void 0,this),z("button",{class:"iconbtn sm",title:"新建记录",onClick:()=>$(C?{}:{[H.name]:L}),children:z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"board-col-body",children:[_.map((g)=>z("div",{class:"kcard","data-rec-id":g.id,onPointerDown:(T)=>I(T,g),children:[z("div",{class:"kcard-title",children:O7(g,K)||z("span",{class:"muted",children:"无标题"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Z.filter((T)=>T!==K&&T.id!==H.id&&!v7(g.values[T.name])).slice(0,4).map((T)=>z("div",{class:"kcard-field",children:[z(S,{name:c0[T.type]??"text",cls:"ico sm"},void 0,!1,void 0,this),z(C9,{prop:T,val:g.values[T.name]},void 0,!1,void 0,this)]},T.id,!0,void 0,this))]},g.id,!0,void 0,this)),z("button",{class:"board-add",onClick:()=>$(C?{}:{[H.name]:L}),children:[z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},L,!0,void 0,this)})},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function O7(Z,J){if(!J)return"";let Q=Z.values[J.name];return Q==null?"":Array.isArray(Q)?Q.join(", "):String(Q)}function v7(Z){return Z==null||Z===""||Array.isArray(Z)&&Z.length===0}function g9(Z){if(Z==null)return null;let J=String(Z).trim();if(!J)return null;let Q=/^(\d{4})-(\d{2})-(\d{2})/.exec(J);if(Q)return new Date(Number(Q[1]),Number(Q[2])-1,Number(Q[3]));let $=new Date(J);return Number.isNaN($.getTime())?null:new Date($.getFullYear(),$.getMonth(),$.getDate())}function r0(Z){let J=Z.getFullYear(),Q=String(Z.getMonth()+1).padStart(2,"0"),$=String(Z.getDate()).padStart(2,"0");return`${J}-${Q}-${$}`}function j0(Z,J){return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate()+J)}function lZ(Z,J){return Z.getFullYear()===J.getFullYear()&&Z.getMonth()===J.getMonth()&&Z.getDate()===J.getDate()}function _7(Z,J){return new Date(Z,J,1)}function M7(Z,J){return new Date(Z,J+1,0)}function A9(Z,J){let Q=Date.UTC(Z.getFullYear(),Z.getMonth(),Z.getDate()),$=Date.UTC(J.getFullYear(),J.getMonth(),J.getDate());return Math.round(($-Q)/86400000)}function WZ(){let Z=new Date;return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate())}function N7(Z){let J=(Z.getDay()+6)%7;return j0(Z,-J)}function w4(Z,J){let Q=N7(_7(Z,J)),$=M7(Z,J),q=[],X=Q;while(X<=$||q.length===0||X.getDay()!==1){let W=[];for(let G=0;G<7;G++)W.push(j0(X,G));if(q.push(W),X=j0(X,7),q.length>=6)break}return q}var k7=["一","二","三","四","五","六","日"],nZ=3;function P4({props:Z,records:J,onCommitValue:Q,onCreate:$,onOpenRecord:q}){let X=Z.filter((C)=>C.type==="date"),[W,G]=D(null),F=Z.find((C)=>C.id===W)??X[0]??null,H=WZ(),[Y,K]=D({y:H.getFullYear(),m:H.getMonth()}),w=U0(null);if(!F)return z("div",{class:"view-placeholder",children:"日历视图需要一个「日期」属性。请在表格视图中添加一个日期列后再切换到日历。"},void 0,!1,void 0,this);let y=Z[0],B=w4(Y.y,Y.m),A=J.map((C)=>({rec:C,date:g9(C.values[F.name])})).filter((C)=>C.date!=null),v=(C)=>A.filter((g)=>lZ(g.date,C)),f=(C)=>{let g=Y.m+C;K({y:Y.y+Math.floor(g/12),m:(g%12+12)%12})},I=()=>K({y:H.getFullYear(),m:H.getMonth()}),P=()=>document.querySelectorAll(".cal-day.drop-into").forEach((C)=>C.classList.remove("drop-into")),L=(C,g)=>{if(C.button!==0)return;C.preventDefault(),C.stopPropagation(),w.current={id:g.id,pointerId:C.pointerId,startX:C.clientX,startY:C.clientY,active:!1,ghost:null};let T=(c)=>{let n=w.current;if(!n||n.pointerId!==c.pointerId)return;if(!n.active){if(Math.hypot(c.clientX-n.startX,c.clientY-n.startY)<4)return;n.active=!0,n.ghost=f7(GZ(g,y)),document.body.classList.add("table-dragging")}if(c.preventDefault(),n.ghost)n.ghost.style.transform=`translate3d(${Math.round(c.clientX+8)}px, ${Math.round(c.clientY+8)}px, 0)`;P(),document.elementFromPoint(c.clientX,c.clientY)?.closest?.(".cal-day")?.classList.add("drop-into")},u=(c)=>{let n=w.current;if(!n||n.pointerId!==c.pointerId)return;if(removeEventListener("pointermove",T),removeEventListener("pointerup",u),removeEventListener("pointercancel",u),n.ghost?.remove(),document.body.classList.remove("table-dragging"),P(),w.current=null,!n.active){q(g.id);return}let x=document.elementFromPoint(c.clientX,c.clientY)?.closest?.(".cal-day")?.dataset.iso;if(x&&x!==String(g.values[F.name]??""))Q(g,F,x)};addEventListener("pointermove",T,{passive:!1}),addEventListener("pointerup",u),addEventListener("pointercancel",u)},_=(C)=>O0(C,(g)=>z(s,{children:[z(g0,{children:"按日期属性"},void 0,!1,void 0,this),X.map((T)=>z(e,{icon:c0[T.type],label:T.name,onClick:()=>{G(T.id),g()}},T.id,!1,void 0,this))]},void 0,!0,void 0,this));return z("div",{class:"cal",children:[z("div",{class:"cal-nav",children:[z("button",{class:"iconbtn",title:"上个月",onClick:()=>f(-1),children:z(S,{name:"chevron",cls:"ico flip"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{class:"cal-title",children:[Y.y," 年 ",Y.m+1," 月"]},void 0,!0,void 0,this),z("button",{class:"iconbtn",title:"下个月",onClick:()=>f(1),children:z(S,{name:"chevron",cls:"ico"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"tbtn",onClick:I,children:"今天"},void 0,!1,void 0,this),z("div",{class:"spacer"},void 0,!1,void 0,this),X.length>1&&z("button",{class:"tbtn",onClick:_,children:[z(S,{name:"calendar",cls:"ico sm"},void 0,!1,void 0,this),F.name]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"cal-grid cal-head",children:k7.map((C)=>z("div",{class:"cal-wd",children:C},C,!1,void 0,this))},void 0,!1,void 0,this),z("div",{class:"cal-body",children:B.map((C,g)=>z("div",{class:"cal-grid cal-week",children:C.map((T)=>{let u=T.getMonth()!==Y.m,c=lZ(T,H),n=v(T),d=r0(T);return z("div",{class:"cal-day"+(u?" dim":"")+(c?" today":""),"data-iso":d,onClick:(x)=>{if(x.target.closest(".cal-ev,.cal-add,.cal-more"))return;$({[F.name]:d})},children:[z("div",{class:"cal-daynum",children:[z("span",{children:T.getDate()},void 0,!1,void 0,this),z("button",{class:"cal-add",title:"新建记录",onClick:(x)=>{x.stopPropagation(),$({[F.name]:d})},children:z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"cal-events",children:[n.slice(0,nZ).map(({rec:x})=>z("div",{class:"cal-ev",style:{["--c"]:dZ(GZ(x,y)||x.id)},onPointerDown:(h)=>L(h,x),children:GZ(x,y)||"无标题"},x.id,!1,void 0,this)),n.length>nZ&&z("button",{class:"cal-more",onClick:(x)=>{x.stopPropagation(),O0(x,(h)=>z(s,{children:[z(g0,{children:[d," · ",n.length," 条记录"]},void 0,!0,void 0,this),n.map(({rec:K0})=>z(e,{label:GZ(K0,y)||"无标题",onClick:()=>{h(),q(K0.id)}},K0.id,!1,void 0,this))]},void 0,!0,void 0,this))},children:["+",n.length-nZ," 更多"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},d,!0,void 0,this)})},g,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function GZ(Z,J){if(!J)return"";let Q=Z.values[J.name];return Q==null?"":Array.isArray(Q)?Q.join(", "):String(Q)}function f7(Z){let J=document.createElement("div");return J.className="drag-ghost",J.textContent=Z||"移动记录",document.body.appendChild(J),J}var $9=200,x9=36,j9=44,u0=28,C4=3;function O4({props:Z,records:J,onCommitValue:Q,onOpenRecord:$}){let q=Z.filter((k)=>k.type==="date"),[X,W]=D(null),[G,F]=D(null),H=Z.find((k)=>k.id===X)??q[0]??null,Y=G==="none"?null:Z.find((k)=>k.id===G)??q.find((k)=>k!==H)??null,K=U0(null),w=U0(null);if(!H)return z("div",{class:"view-placeholder",children:"时间轴视图需要一个「日期」属性作为开始日期。请在表格视图中添加一个日期列后再切换到时间轴。"},void 0,!1,void 0,this);let y=Z[0],B=WZ(),A=J.map((k)=>{let b=g9(k.values[H.name]),M=Y?g9(k.values[Y.name]):null;return{rec:k,s:b,e:M&&b&&M<b?b:M}}),v=A.filter((k)=>k.s),f=B,I=B;if(v.length){f=v[0].s,I=v[0].s;for(let k of v){if(k.s<f)f=k.s;let b=k.e??k.s;if(b>I)I=b}}else f=j0(B,-10),I=j0(B,14);let P=j0(f,-C4),L=j0(I,C4),_=A9(P,L)+1,C=$9+_*u0,g=(k)=>$9+k*u0,T=A9(P,B),u=[];for(let k=0;k<_;k++)u.push(j0(P,k));let c=(k,b,M,Z0,J0)=>{if(J0===0)return;if(Z0==="move"){if(b)Q(k,H,r0(j0(b,J0)));if(Y&&M)Q(k,Y,r0(j0(M,J0)))}else if(Z0==="l"&&b){let Q0=j0(b,J0);Q(k,H,r0(M&&Q0>M?M:Q0))}else if(Z0==="r"&&Y&&M){let Q0=j0(M,J0);Q(k,Y,r0(b&&Q0<b?b:Q0))}},n=(k,b)=>{let M=w.current;if(!M)return;M.style.left=k+"px",M.style.display="block";let Z0=M.firstElementChild;if(Z0)Z0.textContent=b},d=()=>{if(w.current)w.current.style.display="none"},x=(k,b,M,Z0,J0,Q0)=>{if(k.button!==0||!M)return;k.preventDefault(),k.stopPropagation();let{offsetLeft:H0,offsetWidth:k0}=Q0,y0=!1;K.current={pointerId:k.pointerId,startX:k.clientX};let N=(r)=>{let t=K.current;if(!t||t.pointerId!==r.pointerId)return;let W0=Math.round((r.clientX-t.startX)/u0);if(Math.abs(r.clientX-t.startX)>3)y0=!0;let C0,q0;if(J0==="move"){let p=H0+W0*u0;Q0.style.left=p+"px",C0=p,q0=j0(M,W0)}else if(J0==="l"){let p=H0+W0*u0;Q0.style.left=p+"px",Q0.style.width=Math.max(u0,k0-W0*u0)+"px",C0=p,q0=j0(M,W0)}else{let p=Math.max(u0,k0+W0*u0);Q0.style.width=p+"px",C0=H0+p,q0=j0(M,Math.round(p/u0)-1)}n(C0,r0(q0))},j=(r)=>{let t=K.current;if(!t||t.pointerId!==r.pointerId)return;removeEventListener("pointermove",N),removeEventListener("pointerup",j),removeEventListener("pointercancel",j),K.current=null,d();let W0=Math.round((r.clientX-t.startX)/u0);if(!y0){$(b.id);return}c(b,M,Z0,J0,W0)};addEventListener("pointermove",N,{passive:!1}),addEventListener("pointerup",j),addEventListener("pointercancel",j)},h=(k,b)=>{if(Q(k,H,r0(b)),Y)Q(k,Y,r0(b))},K0=(k,b)=>{let M=k.currentTarget.closest(".tl-row");if(!M)return;let Z0=k.clientX-M.getBoundingClientRect().left;if(Z0<$9)return;let J0=Math.max(0,Math.min(_-1,Math.round((Z0-$9)/u0)));h(b,j0(P,J0))};return z("div",{class:"tl",children:[z("div",{class:"tl-toolbar",children:z("button",{class:"tbtn",onClick:(k)=>O0(k,(b)=>z(s,{children:[z(g0,{children:"开始日期"},void 0,!1,void 0,this),q.map((M)=>z(e,{icon:c0[M.type],label:M.name,checked:M===H,onClick:()=>{W(M.id),b()}},M.id,!1,void 0,this)),z(N0,{},void 0,!1,void 0,this),z(g0,{children:"结束日期(可选)"},void 0,!1,void 0,this),z(e,{icon:"x",label:"无(里程碑)",checked:!Y,onClick:()=>{F("none"),b()}},void 0,!1,void 0,this),q.map((M)=>z(e,{icon:c0[M.type],label:M.name,checked:M===Y,onClick:()=>{F(M.id),b()}},M.id,!1,void 0,this))]},void 0,!0,void 0,this)),children:[z(S,{name:"timeline",cls:"ico sm"},void 0,!1,void 0,this),H.name,Y?` → ${Y.name}`:"(里程碑)"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z("div",{class:"tl-scroll",children:z("div",{class:"tl-canvas",style:{width:C,height:j9+A.length*x9+8},children:[z("div",{class:"tl-axis",style:{height:j9},children:[z("div",{class:"tl-corner",style:{width:$9},children:"记录"},void 0,!1,void 0,this),u.map((k,b)=>{let M=k.getDate()===1;return z("div",{class:"tl-tick"+(M?" mstart":"")+(A9(k,B)===0?" today":""),style:{left:g(b),width:u0},children:[M&&z("span",{class:"tl-month",children:[k.getMonth()+1,"月"]},void 0,!0,void 0,this),z("span",{class:"tl-dnum",children:k.getDate()},void 0,!1,void 0,this)]},b,!0,void 0,this)})]},void 0,!0,void 0,this),A.map(({rec:k,s:b,e:M},Z0)=>{let J0=b?A9(P,b):0,Q0=b&&M?A9(b,M)+1:1;return z("div",{class:"tl-row",style:{top:j9+Z0*x9,height:x9},children:[z("div",{class:"tl-rowlabel",style:{width:$9},children:A4(k,y)||z("span",{class:"muted",children:"无标题"},void 0,!1,void 0,this)},void 0,!1,void 0,this),!b?z("div",{class:"tl-track-empty",style:{left:$9},onClick:(H0)=>K0(H0,k),title:"点击空白处排期",children:z("button",{class:"tl-schedule",style:{left:$9+8},onClick:(H0)=>{H0.stopPropagation(),h(k,B)},children:"未排期 · 排到今天"},void 0,!1,void 0,this)},void 0,!1,void 0,this):M?z("div",{class:"tl-item",style:{left:g(J0),width:Q0*u0},onPointerDown:(H0)=>x(H0,k,b,M,"move",H0.currentTarget),children:[z("span",{class:"tl-h l",onPointerDown:(H0)=>x(H0,k,b,M,"l",H0.currentTarget.parentElement)},void 0,!1,void 0,this),z("span",{class:"tl-label",children:A4(k,y)},void 0,!1,void 0,this),z("span",{class:"tl-h r",onPointerDown:(H0)=>x(H0,k,b,M,"r",H0.currentTarget.parentElement)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):z("div",{class:"tl-milestone",style:{left:g(J0)},title:r0(b),onPointerDown:(H0)=>x(H0,k,b,null,"move",H0.currentTarget)},void 0,!1,void 0,this)]},k.id,!0,void 0,this)}),T>=0&&T<_&&z("div",{class:"tl-today",style:{left:g(T)+u0/2,height:j9+A.length*x9}},void 0,!1,void 0,this),z("div",{class:"tl-guide",ref:w,style:{display:"none",height:j9+A.length*x9},children:z("span",{class:"tl-guide-label"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function A4(Z,J){if(!J)return"";let Q=Z.values[J.name];return Q==null?"":Array.isArray(Q)?Q.join(", "):String(Q)}var V7=[["表格","list"],["看板","group"],["日历","calendar"],["时间轴","timeline"]];function HZ(Z){return{r0:Math.min(Z.a.r,Z.b.r),r1:Math.max(Z.a.r,Z.b.r),c0:Math.min(Z.a.c,Z.b.c),c1:Math.max(Z.a.c,Z.b.c)}}function M4({db:Z,reloadNav:J,onError:Q}){let[$,q]=D([]),[X,W]=D([]),[G,F]=D(0),[H,Y]=D(new Set),[K,w]=D(null),[y,B]=D(null),[A,v]=D(null),[f,I]=D(null),P=(N)=>N.config?.width??180,L=U0(null),_=U0(null),C=U0(null),g=U0(!1),T=(N)=>N().catch((j)=>Q(String(j.message))),u=async()=>{let[N,j]=await Promise.all([a.listProperties(Z.id),a.listRecords(Z.id)]);q(N),W(j)};Y0(()=>{Y(new Set),v(null),F(0),I(null),u().catch((N)=>Q(String(N.message)))},[Z.id]);let c=(N,j,r)=>T(async()=>{let t=await a.updateRecord(N.id,{[j.name]:r});W((W0)=>W0.map((C0)=>C0.id===N.id?t:C0)),B(null)}),n=(N)=>T(async()=>{let j=await a.createRecord(Z.id,N);W((r)=>[...r,j])}),d=()=>n({}),x=(N)=>T(async()=>{if(await Promise.all(N.map((j)=>a.deleteRecord(j))),W((j)=>j.filter((r)=>!N.includes(r.id))),Y(new Set),A&&N.includes(A))v(null)}),h=(N)=>T(async()=>{let j=await a.createRecord(Z.id,N.values);W((r)=>{let t=r.findIndex((W0)=>W0.id===N.id);return[...r.slice(0,t+1),j,...r.slice(t+1)]})}),K0=(N,j,r)=>{if(N===j||K)return;W((t)=>v4(t,N,j,r))},R=(N,j,r)=>{if(N===j||K)return;K0(N,j,r),a.moveRecord(N,j,r).catch((t)=>{Q(String(t.message)),u().catch((W0)=>Q(String(W0.message)))})},k=(N,j,r)=>{if(N===j)return;q((t)=>{let W0=v4(t,N,j,r).map((p,l)=>({...p,position:l+1})),C0=new Map(t.map((p)=>[p.id,p.position])),q0=W0.filter((p)=>C0.get(p.id)!==p.position);if(q0.length)Promise.all(q0.map((p)=>a.updateProperty(p.id,{position:p.position}))).catch((p)=>{Q(String(p.message)),u().catch((l)=>Q(String(l.message)))});return W0})},b=(N,j)=>{if(K||N.button!==0)return;let r=N.currentTarget.closest("tr");if(!r)return;N.preventDefault();let t=r.getBoundingClientRect(),W0={id:j.id,pointerId:N.pointerId,startX:N.clientX,startY:N.clientY,offsetX:N.clientX-t.left,offsetY:N.clientY-t.top,active:!1,source:r,ghost:null,targetId:null,where:"before"};L.current=W0;let C0=(p)=>{let l=L.current;if(!l||l.pointerId!==p.pointerId)return;if(!l.active){let f0=p.clientX-l.startX,B0=p.clientY-l.startY;if(Math.hypot(f0,B0)<4)return;l.active=!0,l.ghost=g7(l.source),l.source.classList.add("drag-source"),document.body.classList.add("table-dragging")}p.preventDefault(),_4(l.ghost,p.clientX-l.offsetX,p.clientY-l.offsetY),S7(l,p.clientX,p.clientY)},q0=(p)=>{let l=L.current;if(!l||l.pointerId!==p.pointerId)return;if(removeEventListener("pointermove",C0),removeEventListener("pointerup",q0),removeEventListener("pointercancel",q0),l.ghost?.remove(),l.source.classList.remove("drag-source"),document.body.classList.remove("table-dragging"),tZ(),L.current=null,l.active&&l.targetId)R(l.id,l.targetId,l.where)};addEventListener("pointermove",C0,{passive:!1}),addEventListener("pointerup",q0),addEventListener("pointercancel",q0)},M=(N,j)=>{if(N.button!==0)return;let r=N.currentTarget.closest("th");if(!r)return;let t=r.getBoundingClientRect(),W0={id:j.id,pointerId:N.pointerId,startX:N.clientX,startY:N.clientY,offsetX:N.clientX-t.left,offsetY:N.clientY-t.top,active:!1,source:r,ghost:null,targetId:null,where:"before"};C.current=W0;let C0=(p)=>{let l=C.current;if(!l||l.pointerId!==p.pointerId)return;if(!l.active){let f0=p.clientX-l.startX,B0=p.clientY-l.startY;if(Math.hypot(f0,B0)<4)return;l.active=!0,g.current=!0,l.ghost=x7(l.source),l.source.classList.add("drag-source"),document.body.classList.add("table-dragging")}p.preventDefault(),_4(l.ghost,p.clientX-l.offsetX,p.clientY-l.offsetY),T7(l,p.clientX,p.clientY)},q0=(p)=>{let l=C.current;if(!l||l.pointerId!==p.pointerId)return;if(removeEventListener("pointermove",C0),removeEventListener("pointerup",q0),removeEventListener("pointercancel",q0),l.ghost?.remove(),l.source.classList.remove("drag-source"),document.body.classList.remove("table-dragging"),oZ(),C.current=null,l.active)setTimeout(()=>{g.current=!1},0);if(l.active&&l.targetId)k(l.id,l.targetId,l.where)};addEventListener("pointermove",C0,{passive:!1}),addEventListener("pointerup",q0),addEventListener("pointercancel",q0)},Z0=(N,j,r)=>{if(N.button!==0)return;if(N.target.closest("input,button,a"))return;let t=N.shiftKey&&f?f.a:{r:j,c:r};I({a:t,b:{r:j,c:r}}),_.current={pointerId:N.pointerId,startX:N.clientX,startY:N.clientY,active:!1};let W0=(q0)=>{let p=_.current;if(!p||p.pointerId!==q0.pointerId)return;if(!p.active){if(Math.hypot(q0.clientX-p.startX,q0.clientY-p.startY)<4)return;p.active=!0,document.body.classList.add("cell-selecting")}q0.preventDefault();let l=document.elementFromPoint(q0.clientX,q0.clientY)?.closest?.("td.cell-td");if(!l||l.dataset.r==null)return;I({a:t,b:{r:Number(l.dataset.r),c:Number(l.dataset.c)}})},C0=(q0)=>{let p=_.current;if(!p||p.pointerId!==q0.pointerId)return;removeEventListener("pointermove",W0),removeEventListener("pointerup",C0),removeEventListener("pointercancel",C0),document.body.classList.remove("cell-selecting"),_.current=null};addEventListener("pointermove",W0,{passive:!1}),addEventListener("pointerup",C0),addEventListener("pointercancel",C0)},J0=(N)=>T(async()=>{if(!f)return;let{r0:j,r1:r,c0:t,c1:W0}=HZ(f),C0=$.slice(t,W0+1),q0=H0.slice(j,r+1),p=await Promise.all(q0.map((l)=>{let f0={};for(let B0 of C0)f0[B0.name]=N(B0);return a.updateRecord(l.id,f0)}));W((l)=>l.map((f0)=>p.find((B0)=>B0.id===f0.id)??f0))}),Q0=async()=>{if(!f)return;let{r0:N,r1:j,c0:r,c1:t}=HZ(f),W0=$.slice(r,t+1),C0=H0.slice(N,j+1).map((q0)=>W0.map((p)=>B4(p,q0.values[p.name])).join("\t")).join(`
8
- `);try{await navigator.clipboard.writeText(C0)}catch{}},H0=K?[...X].sort((N,j)=>{let r=String(N.values[K.name]??""),t=String(j.values[K.name]??"");return(K.desc?-1:1)*r.localeCompare(t,"zh")}):X,k0=X.find((N)=>N.id===A)??null,y0=f?HZ(f):null;return Y0(()=>{let N=(j)=>{if(!f||y)return;let r=document.activeElement,t=(r?.tagName||"").toLowerCase();if(t==="input"||t==="textarea"||r?.isContentEditable)return;if((j.metaKey||j.ctrlKey)&&j.key.toLowerCase()==="c")j.preventDefault(),Q0();else if(j.key==="Escape")I(null);else if(j.key==="Delete"||j.key==="Backspace"){let W0=HZ(f);if(W0.r0!==W0.r1||W0.c0!==W0.c1)j.preventDefault(),J0(()=>null)}};return addEventListener("keydown",N),()=>removeEventListener("keydown",N)},[f,y,X,$,K]),z("div",{class:"db",onPointerDown:(N)=>{if(!N.target.closest("td.cell-td, .cellselbar"))I(null)},children:[z("div",{class:"db-head",children:[z("div",{class:"db-icon",children:Z.icon||"\uD83D\uDDC2️"},void 0,!1,void 0,this),z("div",{children:z("div",{class:"db-title",contentEditable:!0,onBlur:(N)=>{let j=N.target.textContent?.trim()||Z.name;if(j!==Z.name)T(async()=>{await a.updateDatabase(Z.id,{name:j}),await J()})},children:Z.name},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"views",children:[V7.map(([N,j],r)=>z("div",{class:"view-tab"+(r===G?" active":""),onClick:()=>F(r),children:[z(S,{name:j},void 0,!1,void 0,this),N]},N,!0,void 0,this)),z("div",{class:"view-tab",title:"新建视图",children:z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{class:"spacer",style:{flex:1}},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:d,children:[z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),G===0&&z("div",{class:"toolbar",children:[z("button",{class:"tbtn",onClick:(N)=>E7(N,$,K,w),children:[z(S,{name:"sort",cls:"ico sm"},void 0,!1,void 0,this),"排序"]},void 0,!0,void 0,this),z("button",{class:"tbtn",children:[z(S,{name:"filter",cls:"ico sm"},void 0,!1,void 0,this),"筛选"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),G===1?z(L4,{props:$,records:X,onCommitValue:c,onCreate:n,onOpenRecord:v,onMove:R},void 0,!1,void 0,this):G===2?z(P4,{props:$,records:X,onCommitValue:c,onCreate:n,onOpenRecord:v},void 0,!1,void 0,this):G===3?z(O4,{props:$,records:X,onCommitValue:c,onCreate:n,onOpenRecord:v},void 0,!1,void 0,this):z("div",{class:"tablewrap",children:[z("div",{class:"tablescroll",children:z("table",{class:"grid",children:[z("colgroup",{children:[z("col",{style:{width:38}},void 0,!1,void 0,this),z("col",{style:{width:26}},void 0,!1,void 0,this),$.map((N)=>z("col",{"data-col-id":N.id,style:{width:P(N)}},N.id,!1,void 0,this)),z("col",{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("thead",{children:z("tr",{children:[z("th",{class:"selcell",children:z("input",{type:"checkbox",checked:H.size>0&&H.size===X.length,onChange:(N)=>Y(N.target.checked?new Set(X.map((j)=>j.id)):new Set)},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("th",{class:"gripcol"},void 0,!1,void 0,this),$.map((N)=>z("th",{"data-col-id":N.id,children:[z("div",{class:"colhead",onPointerDown:(j)=>M(j,N),onClick:(j)=>{if(g.current){g.current=!1,j.preventDefault(),j.stopPropagation();return}h7(j,N,Z.id,u,$)},children:[z("span",{class:"ti",children:z(S,{name:c0[N.type]??"text",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"nm",children:N.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z(j7,{colId:N.id,startWidth:P(N),onCommit:(j)=>{q((r)=>r.map((t)=>t.id===N.id?{...t,config:{...t.config??{},width:j}}:t)),a.setColumnWidth(N.id,j).catch((r)=>{Q(String(r.message)),u().catch(()=>{})})}},void 0,!1,void 0,this)]},N.id,!0,void 0,this)),z("th",{class:"addcol",children:z("div",{class:"colhead",title:"新建属性",onClick:(N)=>u7(N,Z.id,u),children:z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z("tbody",{children:H0.map((N,j)=>z("tr",{"data-row-id":N.id,class:H.has(N.id)?"sel":"",children:[z("td",{class:"selcell",children:z("input",{type:"checkbox",checked:H.has(N.id),onChange:()=>Y((r)=>{let t=new Set(r);return t.has(N.id)?t.delete(N.id):t.add(N.id),t})},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("td",{class:"rowgrip",title:K?"清除排序后可拖拽移动":"拖拽移动","aria-disabled":K?"true":void 0,onPointerDown:(r)=>b(r,N),children:z(S,{name:"grip",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.map((r,t)=>{let W0=y0!=null&&j>=y0.r0&&j<=y0.r1&&t>=y0.c0&&t<=y0.c1,C0;if(W0&&y0){let q0=[];if(j===y0.r0)q0.push("inset 0 2px 0 0 var(--accent)");if(j===y0.r1)q0.push("inset 0 -2px 0 0 var(--accent)");if(t===y0.c0)q0.push("inset 2px 0 0 0 var(--accent)");if(t===y0.c1)q0.push("inset -2px 0 0 0 var(--accent)");C0=q0.join(",")||void 0}return z("td",{class:"cell-td"+(W0?" cellsel":""),"data-r":j,"data-c":t,style:C0?{boxShadow:C0}:void 0,onPointerDown:(q0)=>Z0(q0,j,t),children:z(R7,{rec:N,prop:r,first:t===0,editing:y?.rec===N.id&&y?.prop===r.id,onEdit:()=>B({rec:N.id,prop:r.id}),onCancel:()=>B(null),onCommit:(q0)=>c(N,r,q0),onOpen:()=>v(N.id),onRowMenu:(q0)=>p7(q0,N,()=>v(N.id),()=>h(N),()=>x([N.id]))},void 0,!1,void 0,this)},r.id,!1,void 0,this)}),z("td",{class:"filler"},void 0,!1,void 0,this)]},N.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z("div",{class:"addrow",onClick:d,children:[z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建记录"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"gridfoot",children:[z("span",{children:["共 ",X.length," 条记录"]},void 0,!0,void 0,this),z("span",{children:[$.length," 个属性"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),H.size>0&&z("div",{class:"selbar",children:[z("span",{class:"cnt",children:[H.size," 已选"]},void 0,!0,void 0,this),z("button",{onClick:()=>T(async()=>{for(let N of H)await h(X.find((j)=>j.id===N))}),children:[z(S,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"复制"]},void 0,!0,void 0,this),z("button",{class:"del",onClick:async()=>{if(await x0({title:"删除记录?",message:`确定删除选中的 ${H.size} 条记录?`,confirmLabel:"删除",danger:!0}))x([...H])},children:[z(S,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this),"删除"]},void 0,!0,void 0,this),z("button",{onClick:()=>Y(new Set),children:z(S,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),y0&&(y0.r0!==y0.r1||y0.c0!==y0.c1)&&z("div",{class:"selbar cellselbar",children:[z("span",{class:"cnt",children:[(y0.r1-y0.r0+1)*(y0.c1-y0.c0+1)," 个单元格"]},void 0,!0,void 0,this),z("button",{onClick:Q0,children:[z(S,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"复制"]},void 0,!0,void 0,this),z("button",{onClick:()=>J0((N)=>H0[y0.r0].values[N.name]??null),children:[z(S,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"填充"]},void 0,!0,void 0,this),z("button",{class:"del",onClick:()=>J0(()=>null),children:[z(S,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this),"清空"]},void 0,!0,void 0,this),z("button",{onClick:()=>I(null),children:z(S,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),k0&&z(c7,{db:Z,props:$,rec:k0,onClose:()=>v(null),onCommit:(N,j)=>c(k0,N,j),onDelete:()=>x([k0.id]),onDuplicate:()=>h(k0)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function R7({rec:Z,prop:J,first:Q,editing:$,onEdit:q,onCancel:X,onCommit:W,onOpen:G,onRowMenu:F}){let H=Z.values[J.name];if(J.type==="checkbox")return z("div",{class:"cell center",children:z("input",{type:"checkbox",checked:!!H,style:{width:16,height:16,accentColor:"var(--accent)"},onChange:()=>W(!H)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($&&(J.type==="select"||J.type==="multi_select"));if($&&J.type!=="select"&&J.type!=="multi_select"){let w=Array.isArray(H)?H.join(", "):H==null?"":String(H);return z("div",{class:"cell",children:z("input",{class:"inlineedit",type:J.type==="number"?"number":J.type==="date"?"date":"text",value:w,autofocus:!0,onBlur:(y)=>W(rZ(J.type,y.target.value)),onKeyDown:(y)=>{if(y.key==="Enter")y.target.blur();if(y.key==="Escape")X()}},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let Y=(w)=>{if(J.type==="select"||J.type==="multi_select")N4(w,J,H,W);else q()},K=z(C9,{prop:J,val:H},void 0,!1,void 0,this);if(Q)return z("div",{class:"cell",onDblClick:Y,onContextMenu:(w)=>{w.preventDefault(),F(w)},children:z("div",{class:"firstcell",children:[K,z("div",{class:"rowactions",children:z("button",{class:"rowopen",title:"打开",onClick:(w)=>{w.stopPropagation(),G()},children:z(S,{name:"openPeek",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return z("div",{class:"cell",onDblClick:Y,children:K},void 0,!1,void 0,this)}function v4(Z,J,Q,$){let q=[...Z],X=q.findIndex((F)=>F.id===J);if(X<0)return Z;let W=q.splice(X,1)[0],G=q.findIndex((F)=>F.id===Q);if(G<0)return Z;if($==="after")G+=1;return q.splice(G,0,W),q}function tZ(){document.querySelectorAll("table.grid tr.drop-before,table.grid tr.drop-after").forEach((Z)=>Z.classList.remove("drop-before","drop-after"))}function I7(Z,J){tZ();let Q=Z.getBoundingClientRect(),$=J<Q.top+Q.height/2?"before":"after";return Z.classList.add($==="before"?"drop-before":"drop-after"),$}function oZ(){document.querySelectorAll("table.grid th.drop-before,table.grid th.drop-after").forEach((Z)=>Z.classList.remove("drop-before","drop-after"))}function b7(Z,J){oZ();let Q=Z.getBoundingClientRect(),$=J<Q.left+Q.width/2?"before":"after";return Z.classList.add($==="before"?"drop-before":"drop-after"),$}function S7(Z,J,Q){let $=document.elementFromPoint(J,Q)?.closest?.("tr[data-row-id]");if(!$||$.dataset.rowId===Z.id){tZ(),Z.targetId=null;return}Z.targetId=$.dataset.rowId??null,Z.where=I7($,Q)}function T7(Z,J,Q){let $=document.elementFromPoint(J,Q)?.closest?.("th[data-col-id]");if(!$||$.dataset.colId===Z.id){oZ(),Z.targetId=null;return}Z.targetId=$.dataset.colId??null,Z.where=b7($,J)}function _4(Z,J,Q){if(!Z)return;Z.style.transform=`translate3d(${Math.round(J)}px, ${Math.round(Q)}px, 0)`}function g7(Z){let J=Z.getBoundingClientRect(),Q=document.createElement("div");Q.className="drag-ghost row-ghost",Q.style.width=`${J.width}px`,Q.style.height=`${J.height}px`;let $=Array.from(Z.querySelectorAll("td")).map((q)=>(q.textContent??"").trim()).filter(Boolean).join(" ");return Q.textContent=$||"移动记录",document.body.appendChild(Q),Q}function x7(Z){let J=Z.getBoundingClientRect(),Q=document.createElement("div");return Q.className="drag-ghost col-ghost",Q.style.width=`${J.width}px`,Q.style.height=`${J.height}px`,Q.textContent=Z.textContent?.trim()||"移动属性",document.body.appendChild(Q),Q}function j7({colId:Z,startWidth:J,onCommit:Q}){return z("div",{class:"col-resizer",onPointerDown:(q)=>{q.preventDefault(),q.stopPropagation();let X=q.currentTarget,W=document.querySelector(`col[data-col-id="${CSS.escape(Z)}"]`),G=q.clientX,F=J,H=0;X.classList.add("dragging"),document.body.classList.add("col-resizing");let Y=()=>{if(H=0,W)W.style.width=F+"px"},K=(y)=>{if(F=Math.max(80,J+y.clientX-G),!H)H=requestAnimationFrame(Y)},w=()=>{if(H)cancelAnimationFrame(H);if(W)W.style.width=F+"px";removeEventListener("pointermove",K),removeEventListener("pointerup",w),removeEventListener("pointercancel",w),X.classList.remove("dragging"),document.body.classList.remove("col-resizing"),Q(F)};addEventListener("pointermove",K,{passive:!1}),addEventListener("pointerup",w),addEventListener("pointercancel",w)}},void 0,!1,void 0,this)}function N4(Z,J,Q,$){Z.stopPropagation();let q=J.type==="multi_select",X=J.config?.options??[];O0(Z,(W)=>z(D7,{multi:q,options:X,value:Q,onPick:(G)=>{if($(G),!q)W()}},void 0,!1,void 0,this))}function D7({multi:Z,options:J,value:Q,onPick:$}){let[q,X]=D(Q),W=(F)=>Z?Array.isArray(q)?q.includes(F):!1:q===F,G=(F)=>{if(Z){let H=new Set(Array.isArray(q)?q:[]);H.has(F)?H.delete(F):H.add(F);let Y=[...H];X(Y),$(Y)}else X(F),$(F)};return z(s,{children:[z(g0,{children:Z?"多选 — 点选切换":"单选"},void 0,!1,void 0,this),J.map((F)=>z("button",{class:"item",onClick:()=>G(F),children:[z(K9,{text:F},void 0,!1,void 0,this),W(F)&&z("span",{class:"chk",children:z(S,{name:"check",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},F,!0,void 0,this)),Z&&Array.isArray(q)&&q.length>0&&z(s,{children:[z(N0,{},void 0,!1,void 0,this),z(e,{icon:"x",label:"清空",onClick:()=>{X([]),$([])}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function h7(Z,J,Q,$,q){Z.stopPropagation(),O0(Z,(X)=>z(m7,{prop:J,dbId:Q,reload:$,close:X,allProps:q},void 0,!1,void 0,this),{minWidth:252})}function m7({prop:Z,dbId:J,reload:Q,close:$,allProps:q}){let[X,W]=D(Z.name),[G,F]=D(Z.type),[H,Y]=D(Z.config?.options??[]),K=(B)=>a.updateProperty(Z.id,B).then(Q).catch(()=>{}),w=(B)=>{F(B);let A=H;if((B==="select"||B==="multi_select")&&A.length===0)A=["选项 1","选项 2"],Y(A);K({type:B,...B==="select"||B==="multi_select"?{config:{options:A}}:{}})},y=(B)=>{Y(B),K({config:{options:B}})};return z(s,{children:[z("input",{class:"field",value:X,onInput:(B)=>W(B.target.value),onBlur:()=>X&&X!==Z.name&&K({name:X}),onKeyDown:(B)=>{if(B.key==="Enter")B.target.blur(),$()}},void 0,!1,void 0,this),z(g0,{children:"属性类型"},void 0,!1,void 0,this),z("div",{class:"typegrid",children:Object.keys(P9).map((B)=>z("button",{class:"item"+(B===G?" sel":""),onClick:()=>w(B),children:[z("span",{class:"lico",children:z(S,{name:c0[B],cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"d",children:P9[B].t},void 0,!1,void 0,this)]},B,!0,void 0,this))},void 0,!1,void 0,this),(G==="select"||G==="multi_select")&&z(s,{children:[z(N0,{},void 0,!1,void 0,this),z(g0,{children:"选项"},void 0,!1,void 0,this),H.map((B,A)=>z("div",{class:"optrow",children:[z(K9,{text:B},void 0,!1,void 0,this),z("button",{class:"x",onClick:()=>y(H.filter((v,f)=>f!==A)),children:z(S,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},B+A,!0,void 0,this)),z(e,{icon:"plus",label:"添加选项",onClick:()=>y([...H,"选项 "+(H.length+1)])},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"cornerUpRight",label:"在右侧插入列",onClick:()=>{$(),a.createProperty({db:J,name:"新属性",type:"text"}).then(Q)}},void 0,!1,void 0,this),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"trash",label:"删除属性",danger:!0,onClick:async()=>{if($(),await x0({title:"删除属性?",message:`「${Z.name}」及其所有单元格数据将被移除。`,confirmLabel:"删除",danger:!0}))a.deleteProperty(Z.id).then(Q)}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function u7(Z,J,Q){Z.stopPropagation(),O0(Z,($)=>z(s,{children:[z(g0,{children:"新建属性 · 选择类型"},void 0,!1,void 0,this),z("div",{class:"typegrid",children:Object.keys(P9).map((q)=>z("button",{class:"item",onClick:()=>{$();let X=q==="select"||q==="multi_select"?{options:["选项 1","选项 2"]}:void 0;a.createProperty({db:J,name:P9[q].t,type:q,config:X}).then(Q).catch(()=>{})},children:[z("span",{class:"lico",children:z(S,{name:c0[q],cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"d",children:P9[q].t},void 0,!1,void 0,this)]},q,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this))}function E7(Z,J,Q,$){O0(Z,(q)=>z(s,{children:[z(g0,{children:"排序依据"},void 0,!1,void 0,this),J.map((X)=>z(e,{icon:c0[X.type],label:X.name,onClick:()=>{$({name:X.name,desc:Q?.name===X.name?!Q.desc:!1}),q()}},X.id,!1,void 0,this)),Q&&z(s,{children:[z(N0,{},void 0,!1,void 0,this),z(e,{icon:"x",label:"清除排序",onClick:()=>{$(null),q()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this))}function p7(Z,J,Q,$,q){Z.stopPropagation(),O0(Z,(X)=>z(s,{children:[z(e,{icon:"cornerUpRight",label:"打开记录",onClick:()=>{X(),Q()}},void 0,!1,void 0,this),z(e,{icon:"copy",label:"复制记录",onClick:()=>{X(),$()}},void 0,!1,void 0,this),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"trash",label:"删除记录",danger:!0,onClick:async()=>{if(X(),await x0({title:"删除记录?",message:"确定删除这条记录?",confirmLabel:"删除",danger:!0}))q()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))}function c7({db:Z,props:J,rec:Q,onClose:$,onCommit:q,onDelete:X,onDuplicate:W}){let[G,F]=D(null),{open:H,close:Y}=qZ($),K=J[0];return z(s,{children:[z("div",{class:"scrim"+(H?" open":""),onClick:Y},void 0,!1,void 0,this),z("div",{class:"peek"+(H?" open":""),children:[z("div",{class:"peek-head",children:[z("button",{class:"iconbtn",onClick:Y,children:z(S,{name:"x"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{style:{flex:1}},void 0,!1,void 0,this),z("button",{class:"iconbtn",title:"更多",onClick:(w)=>O0(w,(y)=>z(s,{children:[z(e,{icon:"copy",label:"复制记录",onClick:()=>{y(),W()}},void 0,!1,void 0,this),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"trash",label:"删除记录",danger:!0,onClick:async()=>{if(y(),await x0({title:"删除记录?",message:"确定删除这条记录?",confirmLabel:"删除",danger:!0}))X()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)),children:z(S,{name:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"peek-body",children:[z("h2",{contentEditable:!0,onBlur:(w)=>K&&q(K,w.target.textContent??""),children:K?String(Q.values[K.name]??"无标题"):"无标题"},void 0,!1,void 0,this),J.map((w)=>z("div",{class:"proprow",children:[z("div",{class:"k",children:[z(S,{name:c0[w.type]??"text",cls:"ico sm"},void 0,!1,void 0,this),z("span",{children:w.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z(i7,{prop:w,rec:Q,editing:G===w.id,onEdit:()=>F(w.id),onCommit:(y)=>{q(w,y),F(null)}},void 0,!1,void 0,this)]},w.id,!0,void 0,this)),z("div",{class:"peek-divider"},void 0,!1,void 0,this),z("div",{class:"muted",style:{fontSize:12,fontWeight:600,marginBottom:8},children:"页面正文"},void 0,!1,void 0,this),z("div",{class:"editable",contentEditable:!0,"data-ph":"记录也可拥有自己的块级正文…",style:{minHeight:90},children:"每条记录都可作为页面打开,并拥有块级正文。"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function i7({prop:Z,rec:J,editing:Q,onEdit:$,onCommit:q}){let X=J.values[Z.name];if(Z.type==="checkbox")return z("div",{class:"v",children:z("input",{type:"checkbox",checked:!!X,style:{width:16,height:16,accentColor:"var(--accent)"},onChange:()=>q(!X)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Z.type==="select"||Z.type==="multi_select")return z("div",{class:"v",onClick:(W)=>N4(W,Z,X,q),children:z(C9,{prop:Z,val:X},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Q){let W=Array.isArray(X)?X.join(", "):X==null?"":String(X);return z("div",{class:"v",children:z("input",{class:"inlineedit",type:Z.type==="number"?"number":Z.type==="date"?"date":"text",value:W,autofocus:!0,onBlur:(G)=>q(rZ(Z.type,G.target.value)),onKeyDown:(G)=>{if(G.key==="Enter")G.target.blur()}},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return z("div",{class:"v",onClick:$,children:z(C9,{prop:Z,val:X},void 0,!1,void 0,this)},void 0,!1,void 0,this)}var j6=o1(x6(),1);var CZ=j6.default;function sQ(Z){for(var J=1;J<arguments.length;J++){var Q=arguments[J];for(var $ in Q)if(Object.prototype.hasOwnProperty.call(Q,$))Z[$]=Q[$]}return Z}function F8(Z,J){return Array(J+1).join(Z)}function m6(Z){return Z.replace(/^\n*/,"")}function u6(Z){var J=Z.length;while(J>0&&Z[J-1]===`
9
- `)J--;return Z.substring(0,J)}function E6(Z){return u6(m6(Z))}var eQ=["ADDRESS","ARTICLE","ASIDE","AUDIO","BLOCKQUOTE","BODY","CANVAS","CENTER","DD","DIR","DIV","DL","DT","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","FRAMESET","H1","H2","H3","H4","H5","H6","HEADER","HGROUP","HR","HTML","ISINDEX","LI","MAIN","MENU","NAV","NOFRAMES","NOSCRIPT","OL","OUTPUT","P","PRE","SECTION","TABLE","TBODY","TD","TFOOT","TH","THEAD","TR","UL"];function K8(Z){return Y8(Z,eQ)}var p6=["AREA","BASE","BR","COL","COMMAND","EMBED","HR","IMG","INPUT","KEYGEN","LINK","META","PARAM","SOURCE","TRACK","WBR"];function c6(Z){return Y8(Z,p6)}function Z3(Z){return a6(Z,p6)}var i6=["A","TABLE","THEAD","TBODY","TFOOT","TH","TD","IFRAME","SCRIPT","AUDIO","VIDEO"];function J3(Z){return Y8(Z,i6)}function Q3(Z){return a6(Z,i6)}function Y8(Z,J){return J.indexOf(Z.nodeName)>=0}function a6(Z,J){return Z.getElementsByTagName&&J.some(function(Q){return Z.getElementsByTagName(Q).length})}var z3=[[/\\/g,"\\\\"],[/\*/g,"\\*"],[/^-/g,"\\-"],[/^\+ /g,"\\+ "],[/^(=+)/g,"\\$1"],[/^(#{1,6}) /g,"\\$1 "],[/`/g,"\\`"],[/^~~~/g,"\\~~~"],[/\[/g,"\\["],[/\]/g,"\\]"],[/^>/g,"\\>"],[/_/g,"\\_"],[/^(\d+)\. /g,"$1\\. "]];function d6(Z){return z3.reduce(function(J,Q){return J.replace(Q[0],Q[1])},Z)}var h0={};h0.paragraph={filter:"p",replacement:function(Z){return`
1
+ var wJ=Object.create;var{getPrototypeOf:CJ,defineProperty:j8,getOwnPropertyNames:OJ}=Object;var _J=Object.prototype.hasOwnProperty;function AJ(Z){return this[Z]}var MJ,NJ,vJ=(Z,J,Q)=>{var $=Z!=null&&typeof Z==="object";if($){var X=J?MJ??=new WeakMap:NJ??=new WeakMap,q=X.get(Z);if(q)return q}Q=Z!=null?wJ(CJ(Z)):{};let W=J||!Z||!Z.__esModule?j8(Q,"default",{value:Z,enumerable:!0}):Q;for(let G of OJ(Z))if(!_J.call(W,G))j8(W,G,{get:AJ.bind(Z,G),enumerable:!0});if($)X.set(Z,W);return W};var _0=(Z,J)=>()=>(J||Z((J={exports:{}}).exports,J),J.exports);var G5=_0((tX,W5)=>{function a4(Z){if(Z instanceof Map)Z.clear=Z.delete=Z.set=function(){throw Error("map is read-only")};else if(Z instanceof Set)Z.add=Z.clear=Z.delete=function(){throw Error("set is read-only")};return Object.freeze(Z),Object.getOwnPropertyNames(Z).forEach((J)=>{let Q=Z[J],$=typeof Q;if(($==="object"||$==="function")&&!Object.isFrozen(Q))a4(Q)}),Z}class p1{constructor(Z){if(Z.data===void 0)Z.data={};this.data=Z.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function l4(Z){return Z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function P9(Z,...J){let Q=Object.create(null);for(let $ in Z)Q[$]=Z[$];return J.forEach(function($){for(let X in $)Q[X]=$[X]}),Q}var b3="</span>",u4=(Z)=>{return!!Z.scope},g3=(Z,{prefix:J})=>{if(Z.startsWith("language:"))return Z.replace("language:","language-");if(Z.includes(".")){let Q=Z.split(".");return[`${J}${Q.shift()}`,...Q.map(($,X)=>`${$}${"_".repeat(X+1)}`)].join(" ")}return`${J}${Z}`};class n4{constructor(Z,J){this.buffer="",this.classPrefix=J.classPrefix,Z.walk(this)}addText(Z){this.buffer+=l4(Z)}openNode(Z){if(!u4(Z))return;let J=g3(Z.scope,{prefix:this.classPrefix});this.span(J)}closeNode(Z){if(!u4(Z))return;this.buffer+=b3}value(){return this.buffer}span(Z){this.buffer+=`<span class="${Z}">`}}var E4=(Z={})=>{let J={children:[]};return Object.assign(J,Z),J};class c1{constructor(){this.rootNode=E4(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(Z){this.top.children.push(Z)}openNode(Z){let J=E4({scope:Z});this.add(J),this.stack.push(J)}closeNode(){if(this.stack.length>1)return this.stack.pop();return}closeAllNodes(){while(this.closeNode());}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(Z){return this.constructor._walk(Z,this.rootNode)}static _walk(Z,J){if(typeof J==="string")Z.addText(J);else if(J.children)Z.openNode(J),J.children.forEach((Q)=>this._walk(Z,Q)),Z.closeNode(J);return Z}static _collapse(Z){if(typeof Z==="string")return;if(!Z.children)return;if(Z.children.every((J)=>typeof J==="string"))Z.children=[Z.children.join("")];else Z.children.forEach((J)=>{c1._collapse(J)})}}class r4 extends c1{constructor(Z){super();this.options=Z}addText(Z){if(Z==="")return;this.add(Z)}startScope(Z){this.openNode(Z)}endScope(){this.closeNode()}__addSublanguage(Z,J){let Q=Z.root;if(J)Q.scope=`language:${J}`;this.add(Q)}toHTML(){return new n4(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function XZ(Z){if(!Z)return null;if(typeof Z==="string")return Z;return Z.source}function o4(Z){return T9("(?=",Z,")")}function x3(Z){return T9("(?:",Z,")*")}function j3(Z){return T9("(?:",Z,")?")}function T9(...Z){return Z.map((Q)=>XZ(Q)).join("")}function D3(Z){let J=Z[Z.length-1];if(typeof J==="object"&&J.constructor===Object)return Z.splice(Z.length-1,1),J;else return{}}function i1(...Z){return"("+(D3(Z).capture?"":"?:")+Z.map(($)=>XZ($)).join("|")+")"}function t4(Z){return new RegExp(Z.toString()+"|").exec("").length-1}function h3(Z,J){let Q=Z&&Z.exec(J);return Q&&Q.index===0}var m3=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function d1(Z,{joinWith:J}){let Q=0;return Z.map(($)=>{Q+=1;let X=Q,q=XZ($),W="";while(q.length>0){let G=m3.exec(q);if(!G){W+=q;break}if(W+=q.substring(0,G.index),q=q.substring(G.index+G[0].length),G[0][0]==="\\"&&G[1])W+="\\"+String(Number(G[1])+X);else if(W+=G[0],G[0]==="(")Q++}return W}).map(($)=>`(${$})`).join(J)}var u3=/\b\B/,s4="[a-zA-Z]\\w*",a1="[a-zA-Z_]\\w*",e4="\\b\\d+(\\.\\d+)?",Z5="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",J5="\\b(0b[01]+)",E3="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",p3=(Z={})=>{let J=/^#![ ]*\//;if(Z.binary)Z.begin=T9(J,/.*\b/,Z.binary,/\b.*/);return P9({scope:"meta",begin:J,end:/$/,relevance:0,"on:begin":(Q,$)=>{if(Q.index!==0)$.ignoreMatch()}},Z)},qZ={begin:"\\\\[\\s\\S]",relevance:0},c3={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[qZ]},i3={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[qZ]},d3={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},pZ=function(Z,J,Q={}){let $=P9({scope:"comment",begin:Z,end:J,contains:[]},Q);$.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let X=i1("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return $.contains.push({begin:T9(/[ ]+/,"(",X,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),$},a3=pZ("//","$"),l3=pZ("/\\*","\\*/"),n3=pZ("#","$"),r3={scope:"number",begin:e4,relevance:0},o3={scope:"number",begin:Z5,relevance:0},t3={scope:"number",begin:J5,relevance:0},s3={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[qZ,{begin:/\[/,end:/\]/,relevance:0,contains:[qZ]}]},e3={scope:"title",begin:s4,relevance:0},ZQ={scope:"title",begin:a1,relevance:0},JQ={begin:"\\.\\s*"+a1,relevance:0},QQ=function(Z){return Object.assign(Z,{"on:begin":(J,Q)=>{Q.data._beginMatch=J[1]},"on:end":(J,Q)=>{if(Q.data._beginMatch!==J[1])Q.ignoreMatch()}})},uZ=Object.freeze({__proto__:null,APOS_STRING_MODE:c3,BACKSLASH_ESCAPE:qZ,BINARY_NUMBER_MODE:t3,BINARY_NUMBER_RE:J5,COMMENT:pZ,C_BLOCK_COMMENT_MODE:l3,C_LINE_COMMENT_MODE:a3,C_NUMBER_MODE:o3,C_NUMBER_RE:Z5,END_SAME_AS_BEGIN:QQ,HASH_COMMENT_MODE:n3,IDENT_RE:s4,MATCH_NOTHING_RE:u3,METHOD_GUARD:JQ,NUMBER_MODE:r3,NUMBER_RE:e4,PHRASAL_WORDS_MODE:d3,QUOTE_STRING_MODE:i3,REGEXP_MODE:s3,RE_STARTERS_RE:E3,SHEBANG:p3,TITLE_MODE:e3,UNDERSCORE_IDENT_RE:a1,UNDERSCORE_TITLE_MODE:ZQ});function zQ(Z,J){if(Z.input[Z.index-1]===".")J.ignoreMatch()}function $Q(Z,J){if(Z.className!==void 0)Z.scope=Z.className,delete Z.className}function XQ(Z,J){if(!J)return;if(!Z.beginKeywords)return;if(Z.begin="\\b("+Z.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",Z.__beforeBegin=zQ,Z.keywords=Z.keywords||Z.beginKeywords,delete Z.beginKeywords,Z.relevance===void 0)Z.relevance=0}function qQ(Z,J){if(!Array.isArray(Z.illegal))return;Z.illegal=i1(...Z.illegal)}function WQ(Z,J){if(!Z.match)return;if(Z.begin||Z.end)throw Error("begin & end are not supported with match");Z.begin=Z.match,delete Z.match}function GQ(Z,J){if(Z.relevance===void 0)Z.relevance=1}var HQ=(Z,J)=>{if(!Z.beforeMatch)return;if(Z.starts)throw Error("beforeMatch cannot be used with starts");let Q=Object.assign({},Z);Object.keys(Z).forEach(($)=>{delete Z[$]}),Z.keywords=Q.keywords,Z.begin=T9(Q.beforeMatch,o4(Q.begin)),Z.starts={relevance:0,contains:[Object.assign(Q,{endsParent:!0})]},Z.relevance=0,delete Q.beforeMatch},KQ=["of","and","for","in","not","or","if","then","parent","list","value"],FQ="keyword";function Q5(Z,J,Q=FQ){let $=Object.create(null);if(typeof Z==="string")X(Q,Z.split(" "));else if(Array.isArray(Z))X(Q,Z);else Object.keys(Z).forEach(function(q){Object.assign($,Q5(Z[q],J,q))});return $;function X(q,W){if(J)W=W.map((G)=>G.toLowerCase());W.forEach(function(G){let K=G.split("|");$[K[0]]=[q,YQ(K[0],K[1])]})}}function YQ(Z,J){if(J)return Number(J);return UQ(Z)?0:1}function UQ(Z){return KQ.includes(Z.toLowerCase())}var p4={},R9=(Z)=>{console.error(Z)},c4=(Z,...J)=>{console.log(`WARN: ${Z}`,...J)},c9=(Z,J)=>{if(p4[`${Z}/${J}`])return;console.log(`Deprecated as of ${Z}. ${J}`),p4[`${Z}/${J}`]=!0},EZ=Error();function z5(Z,J,{key:Q}){let $=0,X=Z[Q],q={},W={};for(let G=1;G<=J.length;G++)W[G+$]=X[G],q[G+$]=!0,$+=t4(J[G-1]);Z[Q]=W,Z[Q]._emit=q,Z[Q]._multi=!0}function BQ(Z){if(!Array.isArray(Z.begin))return;if(Z.skip||Z.excludeBegin||Z.returnBegin)throw R9("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),EZ;if(typeof Z.beginScope!=="object"||Z.beginScope===null)throw R9("beginScope must be object"),EZ;z5(Z,Z.begin,{key:"beginScope"}),Z.begin=d1(Z.begin,{joinWith:""})}function LQ(Z){if(!Array.isArray(Z.end))return;if(Z.skip||Z.excludeEnd||Z.returnEnd)throw R9("skip, excludeEnd, returnEnd not compatible with endScope: {}"),EZ;if(typeof Z.endScope!=="object"||Z.endScope===null)throw R9("endScope must be object"),EZ;z5(Z,Z.end,{key:"endScope"}),Z.end=d1(Z.end,{joinWith:""})}function yQ(Z){if(Z.scope&&typeof Z.scope==="object"&&Z.scope!==null)Z.beginScope=Z.scope,delete Z.scope}function PQ(Z){if(yQ(Z),typeof Z.beginScope==="string")Z.beginScope={_wrap:Z.beginScope};if(typeof Z.endScope==="string")Z.endScope={_wrap:Z.endScope};BQ(Z),LQ(Z)}function wQ(Z){function J(W,G){return new RegExp(XZ(W),"m"+(Z.case_insensitive?"i":"")+(Z.unicodeRegex?"u":"")+(G?"g":""))}class Q{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(W,G){G.position=this.position++,this.matchIndexes[this.matchAt]=G,this.regexes.push([G,W]),this.matchAt+=t4(W)+1}compile(){if(this.regexes.length===0)this.exec=()=>null;let W=this.regexes.map((G)=>G[1]);this.matcherRe=J(d1(W,{joinWith:"|"}),!0),this.lastIndex=0}exec(W){this.matcherRe.lastIndex=this.lastIndex;let G=this.matcherRe.exec(W);if(!G)return null;let K=G.findIndex((F,Y)=>Y>0&&F!==void 0),H=this.matchIndexes[K];return G.splice(0,K),Object.assign(G,H)}}class ${constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(W){if(this.multiRegexes[W])return this.multiRegexes[W];let G=new Q;return this.rules.slice(W).forEach(([K,H])=>G.addRule(K,H)),G.compile(),this.multiRegexes[W]=G,G}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(W,G){if(this.rules.push([W,G]),G.type==="begin")this.count++}exec(W){let G=this.getMatcher(this.regexIndex);G.lastIndex=this.lastIndex;let K=G.exec(W);if(this.resumingScanAtSamePosition())if(K&&K.index===this.lastIndex);else{let H=this.getMatcher(0);H.lastIndex=this.lastIndex+1,K=H.exec(W)}if(K){if(this.regexIndex+=K.position+1,this.regexIndex===this.count)this.considerAll()}return K}}function X(W){let G=new $;if(W.contains.forEach((K)=>G.addRule(K.begin,{rule:K,type:"begin"})),W.terminatorEnd)G.addRule(W.terminatorEnd,{type:"end"});if(W.illegal)G.addRule(W.illegal,{type:"illegal"});return G}function q(W,G){let K=W;if(W.isCompiled)return K;[$Q,WQ,PQ,HQ].forEach((F)=>F(W,G)),Z.compilerExtensions.forEach((F)=>F(W,G)),W.__beforeBegin=null,[XQ,qQ,GQ].forEach((F)=>F(W,G)),W.isCompiled=!0;let H=null;if(typeof W.keywords==="object"&&W.keywords.$pattern)W.keywords=Object.assign({},W.keywords),H=W.keywords.$pattern,delete W.keywords.$pattern;if(H=H||/\w+/,W.keywords)W.keywords=Q5(W.keywords,Z.case_insensitive);if(K.keywordPatternRe=J(H,!0),G){if(!W.begin)W.begin=/\B|\b/;if(K.beginRe=J(K.begin),!W.end&&!W.endsWithParent)W.end=/\B|\b/;if(W.end)K.endRe=J(K.end);if(K.terminatorEnd=XZ(K.end)||"",W.endsWithParent&&G.terminatorEnd)K.terminatorEnd+=(W.end?"|":"")+G.terminatorEnd}if(W.illegal)K.illegalRe=J(W.illegal);if(!W.contains)W.contains=[];if(W.contains=[].concat(...W.contains.map(function(F){return CQ(F==="self"?W:F)})),W.contains.forEach(function(F){q(F,K)}),W.starts)q(W.starts,G);return K.matcher=X(K),K}if(!Z.compilerExtensions)Z.compilerExtensions=[];if(Z.contains&&Z.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return Z.classNameAliases=P9(Z.classNameAliases||{}),q(Z)}function $5(Z){if(!Z)return!1;return Z.endsWithParent||$5(Z.starts)}function CQ(Z){if(Z.variants&&!Z.cachedVariants)Z.cachedVariants=Z.variants.map(function(J){return P9(Z,{variants:null},J)});if(Z.cachedVariants)return Z.cachedVariants;if($5(Z))return P9(Z,{starts:Z.starts?P9(Z.starts):null});if(Object.isFrozen(Z))return P9(Z);return Z}var OQ="11.11.1";class X5 extends Error{constructor(Z,J){super(Z);this.name="HTMLInjectionError",this.html=J}}var E1=l4,i4=P9,d4=Symbol("nomatch"),_Q=7,q5=function(Z){let J=Object.create(null),Q=Object.create(null),$=[],X=!0,q="Could not find the language '{}', did you forget to load/include a language module?",W={disableAutodetect:!0,name:"Plain text",contains:[]},G={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:r4};function K(I){return G.noHighlightRe.test(I)}function H(I){let V=I.className+" ";V+=I.parentNode?I.parentNode.className:"";let g=G.languageDetectRe.exec(V);if(g){let j=v(g[1]);if(!j)c4(q.replace("{}",g[1])),c4("Falling back to no-highlight mode for this block.",I);return j?g[1]:"no-highlight"}return V.split(/\s+/).find((j)=>K(j)||v(j))}function F(I,V,g){let j="",e="";if(typeof V==="object")j=I,g=V.ignoreIllegals,e=V.language;else c9("10.7.0","highlight(lang, code, ...args) has been deprecated."),c9("10.7.0",`Please use highlight(code, options) instead.
2
+ https://github.com/highlightjs/highlight.js/issues/2277`),e=I,j=V;if(g===void 0)g=!0;let X0={code:j,language:e};B0("before:highlight",X0);let W0=X0.result?X0.result:Y(X0.language,X0.code,g);return W0.code=X0.code,B0("after:highlight",W0),W0}function Y(I,V,g,j){let e=Object.create(null);function X0(a,Q0){return a.keywords[Q0]}function W0(){if(!d.keywords){T0.addText(C0);return}let a=0;d.keywordPatternRe.lastIndex=0;let Q0=d.keywordPatternRe.exec(C0),y0="";while(Q0){y0+=C0.substring(a,Q0.index);let N0=q0.case_insensitive?Q0[0].toLowerCase():Q0[0],g0=X0(d,N0);if(g0){let[o0,yZ]=g0;if(T0.addText(y0),y0="",e[N0]=(e[N0]||0)+1,e[N0]<=_Q)I9+=yZ;if(o0.startsWith("_"))y0+=Q0[0];else{let G1=q0.classNameAliases[o0]||o0;p(Q0[0],G1)}}else y0+=Q0[0];a=d.keywordPatternRe.lastIndex,Q0=d.keywordPatternRe.exec(C0)}y0+=C0.substring(a),T0.addText(y0)}function P0(){if(C0==="")return;let a=null;if(typeof d.subLanguage==="string"){if(!J[d.subLanguage]){T0.addText(C0);return}a=Y(d.subLanguage,C0,!0,S0[d.subLanguage]),S0[d.subLanguage]=a._top}else a=L(C0,d.subLanguage.length?d.subLanguage:null);if(d.relevance>0)I9+=a.relevance;T0.__addSublanguage(a._emitter,a.language)}function k0(){if(d.subLanguage!=null)P0();else W0();C0=""}function p(a,Q0){if(a==="")return;T0.startScope(Q0),T0.addText(a),T0.endScope()}function s(a,Q0){let y0=1,N0=Q0.length-1;while(y0<=N0){if(!a._emit[y0]){y0++;continue}let g0=q0.classNameAliases[a[y0]]||a[y0],o0=Q0[y0];if(g0)p(o0,g0);else C0=o0,W0(),C0="";y0++}}function Y0(a,Q0){if(a.scope&&typeof a.scope==="string")T0.openNode(q0.classNameAliases[a.scope]||a.scope);if(a.beginScope){if(a.beginScope._wrap)p(C0,q0.classNameAliases[a.beginScope._wrap]||a.beginScope._wrap),C0="";else if(a.beginScope._multi)s(a.beginScope,Q0),C0=""}return d=Object.create(a,{parent:{value:d}}),d}function U0(a,Q0,y0){let N0=h3(a.endRe,y0);if(N0){if(a["on:end"]){let g0=new p1(a);if(a["on:end"](Q0,g0),g0.isMatchIgnored)N0=!1}if(N0){while(a.endsParent&&a.parent)a=a.parent;return a}}if(a.endsWithParent)return U0(a.parent,Q0,y0)}function h0(a){if(d.matcher.regexIndex===0)return C0+=a[0],1;else return b9=!0,0}function z0(a){let Q0=a[0],y0=a.rule,N0=new p1(y0),g0=[y0.__beforeBegin,y0["on:begin"]];for(let o0 of g0){if(!o0)continue;if(o0(a,N0),N0.isMatchIgnored)return h0(Q0)}if(y0.skip)C0+=Q0;else{if(y0.excludeBegin)C0+=Q0;if(k0(),!y0.returnBegin&&!y0.excludeBegin)C0=Q0}return Y0(y0,a),y0.returnBegin?0:Q0.length}function N(a){let Q0=a[0],y0=V.substring(a.index),N0=U0(d,a,y0);if(!N0)return d4;let g0=d;if(d.endScope&&d.endScope._wrap)k0(),p(Q0,d.endScope._wrap);else if(d.endScope&&d.endScope._multi)k0(),s(d.endScope,a);else if(g0.skip)C0+=Q0;else{if(!(g0.returnEnd||g0.excludeEnd))C0+=Q0;if(k0(),g0.excludeEnd)C0=Q0}do{if(d.scope)T0.closeNode();if(!d.skip&&!d.subLanguage)I9+=d.relevance;d=d.parent}while(d!==N0.parent);if(N0.starts)Y0(N0.starts,a);return g0.returnEnd?0:Q0.length}function S(){let a=[];for(let Q0=d;Q0!==q0;Q0=Q0.parent)if(Q0.scope)a.unshift(Q0.scope);a.forEach((Q0)=>T0.openNode(Q0))}let c={};function h(a,Q0){let y0=Q0&&Q0[0];if(C0+=a,y0==null)return k0(),0;if(c.type==="begin"&&Q0.type==="end"&&c.index===Q0.index&&y0===""){if(C0+=V.slice(Q0.index,Q0.index+1),!X){let N0=Error(`0 width match regex (${I})`);throw N0.languageName=I,N0.badRule=c.rule,N0}return 1}if(c=Q0,Q0.type==="begin")return z0(Q0);else if(Q0.type==="illegal"&&!g){let N0=Error('Illegal lexeme "'+y0+'" for mode "'+(d.scope||"<unnamed>")+'"');throw N0.mode=d,N0}else if(Q0.type==="end"){let N0=N(Q0);if(N0!==d4)return N0}if(Q0.type==="illegal"&&y0==="")return C0+=`
3
+ `,1;if(f9>1e5&&f9>Q0.index*3)throw Error("potential infinite loop, way more iterations than matches");return C0+=y0,y0.length}let q0=v(I);if(!q0)throw R9(q.replace("{}",I)),Error('Unknown language: "'+I+'"');let D=wQ(q0),L0="",d=j||D,S0={},T0=new G.__emitter(G);S();let C0="",I9=0,r0=0,f9=0,b9=!1;try{if(!q0.__emitTokens){d.matcher.considerAll();for(;;){if(f9++,b9)b9=!1;else d.matcher.considerAll();d.matcher.lastIndex=r0;let a=d.matcher.exec(V);if(!a)break;let Q0=V.substring(r0,a.index),y0=h(Q0,a);r0=a.index+y0}h(V.substring(r0))}else q0.__emitTokens(V,T0);return T0.finalize(),L0=T0.toHTML(),{language:I,value:L0,relevance:I9,illegal:!1,_emitter:T0,_top:d}}catch(a){if(a.message&&a.message.includes("Illegal"))return{language:I,value:E1(V),illegal:!0,relevance:0,_illegalBy:{message:a.message,index:r0,context:V.slice(r0-100,r0+100),mode:a.mode,resultSoFar:L0},_emitter:T0};else if(X)return{language:I,value:E1(V),illegal:!1,relevance:0,errorRaised:a,_emitter:T0,_top:d};else throw a}}function C(I){let V={value:E1(I),illegal:!1,relevance:0,_top:W,_emitter:new G.__emitter(G)};return V._emitter.addText(I),V}function L(I,V){V=V||G.languages||Object.keys(J);let g=C(I),j=V.filter(v).filter(J0).map((k0)=>Y(k0,I,!1));j.unshift(g);let e=j.sort((k0,p)=>{if(k0.relevance!==p.relevance)return p.relevance-k0.relevance;if(k0.language&&p.language){if(v(k0.language).supersetOf===p.language)return 1;else if(v(p.language).supersetOf===k0.language)return-1}return 0}),[X0,W0]=e,P0=X0;return P0.secondBest=W0,P0}function B(I,V,g){let j=V&&Q[V]||g;I.classList.add("hljs"),I.classList.add(`language-${j}`)}function M(I){let V=null,g=H(I);if(K(g))return;if(B0("before:highlightElement",{el:I,language:g}),I.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",I);return}if(I.children.length>0){if(!G.ignoreUnescapedHTML)console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(I);if(G.throwUnescapedHTML)throw new X5("One of your code blocks includes unescaped HTML.",I.innerHTML)}V=I;let j=V.textContent,e=g?F(j,{language:g,ignoreIllegals:!0}):L(j);if(I.innerHTML=e.value,I.dataset.highlighted="yes",B(I,g,e.language),I.result={language:e.language,re:e.relevance,relevance:e.relevance},e.secondBest)I.secondBest={language:e.secondBest.language,relevance:e.secondBest.relevance};B0("after:highlightElement",{el:I,result:e,text:j})}function k(I){G=i4(G,I)}let T=()=>{_(),c9("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function O(){_(),c9("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let P=!1;function _(){function I(){_()}if(document.readyState==="loading"){if(!P)window.addEventListener("DOMContentLoaded",I,!1);P=!0;return}document.querySelectorAll(G.cssSelector).forEach(M)}function A(I,V){let g=null;try{g=V(Z)}catch(j){if(R9("Language definition for '{}' could not be registered.".replace("{}",I)),!X)throw j;else R9(j);g=W}if(!g.name)g.name=I;if(J[I]=g,g.rawDefinition=V.bind(null,Z),g.aliases)E(g.aliases,{languageName:I})}function y(I){delete J[I];for(let V of Object.keys(Q))if(Q[V]===I)delete Q[V]}function x(){return Object.keys(J)}function v(I){return I=(I||"").toLowerCase(),J[I]||J[Q[I]]}function E(I,{languageName:V}){if(typeof I==="string")I=[I];I.forEach((g)=>{Q[g.toLowerCase()]=V})}function J0(I){let V=v(I);return V&&!V.disableAutodetect}function l(I){if(I["before:highlightBlock"]&&!I["before:highlightElement"])I["before:highlightElement"]=(V)=>{I["before:highlightBlock"](Object.assign({block:V.el},V))};if(I["after:highlightBlock"]&&!I["after:highlightElement"])I["after:highlightElement"]=(V)=>{I["after:highlightBlock"](Object.assign({block:V.el},V))}}function A0(I){l(I),$.push(I)}function o(I){let V=$.indexOf(I);if(V!==-1)$.splice(V,1)}function B0(I,V){let g=I;$.forEach(function(j){if(j[g])j[g](V)})}function K0(I){return c9("10.7.0","highlightBlock will be removed entirely in v12.0"),c9("10.7.0","Please use highlightElement now."),M(I)}Object.assign(Z,{highlight:F,highlightAuto:L,highlightAll:_,highlightElement:M,highlightBlock:K0,configure:k,initHighlighting:T,initHighlightingOnLoad:O,registerLanguage:A,unregisterLanguage:y,listLanguages:x,getLanguage:v,registerAliases:E,autoDetection:J0,inherit:i4,addPlugin:A0,removePlugin:o}),Z.debugMode=function(){X=!1},Z.safeMode=function(){X=!0},Z.versionString=OQ,Z.regex={concat:T9,lookahead:o4,either:i1,optional:j3,anyNumberOfTimes:x3};for(let I in uZ)if(typeof uZ[I]==="object")a4(uZ[I]);return Object.assign(Z,uZ),Z},i9=q5({});i9.newInstance=()=>q5({});W5.exports=i9;i9.HighlightJS=i9;i9.default=i9});var K5=_0((sX,H5)=>{function AQ(Z){let J=Z.regex,Q=J.concat(/[\p{L}_]/u,J.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),$=/[\p{L}0-9._:-]+/u,X={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},q={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},W=Z.inherit(q,{begin:/\(/,end:/\)/}),G=Z.inherit(Z.APOS_STRING_MODE,{className:"string"}),K=Z.inherit(Z.QUOTE_STRING_MODE,{className:"string"}),H={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:$,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[X]},{begin:/'/,end:/'/,contains:[X]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[q,K,G,W,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[q,W,K,G]}]}]},Z.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},X,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[K]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[H],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[H],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:J.concat(/</,J.lookahead(J.concat(Q,J.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:Q,relevance:0,starts:H}]},{className:"tag",begin:J.concat(/<\//,J.lookahead(J.concat(Q,/>/))),contains:[{className:"name",begin:Q,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}H5.exports=AQ});var Y5=_0((eX,F5)=>{function MQ(Z){let J=Z.regex,Q={},$={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[Q]}]};Object.assign(Q,{className:"variable",variants:[{begin:J.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},$]});let X={className:"subst",begin:/\$\(/,end:/\)/,contains:[Z.BACKSLASH_ESCAPE]},q=Z.inherit(Z.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),W={begin:/<<-?\s*(?=\w+)/,starts:{contains:[Z.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},G={className:"string",begin:/"/,end:/"/,contains:[Z.BACKSLASH_ESCAPE,Q,X]};X.contains.push(G);let K={match:/\\"/},H={className:"string",begin:/'/,end:/'/},F={match:/\\'/},Y={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},Z.NUMBER_MODE,Q]},C=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],L=Z.SHEBANG({binary:`(${C.join("|")})`,relevance:10}),B={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[Z.inherit(Z.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},M=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],k=["true","false"],T={match:/(\/[a-z._-]+)+/},O=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],P=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],_=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],A=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:M,literal:k,built_in:[...O,...P,"set","shopt",..._,...A]},contains:[L,Z.SHEBANG(),B,Y,q,W,T,G,K,H,F,Q]}}F5.exports=MQ});var B5=_0((Zq,U5)=>{function NQ(Z){let J=Z.regex,Q=Z.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),$="decltype\\(auto\\)",X="[a-zA-Z_]\\w*::",q="<[^<>]+>",W="(decltype\\(auto\\)|"+J.optional("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+J.optional("<[^<>]+>")+")",G={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},K="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",H={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[Z.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},Z.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},F={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},Y={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},Z.inherit(H,{className:"string"}),{className:"string",begin:/<.*?>/},Q,Z.C_BLOCK_COMMENT_MODE]},C={className:"title",begin:J.optional("[a-zA-Z_]\\w*::")+Z.IDENT_RE,relevance:0},L=J.optional("[a-zA-Z_]\\w*::")+Z.IDENT_RE+"\\s*\\(",k={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},T=[Y,G,Q,Z.C_BLOCK_COMMENT_MODE,F,H],O={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:k,contains:T.concat([{begin:/\(/,end:/\)/,keywords:k,contains:T.concat(["self"]),relevance:0}]),relevance:0},P={begin:"("+W+"[\\*&\\s]+)+"+L,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:k,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:k,relevance:0},{begin:L,returnBegin:!0,contains:[Z.inherit(C,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:[Q,Z.C_BLOCK_COMMENT_MODE,H,F,G,{begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:["self",Q,Z.C_BLOCK_COMMENT_MODE,H,F,G]}]},G,Q,Z.C_BLOCK_COMMENT_MODE,Y]};return{name:"C",aliases:["h"],keywords:k,disableAutodetect:!0,illegal:"</",contains:[].concat(O,P,T,[Y,{begin:Z.IDENT_RE+"::",keywords:k},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},Z.TITLE_MODE]}]),exports:{preprocessor:Y,strings:H,keywords:k}}}U5.exports=NQ});var y5=_0((Jq,L5)=>{function vQ(Z){let J=Z.regex,Q=Z.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),$="decltype\\(auto\\)",X="[a-zA-Z_]\\w*::",q="<[^<>]+>",W="(?!struct)(decltype\\(auto\\)|"+J.optional("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+J.optional("<[^<>]+>")+")",G={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},K="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",H={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[Z.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},Z.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},F={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},Y={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},Z.inherit(H,{className:"string"}),{className:"string",begin:/<.*?>/},Q,Z.C_BLOCK_COMMENT_MODE]},C={className:"title",begin:J.optional("[a-zA-Z_]\\w*::")+Z.IDENT_RE,relevance:0},L=J.optional("[a-zA-Z_]\\w*::")+Z.IDENT_RE+"\\s*\\(",B=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],M=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],k=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],T=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],_={type:M,keyword:B,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:k},A={className:"function.dispatch",relevance:0,keywords:{_hint:T},begin:J.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,Z.IDENT_RE,J.lookahead(/(<[^<>]+>|)\s*\(/))},y=[A,Y,G,Q,Z.C_BLOCK_COMMENT_MODE,F,H],x={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:_,contains:y.concat([{begin:/\(/,end:/\)/,keywords:_,contains:y.concat(["self"]),relevance:0}]),relevance:0},v={className:"function",begin:"("+W+"[\\*&\\s]+)+"+L,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:_,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:_,relevance:0},{begin:L,returnBegin:!0,contains:[C],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[H,F]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:[Q,Z.C_BLOCK_COMMENT_MODE,H,F,G,{begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:["self",Q,Z.C_BLOCK_COMMENT_MODE,H,F,G]}]},G,Q,Z.C_BLOCK_COMMENT_MODE,Y]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:_,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(x,v,A,y,[Y,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:_,contains:["self",G]},{begin:Z.IDENT_RE+"::",keywords:_},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}L5.exports=vQ});var w5=_0((Qq,P5)=>{function kQ(Z){let J=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],Q=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],$=["default","false","null","true"],X=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],q=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],W={keyword:X.concat(q),built_in:J,literal:$},G=Z.inherit(Z.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),K={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},H={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},F={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},Y=Z.inherit(F,{illegal:/\n/}),C={className:"subst",begin:/\{/,end:/\}/,keywords:W},L=Z.inherit(C,{illegal:/\n/}),B={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},Z.BACKSLASH_ESCAPE,L]},M={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},C]},k=Z.inherit(M,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},L]});C.contains=[M,B,F,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,K,Z.C_BLOCK_COMMENT_MODE],L.contains=[k,B,Y,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,K,Z.inherit(Z.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let T={variants:[H,M,B,F,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},O={begin:"<",end:">",contains:[{beginKeywords:"in out"},G]},P=Z.IDENT_RE+"(<"+Z.IDENT_RE+"(\\s*,\\s*"+Z.IDENT_RE+")*>)?(\\[\\])?",_={begin:"@"+Z.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:W,illegal:/::/,contains:[Z.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},T,K,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},G,O,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[G,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[G,O,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+P+"\\s+)+"+Z.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:W,contains:[{beginKeywords:Q.join(" "),relevance:0},{begin:Z.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[Z.TITLE_MODE,O],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:W,relevance:0,contains:[T,K,Z.C_BLOCK_COMMENT_MODE]},Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},_]}}P5.exports=kQ});var O5=_0((zq,C5)=>{var RQ=(Z)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:Z.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:Z.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},TQ=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],VQ=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],SQ=[...TQ,...VQ],IQ=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),fQ=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),bQ=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),gQ=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function xQ(Z){let J=Z.regex,Q=RQ(Z),$={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},X="and or not only",q=/@-?\w[\w]*(-\w+)*/,W="[a-zA-Z-][a-zA-Z0-9_-]*",G=[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[Q.BLOCK_COMMENT,$,Q.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},Q.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+fQ.join("|")+")"},{begin:":(:)?("+bQ.join("|")+")"}]},Q.CSS_VARIABLE,{className:"attribute",begin:"\\b("+gQ.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[Q.BLOCK_COMMENT,Q.HEXCOLOR,Q.IMPORTANT,Q.CSS_NUMBER_MODE,...G,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...G,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},Q.FUNCTION_DISPATCH]},{begin:J.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:q},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:IQ.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...G,Q.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+SQ.join("|")+")\\b"}]}}C5.exports=xQ});var A5=_0(($q,_5)=>{function jQ(Z){let J=Z.regex,Q={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},$={begin:"^[-\\*]{3,}",end:"$"},X={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},q={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},W={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},G=/[A-Za-z][A-Za-z0-9+.-]*/,K={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:J.concat(/\[.+?\]\(/,G,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},H={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},F={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},Y=Z.inherit(H,{contains:[]}),C=Z.inherit(F,{contains:[]});H.contains.push(C),F.contains.push(Y);let L=[Q,K];return[H,F,Y,C].forEach((T)=>{T.contains=T.contains.concat(L)}),L=L.concat(H,F),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:L},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:L}]}]},Q,q,H,F,{className:"quote",begin:"^>\\s+",contains:L,end:"$"},X,$,K,W,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}_5.exports=jQ});var N5=_0((Xq,M5)=>{function DQ(Z){let J=Z.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:J.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:J.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}M5.exports=DQ});var k5=_0((qq,v5)=>{function hQ(Z){let J=Z.regex,Q="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",$=J.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),X=J.concat($,/(::\w+)*/),W={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},G={className:"doctag",begin:"@[A-Za-z]+"},K={begin:"#<",end:">"},H=[Z.COMMENT("#","$",{contains:[G]}),Z.COMMENT("^=begin","^=end",{contains:[G],relevance:10}),Z.COMMENT("^__END__",Z.MATCH_NOTHING_RE)],F={className:"subst",begin:/#\{/,end:/\}/,keywords:W},Y={className:"string",contains:[Z.BACKSLASH_ESCAPE,F],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:J.concat(/<<[-~]?'?/,J.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[Z.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[Z.BACKSLASH_ESCAPE,F]})]}]},C="[1-9](_?[0-9])*|0",L="[0-9](_?[0-9])*",B={className:"number",relevance:0,variants:[{begin:"\\b([1-9](_?[0-9])*|0)(\\.([0-9](_?[0-9])*))?([eE][+-]?([0-9](_?[0-9])*)|r)?i?\\b"},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},M={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:W}]},y=[Y,{variants:[{match:[/class\s+/,X,/\s+<\s+/,X]},{match:[/\b(class|module)\s+/,X]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:W},{match:[/(include|extend)\s+/,X],scope:{2:"title.class"},keywords:W},{relevance:0,match:[X,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:$,scope:"title.class"},{match:[/def/,/\s+/,"([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)"],scope:{1:"keyword",3:"title.function"},contains:[M]},{begin:Z.IDENT_RE+"::"},{className:"symbol",begin:Z.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[Y,{begin:"([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)"}],relevance:0},B,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:W},{begin:"("+Z.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[Z.BACKSLASH_ESCAPE,F],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(K,H),relevance:0}].concat(K,H);F.contains=y,M.contains=y;let x="[>?]>",v="[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]",E="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>",J0=[{begin:/^\s*=>/,starts:{end:"$",contains:y}},{className:"meta.prompt",begin:"^("+x+"|"+v+"|"+E+")(?=[ ])",starts:{end:"$",keywords:W,contains:y}}];return H.unshift(K),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:W,illegal:/\/\*/,contains:[Z.SHEBANG({binary:"ruby"})].concat(J0).concat(H).concat(y)}}v5.exports=hQ});var T5=_0((Wq,R5)=>{function mQ(Z){let q={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:q,illegal:"</",contains:[Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,{className:"string",variants:[Z.QUOTE_STRING_MODE,Z.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[Z.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:q,illegal:/["']/}]}]}}R5.exports=mQ});var S5=_0((Gq,V5)=>{function uQ(Z){let J=Z.regex,Q=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[Z.HASH_COMMENT_MODE,Z.QUOTE_STRING_MODE,Z.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:J.concat(Q,J.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}V5.exports=uQ});var f5=_0((Hq,I5)=>{function EQ(Z){let J=Z.regex,Q={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:Z.NUMBER_RE}]},$=Z.COMMENT();$.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let X={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},q={className:"literal",begin:/\bon|off|true|false|yes|no\b/},W={className:"string",contains:[Z.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},G={begin:/\[/,end:/\]/,contains:[$,q,X,W,Q,"self"],relevance:0},K=/[A-Za-z0-9_-]+/,H=/"(\\"|[^"])*"/,F=/'[^']*'/,Y=J.either(K,H,F),C=J.concat(Y,"(\\s*\\.\\s*",Y,")*",J.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[$,{className:"section",begin:/\[+/,end:/\]+/},{begin:C,className:"attr",starts:{end:/$/,contains:[$,G,q,X,W,Q]}}]}}I5.exports=EQ});var j5=_0((Kq,x5)=>{var d9="[0-9](_*[0-9])*",cZ=`\\.(${d9})`,iZ="[0-9a-fA-F](_*[0-9a-fA-F])*",b5={className:"number",variants:[{begin:`(\\b(${d9})((${cZ})|\\.)?|(${cZ}))[eE][+-]?(${d9})[fFdD]?\\b`},{begin:`\\b(${d9})((${cZ})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${cZ})[fFdD]?\\b`},{begin:`\\b(${d9})[fFdD]\\b`},{begin:`\\b0[xX]((${iZ})\\.?|(${iZ})?\\.(${iZ}))[pP][+-]?(${d9})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${iZ})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function g5(Z,J,Q){if(Q===-1)return"";return Z.replace(J,($)=>{return g5(Z,J,Q-1)})}function pQ(Z){let J=Z.regex,Q="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",$="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+g5("(?:<"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+"~~~(?:\\s*,\\s*"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+"~~~)*>)?",/~~~/g,2),K={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},H={className:"meta",begin:"@"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},F={className:"params",begin:/\(/,end:/\)/,keywords:K,relevance:0,contains:[Z.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:K,illegal:/<\/|#/,contains:[Z.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[Z.BACKSLASH_ESCAPE]},Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[J.concat(/(?!else)/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"),/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"],className:{1:"keyword",3:"title.class"},contains:[F,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+$+"\\s+)",Z.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:K,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:K,relevance:0,contains:[H,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,b5,Z.C_BLOCK_COMMENT_MODE]},Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},b5,H]}}x5.exports=pQ});var E5=_0((Fq,u5)=>{var cQ=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],iQ=["true","false","null","undefined","NaN","Infinity"],D5=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],h5=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],m5=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],dQ=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],aQ=[].concat(m5,D5,h5);function lQ(Z){let J=Z.regex,Q=(g,{after:j})=>{let e="</"+g[0].slice(1);return g.input.indexOf(e,j)!==-1},$="[A-Za-z$_][0-9A-Za-z$_]*",X={begin:"<>",end:"</>"},q=/<[A-Za-z0-9\\._:-]+\s*\/>/,W={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(g,j)=>{let e=g[0].length+g.index,X0=g.input[e];if(X0==="<"||X0===","){j.ignoreMatch();return}if(X0===">"){if(!Q(g,{after:e}))j.ignoreMatch()}let W0,P0=g.input.substring(e);if(W0=P0.match(/^\s*=/)){j.ignoreMatch();return}if(W0=P0.match(/^\s+extends\s+/)){if(W0.index===0){j.ignoreMatch();return}}}},G={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:cQ,literal:iQ,built_in:aQ,"variable.language":dQ},K="[0-9](_?[0-9])*",H="\\.([0-9](_?[0-9])*)",F="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",Y={className:"number",variants:[{begin:"(\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)((\\.([0-9](_?[0-9])*))|\\.)?|(\\.([0-9](_?[0-9])*)))[eE][+-]?([0-9](_?[0-9])*)\\b"},{begin:"\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)\\b((\\.([0-9](_?[0-9])*))\\b|\\.)?|(\\.([0-9](_?[0-9])*))\\b"},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},C={className:"subst",begin:"\\$\\{",end:"\\}",keywords:G,contains:[]},L={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,C],subLanguage:"xml"}},B={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,C],subLanguage:"css"}},M={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,C],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[Z.BACKSLASH_ESCAPE,C]},O={className:"comment",variants:[Z.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:"[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),Z.C_BLOCK_COMMENT_MODE,Z.C_LINE_COMMENT_MODE]},P=[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,L,B,M,k,{match:/\$\d+/},Y];C.contains=P.concat({begin:/\{/,end:/\}/,keywords:G,contains:["self"].concat(P)});let _=[].concat(O,C.contains),A=_.concat([{begin:/(\s*)\(/,end:/\)/,keywords:G,contains:["self"].concat(_)}]),y={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:G,contains:A},x={variants:[{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s+/,/extends/,/\s+/,J.concat("[A-Za-z$_][0-9A-Za-z$_]*","(",J.concat(/\./,"[A-Za-z$_][0-9A-Za-z$_]*"),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*"],scope:{1:"keyword",3:"title.class"}}]},v={relevance:0,match:J.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...D5,...h5]}},E={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},J0={variants:[{match:[/function/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[y],illegal:/%/},l={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function A0(g){return J.concat("(?!",g.join("|"),")")}let o={match:J.concat(/\b/,A0([...m5,"super","import"].map((g)=>`${g}\\s*\\(`)),"[A-Za-z$_][0-9A-Za-z$_]*",J.lookahead(/\s*\(/)),className:"title.function",relevance:0},B0={begin:J.concat(/\./,J.lookahead(J.concat("[A-Za-z$_][0-9A-Za-z$_]*",/(?![0-9A-Za-z$_(])/))),end:"[A-Za-z$_][0-9A-Za-z$_]*",excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},K0={match:[/get|set/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},y]},I="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+Z.UNDERSCORE_IDENT_RE+")\\s*=>",V={match:[/const|var|let/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s*/,/=\s*/,/(async\s*)?/,J.lookahead(I)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[y]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:G,exports:{PARAMS_CONTAINS:A,CLASS_REFERENCE:v},illegal:/#(?![$_A-z])/,contains:[Z.SHEBANG({label:"shebang",binary:"node",relevance:5}),E,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,L,B,M,k,O,{match:/\$\d+/},Y,v,{scope:"attr",match:"[A-Za-z$_][0-9A-Za-z$_]*"+J.lookahead(":"),relevance:0},V,{begin:"("+Z.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[O,Z.REGEXP_MODE,{className:"function",begin:I,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:Z.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:G,contains:A}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:X.begin,end:X.end},{match:q},{begin:W.begin,"on:begin":W.isTrulyOpeningTag,end:W.end}],subLanguage:"xml",contains:[{begin:W.begin,end:W.end,skip:!0,contains:["self"]}]}]},J0,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+Z.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[y,Z.inherit(Z.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*",className:"title.function"})]},{match:/\.\.\./,relevance:0},B0,{match:"\\$[A-Za-z$_][0-9A-Za-z$_]*",relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[y]},o,l,x,K0,{match:/\$[(.]/}]}}u5.exports=lQ});var c5=_0((Yq,p5)=>{function nQ(Z){let J={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},Q={match:/[{}[\],:]/,className:"punctuation",relevance:0},$=["true","false","null"],X={scope:"literal",beginKeywords:$.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:$},contains:[J,Q,Z.QUOTE_STRING_MODE,X,Z.C_NUMBER_MODE,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}p5.exports=nQ});var d5=_0((Uq,i5)=>{var a9="[0-9](_*[0-9])*",dZ=`\\.(${a9})`,aZ="[0-9a-fA-F](_*[0-9a-fA-F])*",rQ={className:"number",variants:[{begin:`(\\b(${a9})((${dZ})|\\.)?|(${dZ}))[eE][+-]?(${a9})[fFdD]?\\b`},{begin:`\\b(${a9})((${dZ})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${dZ})[fFdD]?\\b`},{begin:`\\b(${a9})[fFdD]\\b`},{begin:`\\b0[xX]((${aZ})\\.?|(${aZ})?\\.(${aZ}))[pP][+-]?(${a9})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${aZ})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function oQ(Z){let J={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},Q={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},$={className:"symbol",begin:Z.UNDERSCORE_IDENT_RE+"@"},X={className:"subst",begin:/\$\{/,end:/\}/,contains:[Z.C_NUMBER_MODE]},q={className:"variable",begin:"\\$"+Z.UNDERSCORE_IDENT_RE},W={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[q,X]},{begin:"'",end:"'",illegal:/\n/,contains:[Z.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[Z.BACKSLASH_ESCAPE,q,X]}]};X.contains.push(W);let G={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+Z.UNDERSCORE_IDENT_RE+")?"},K={className:"meta",begin:"@"+Z.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[Z.inherit(W,{className:"string"}),"self"]}]},H=rQ,F=Z.COMMENT("/\\*","\\*/",{contains:[Z.C_BLOCK_COMMENT_MODE]}),Y={variants:[{className:"type",begin:Z.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},C=Y;return C.variants[1].contains=[Y],Y.variants[1].contains=[C],{name:"Kotlin",aliases:["kt","kts"],keywords:J,contains:[Z.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),Z.C_LINE_COMMENT_MODE,F,Q,$,G,K,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:J,relevance:5,contains:[{begin:Z.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[Z.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:J,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[Y,Z.C_LINE_COMMENT_MODE,F],relevance:0},Z.C_LINE_COMMENT_MODE,F,G,K,W,Z.C_NUMBER_MODE]},F]},{begin:[/class|interface|trait/,/\s+/,Z.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},Z.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},G,K]},W,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
4
+ `},H]}}i5.exports=oQ});var r5=_0((Bq,n5)=>{var tQ=(Z)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:Z.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:Z.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},sQ=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],eQ=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Zz=[...sQ,...eQ],Jz=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),a5=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),l5=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Qz=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),zz=a5.concat(l5).sort().reverse();function $z(Z){let J=tQ(Z),Q=zz,$="and or not only",X="[\\w-]+",q="([\\w-]+|@\\{[\\w-]+\\})",W=[],G=[],K=function(P){return{className:"string",begin:"~?"+P+".*?"+P}},H=function(P,_,A){return{className:P,begin:_,relevance:A}},F={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Jz.join(" ")},Y={begin:"\\(",end:"\\)",contains:G,keywords:F,relevance:0};G.push(Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,K("'"),K('"'),J.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},J.HEXCOLOR,Y,H("variable","@@?[\\w-]+",10),H("variable","@\\{[\\w-]+\\}"),H("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},J.IMPORTANT,{beginKeywords:"and not"},J.FUNCTION_DISPATCH);let C=G.concat({begin:/\{/,end:/\}/,contains:W}),L={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(G)},B={begin:q+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},J.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Qz.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:G}}]},M={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:F,returnEnd:!0,contains:G,relevance:0}},k={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:C}},T={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:q,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,L,H("keyword","all\\b"),H("variable","@\\{[\\w-]+\\}"),{begin:"\\b("+Zz.join("|")+")\\b",className:"selector-tag"},J.CSS_NUMBER_MODE,H("selector-tag",q,0),H("selector-id","#"+q),H("selector-class","\\."+q,0),H("selector-tag","&",0),J.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+a5.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+l5.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:C},{begin:"!important"},J.FUNCTION_DISPATCH]},O={begin:`[\\w-]+:(:)?(${Q.join("|")})`,returnBegin:!0,contains:[T]};return W.push(Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,M,k,O,B,T,L,J.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:W}}n5.exports=$z});var t5=_0((Lq,o5)=>{function Xz(Z){let $={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},X=[Z.COMMENT("--(?!\\[=*\\[)","$"),Z.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[$],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:Z.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:X.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[Z.inherit(Z.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:X}].concat(X)},Z.C_NUMBER_MODE,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[$],relevance:5}])}}o5.exports=Xz});var e5=_0((yq,s5)=>{function qz(Z){let J={className:"variable",variants:[{begin:"\\$\\("+Z.UNDERSCORE_IDENT_RE+"\\)",contains:[Z.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},Q={className:"string",begin:/"/,end:/"/,contains:[Z.BACKSLASH_ESCAPE,J]},$={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[J,Q]},X={begin:"^"+Z.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},q={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},W={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[J]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[Z.HASH_COMMENT_MODE,J,Q,$,X,q,W]}}s5.exports=qz});var J6=_0((Pq,Z6)=>{function Wz(Z){let J=Z.regex,Q=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],$=/[dualxmsipngr]{0,12}/,X={$pattern:/[\w.]+/,keyword:Q.join(" ")},q={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:X},W={begin:/->\{/,end:/\}/},G={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},K={scope:"variable",variants:[{begin:/\$\d/},{begin:J.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[G]},H={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},F=[Z.BACKSLASH_ESCAPE,q,K],Y=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],C=(M,k,T="\\1")=>{let O=T==="\\1"?T:J.concat(T,k);return J.concat(J.concat("(?:",M,")"),k,/(?:\\.|[^\\\/])*?/,O,/(?:\\.|[^\\\/])*?/,T,$)},L=(M,k,T)=>{return J.concat(J.concat("(?:",M,")"),k,/(?:\\.|[^\\\/])*?/,T,$)},B=[K,Z.HASH_COMMENT_MODE,Z.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),W,{className:"string",contains:F,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[Z.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[Z.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},H,{begin:"(\\/\\/|"+Z.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[Z.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:C("s|tr|y",J.either(...Y,{capture:!0}))},{begin:C("s|tr|y","\\(","\\)")},{begin:C("s|tr|y","\\[","\\]")},{begin:C("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:L("(?:m|qr)?",/\//,/\//)},{begin:L("m|qr",J.either(...Y,{capture:!0}),/\1/)},{begin:L("m|qr",/\(/,/\)/)},{begin:L("m|qr",/\[/,/\]/)},{begin:L("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[Z.TITLE_MODE,G]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[Z.TITLE_MODE,G,H]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return q.contains=B,W.contains=B,{name:"Perl",aliases:["pl","pm"],keywords:X,contains:B}}Z6.exports=Wz});var z6=_0((wq,Q6)=>{function Gz(Z){let J={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},Q=/[a-zA-Z@][a-zA-Z0-9_]*/,G={"variable.language":["this","super"],$pattern:Q,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},K={$pattern:Q,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:G,illegal:"</",contains:[J,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,Z.C_NUMBER_MODE,Z.QUOTE_STRING_MODE,Z.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[Z.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},Z.inherit(Z.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+K.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:K,contains:[Z.UNDERSCORE_TITLE_MODE]},{begin:"\\."+Z.UNDERSCORE_IDENT_RE,relevance:0}]}}Q6.exports=Gz});var X6=_0((Cq,$6)=>{function Hz(Z){let J=Z.regex,Q=/(?![A-Za-z0-9])(?![$])/,$=J.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,Q),X=J.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,Q),q=J.concat(/[A-Z]+/,Q),W={scope:"variable",match:"\\$+"+$},G={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:0.1},{begin:/\?>/}]},K={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},H=Z.inherit(Z.APOS_STRING_MODE,{illegal:null}),F=Z.inherit(Z.QUOTE_STRING_MODE,{illegal:null,contains:Z.QUOTE_STRING_MODE.contains.concat(K)}),Y={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:Z.QUOTE_STRING_MODE.contains.concat(K),"on:begin":(B0,K0)=>{K0.data._beginMatch=B0[1]||B0[2]},"on:end":(B0,K0)=>{if(K0.data._beginMatch!==B0[1])K0.ignoreMatch()}},C=Z.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),L=`[
5
+ ]`,B={scope:"string",variants:[F,H,Y,C]},M={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},k=["false","null","true"],T=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],O=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],_={keyword:T,literal:((B0)=>{let K0=[];return B0.forEach((I)=>{if(K0.push(I),I.toLowerCase()===I)K0.push(I.toUpperCase());else K0.push(I.toLowerCase())}),K0})(k),built_in:O},A=(B0)=>{return B0.map((K0)=>{return K0.replace(/\|\d+$/,"")})},y={variants:[{match:[/new/,J.concat(`[
6
+ ]`,"+"),J.concat("(?!",A(O).join("\\b|"),"\\b)"),X],scope:{1:"keyword",4:"title.class"}}]},x=J.concat($,"\\b(?!\\()"),v={variants:[{match:[J.concat(/::/,J.lookahead(/(?!class\b)/)),x],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[X,J.concat(/::/,J.lookahead(/(?!class\b)/)),x],scope:{1:"title.class",3:"variable.constant"}},{match:[X,J.concat("::",J.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[X,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},E={scope:"attr",match:J.concat($,J.lookahead(":"),J.lookahead(/(?!::)/))},J0={relevance:0,begin:/\(/,end:/\)/,keywords:_,contains:[E,W,v,Z.C_BLOCK_COMMENT_MODE,B,M,y]},l={relevance:0,match:[/\b/,J.concat("(?!fn\\b|function\\b|",A(T).join("\\b|"),"|",A(O).join("\\b|"),"\\b)"),$,J.concat(`[
7
+ ]`,"*"),J.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[J0]};J0.contains.push(l);let A0=[E,v,Z.C_BLOCK_COMMENT_MODE,B,M,y],o={begin:J.concat(/#\[\s*\\?/,J.either(X,q)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:k,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:k,keyword:["new","array"]},contains:["self",...A0]},...A0,{scope:"meta",variants:[{match:X},{match:q}]}]};return{case_insensitive:!1,keywords:_,contains:[o,Z.HASH_COMMENT_MODE,Z.COMMENT("//","$"),Z.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:Z.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},G,{scope:"variable.language",match:/\$this\b/},W,l,v,{match:[/const/,/\s/,$],scope:{1:"keyword",3:"variable.constant"}},y,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},Z.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:_,contains:["self",o,W,v,Z.C_BLOCK_COMMENT_MODE,B,M]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},Z.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[Z.inherit(Z.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},Z.UNDERSCORE_TITLE_MODE]},B,M]}}$6.exports=Hz});var W6=_0((Oq,q6)=>{function Kz(Z){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},Z.inherit(Z.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),Z.inherit(Z.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}q6.exports=Kz});var H6=_0((_q,G6)=>{function Fz(Z){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}G6.exports=Fz});var F6=_0((Aq,K6)=>{function Yz(Z){let J=Z.regex,Q=/[\p{XID_Start}_]\p{XID_Continue}*/u,$=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],G={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:$,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},K={className:"meta",begin:/^(>>>|\.\.\.) /},H={className:"subst",begin:/\{/,end:/\}/,keywords:G,illegal:/#/},F={begin:/\{\{/,relevance:0},Y={className:"string",contains:[Z.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[Z.BACKSLASH_ESCAPE,K],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[Z.BACKSLASH_ESCAPE,K],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[Z.BACKSLASH_ESCAPE,K,F,H]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[Z.BACKSLASH_ESCAPE,K,F,H]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[Z.BACKSLASH_ESCAPE,F,H]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[Z.BACKSLASH_ESCAPE,F,H]},Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},C="[0-9](_?[0-9])*",L="(\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.",B=`\\b|${$.join("|")}`,M={className:"number",relevance:0,variants:[{begin:`(\\b([0-9](_?[0-9])*)|((\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.))[eE][+-]?([0-9](_?[0-9])*)[jJ]?(?=${B})`},{begin:"((\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.)[jJ]?"},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${B})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${B})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${B})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${B})`},{begin:`\\b([0-9](_?[0-9])*)[jJ](?=${B})`}]},k={className:"comment",begin:J.lookahead(/# type:/),end:/$/,keywords:G,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},T={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:G,contains:["self",K,M,Y,Z.HASH_COMMENT_MODE]}]};return H.contains=[Y,M,K],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:G,illegal:/(<\/|\?)|=>/,contains:[K,M,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},Y,k,Z.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,Q],scope:{1:"keyword",3:"title.function"},contains:[T]},{variants:[{match:[/\bclass/,/\s+/,Q,/\s*/,/\(\s*/,Q,/\s*\)/]},{match:[/\bclass/,/\s+/,Q]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[M,T,Y]}]}}K6.exports=Yz});var U6=_0((Mq,Y6)=>{function Uz(Z){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}Y6.exports=Uz});var L6=_0((Nq,B6)=>{function Bz(Z){let J=Z.regex,Q=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,$=J.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),X=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,q=J.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:Q,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[Z.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:J.lookahead(J.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:Q},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),Z.HASH_COMMENT_MODE,{scope:"string",contains:[Z.BACKSLASH_ESCAPE],variants:[Z.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),Z.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),Z.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),Z.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),Z.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),Z.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[X,$]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,$]},{scope:{1:"punctuation",2:"number"},match:[q,$]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,$]}]},{scope:{3:"operator"},match:[Q,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:X},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:q},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}B6.exports=Bz});var P6=_0((vq,y6)=>{function Lz(Z){let J=Z.regex,Q=/(r#)?/,$=J.concat(Q,Z.UNDERSCORE_IDENT_RE),X=J.concat(Q,Z.IDENT_RE),q={className:"title.function.invoke",relevance:0,begin:J.concat(/\b/,/(?!let|for|while|if|else|match\b)/,X,J.lookahead(/\s*\(/))},W="([ui](8|16|32|64|128|size)|f(32|64))?",G=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],K=["true","false","Some","None","Ok","Err"],H=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],F=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:Z.IDENT_RE+"!?",type:F,keyword:G,literal:K,built_in:H},illegal:"</",contains:[Z.C_LINE_COMMENT_MODE,Z.COMMENT("/\\*","\\*/",{contains:["self"]}),Z.inherit(Z.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b0o([0-7_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b0x([A-Fa-f0-9_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)([ui](8|16|32|64|128|size)|f(32|64))?"}],relevance:0},{begin:[/fn/,/\s+/,$],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[Z.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,$],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,$,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,$],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,$],className:{1:"keyword",3:"title.class"}},{begin:Z.IDENT_RE+"::",keywords:{keyword:"Self",built_in:H,type:F}},{className:"punctuation",begin:"->"},q]}}y6.exports=Lz});var C6=_0((kq,w6)=>{var yz=(Z)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:Z.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:Z.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},Pz=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],wz=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Cz=[...Pz,...wz],Oz=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),_z=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Az=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Mz=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Nz(Z){let J=yz(Z),Q=Az,$=_z,X="@[a-z-]+",q="and or not only",W="[a-zA-Z-][a-zA-Z0-9_-]*",G={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,J.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},J.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Cz.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+$.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Q.join("|")+")"},G,{begin:/\(/,end:/\)/,contains:[J.CSS_NUMBER_MODE]},J.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Mz.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[J.BLOCK_COMMENT,G,J.HEXCOLOR,J.CSS_NUMBER_MODE,Z.QUOTE_STRING_MODE,Z.APOS_STRING_MODE,J.IMPORTANT,J.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:"@[a-z-]+",keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Oz.join(" ")},contains:[{begin:"@[a-z-]+",className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},G,Z.QUOTE_STRING_MODE,Z.APOS_STRING_MODE,J.HEXCOLOR,J.CSS_NUMBER_MODE]},J.FUNCTION_DISPATCH]}}w6.exports=Nz});var _6=_0((Rq,O6)=>{function vz(Z){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}O6.exports=vz});var M6=_0((Tq,A6)=>{function kz(Z){let J=Z.regex,Q=Z.COMMENT("--","$"),$={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},X={begin:/"/,end:/"/,contains:[{match:/""/}]},q=["true","false","unknown"],W=["double precision","large object","with timezone","without timezone"],G=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],K=["add","asc","collation","desc","final","first","last","view"],H=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],F=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],Y=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],C=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],L=F,B=[...H,...K].filter((A)=>{return!F.includes(A)}),M={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},k={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},T={match:J.concat(/\b/,J.either(...L),/\s*\(/),relevance:0,keywords:{built_in:L}};function O(A){return J.concat(/\b/,J.either(...A.map((y)=>{return y.replace(/\s+/,"\\s+")})),/\b/)}let P={scope:"keyword",match:O(C),relevance:0};function _(A,{exceptions:y,when:x}={}){let v=x;return y=y||[],A.map((E)=>{if(E.match(/\|\d+$/)||y.includes(E))return E;else if(v(E))return`${E}|0`;else return E})}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:_(B,{when:(A)=>A.length<3}),literal:q,type:G,built_in:Y},contains:[{scope:"type",match:O(W)},P,T,M,$,X,Z.C_NUMBER_MODE,Z.C_BLOCK_COMMENT_MODE,Q,k]}}A6.exports=kz});var f6=_0((Vq,I6)=>{function R6(Z){if(!Z)return null;if(typeof Z==="string")return Z;return Z.source}function WZ(Z){return I0("(?=",Z,")")}function I0(...Z){return Z.map((Q)=>R6(Q)).join("")}function Rz(Z){let J=Z[Z.length-1];if(typeof J==="object"&&J.constructor===Object)return Z.splice(Z.length-1,1),J;else return{}}function a0(...Z){return"("+(Rz(Z).capture?"":"?:")+Z.map(($)=>R6($)).join("|")+")"}var r1=(Z)=>I0(/\b/,Z,/\w$/.test(Z)?/\b/:/\B/),Tz=["Protocol","Type"].map(r1),N6=["init","self"].map(r1),Vz=["Any","Self"],l1=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],v6=["false","nil","true"],Sz=["assignment","associativity","higherThan","left","lowerThan","none","right"],Iz=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],k6=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],T6=a0(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),V6=a0(T6,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),n1=I0(T6,V6,"*"),S6=a0(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),nZ=a0(S6,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),W9=I0(S6,nZ,"*"),lZ=I0(/[A-Z]/,nZ,"*"),fz=["attached","autoclosure",I0(/convention\(/,a0("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",I0(/objc\(/,W9,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],bz=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function gz(Z){let J={match:/\s+/,relevance:0},Q=Z.COMMENT("/\\*","\\*/",{contains:["self"]}),$=[Z.C_LINE_COMMENT_MODE,Q],X={match:[/\./,a0(...Tz,...N6)],className:{2:"keyword"}},q={match:I0(/\./,a0(...l1)),relevance:0},W=l1.filter((D)=>typeof D==="string").concat(["_|0"]),G=l1.filter((D)=>typeof D!=="string").concat(Vz).map(r1),K={variants:[{className:"keyword",match:a0(...G,...N6)}]},H={$pattern:a0(/\b\w+/,/#\w+/),keyword:W.concat(Iz),literal:v6},F=[X,q,K],Y={match:I0(/\./,a0(...k6)),relevance:0},C={className:"built_in",match:I0(/\b/,a0(...k6),/(?=\()/)},L=[Y,C],B={match:/->/,relevance:0},M={className:"operator",relevance:0,variants:[{match:n1},{match:`\\.(\\.|${V6})+`}]},k=[B,M],T="([0-9]_*)+",O="([0-9a-fA-F]_*)+",P={className:"number",relevance:0,variants:[{match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{match:"\\b0x(([0-9a-fA-F]_*)+)(\\.(([0-9a-fA-F]_*)+))?([pP][+-]?(([0-9]_*)+))?\\b"},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},_=(D="")=>({className:"subst",variants:[{match:I0(/\\/,D,/[0\\tnr"']/)},{match:I0(/\\/,D,/u\{[0-9a-fA-F]{1,8}\}/)}]}),A=(D="")=>({className:"subst",match:I0(/\\/,D,/[\t ]*(?:[\r\n]|\r\n)/)}),y=(D="")=>({className:"subst",label:"interpol",begin:I0(/\\/,D,/\(/),end:/\)/}),x=(D="")=>({begin:I0(D,/"""/),end:I0(/"""/,D),contains:[_(D),A(D),y(D)]}),v=(D="")=>({begin:I0(D,/"/),end:I0(/"/,D),contains:[_(D),y(D)]}),E={className:"string",variants:[x(),x("#"),x("##"),x("###"),v(),v("#"),v("##"),v("###")]},J0=[Z.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[Z.BACKSLASH_ESCAPE]}],l={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:J0},A0=(D)=>{let L0=I0(D,/\//),d=I0(/\//,D);return{begin:L0,end:d,contains:[...J0,{scope:"comment",begin:`#(?!.*${d})`,end:/$/}]}},o={scope:"regexp",variants:[A0("###"),A0("##"),A0("#"),l]},B0={match:I0(/`/,W9,/`/)},K0={className:"variable",match:/\$\d+/},I={className:"variable",match:`\\$${nZ}+`},V=[B0,K0,I],g={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:bz,contains:[...k,P,E]}]}},j={scope:"keyword",match:I0(/@/,a0(...fz),WZ(a0(/\(/,/\s+/)))},e={scope:"meta",match:I0(/@/,W9)},X0=[g,j,e],W0={match:WZ(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:I0(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,nZ,"+")},{className:"type",match:lZ,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:I0(/\s+&\s+/,WZ(lZ)),relevance:0}]},P0={begin:/</,end:/>/,keywords:H,contains:[...$,...F,...X0,B,W0]};W0.contains.push(P0);let k0={match:I0(W9,/\s*:/),keywords:"_|0",relevance:0},p={begin:/\(/,end:/\)/,relevance:0,keywords:H,contains:["self",k0,...$,o,...F,...L,...k,P,E,...V,...X0,W0]},s={begin:/</,end:/>/,keywords:"repeat each",contains:[...$,W0]},Y0={begin:a0(WZ(I0(W9,/\s*:/)),WZ(I0(W9,/\s+/,W9,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:W9}]},U0={begin:/\(/,end:/\)/,keywords:H,contains:[Y0,...$,...F,...k,P,E,...X0,W0,p],endsParent:!0,illegal:/["']/},h0={match:[/(func|macro)/,/\s+/,a0(B0.match,W9,n1)],className:{1:"keyword",3:"title.function"},contains:[s,U0,J],illegal:[/\[/,/%/]},z0={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[s,U0,J],illegal:/\[|%/},N={match:[/operator/,/\s+/,n1],className:{1:"keyword",3:"title"}},S={begin:[/precedencegroup/,/\s+/,lZ],className:{1:"keyword",3:"title"},contains:[W0],keywords:[...Sz,...v6],end:/}/},c={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},h={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},q0={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,W9,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:H,contains:[s,...F,{begin:/:/,end:/\{/,keywords:H,contains:[{scope:"title.class.inherited",match:lZ},...F],relevance:0}]};for(let D of E.variants){let L0=D.contains.find((S0)=>S0.label==="interpol");L0.keywords=H;let d=[...F,...L,...k,P,E,...V];L0.contains=[...d,{begin:/\(/,end:/\)/,contains:["self",...d]}]}return{name:"Swift",keywords:H,contains:[...$,h0,z0,c,h,q0,N,S,{beginKeywords:"import",end:/$/,contains:[...$],relevance:0},o,...F,...L,...k,P,E,...V,...X0,W0,p]}}I6.exports=gz});var g6=_0((Sq,b6)=>{function xz(Z){let $={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},X={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},q={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},W={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[Z.BACKSLASH_ESCAPE,X]},G=Z.inherit(W,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),K="[0-9]{4}(-[0-9][0-9]){0,2}",H="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",F="(\\.[0-9]*)?",Y="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",C={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},L={end:",",endsWithParent:!0,excludeEnd:!0,keywords:"true false yes no null",relevance:0},B={begin:/\{/,end:/\}/,contains:[L],illegal:"\\n",relevance:0},M={begin:"\\[",end:"\\]",contains:[L],illegal:"\\n",relevance:0},k=[$,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"type",begin:"!<[\\w#;/?:@&=+$,.~*'()[\\]]+>"},{className:"type",begin:"![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"type",begin:"!![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"meta",begin:"&"+Z.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+Z.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},Z.HASH_COMMENT_MODE,{beginKeywords:"true false yes no null",keywords:{literal:"true false yes no null"}},C,{className:"number",begin:Z.C_NUMBER_RE+"\\b",relevance:0},B,M,q,W],T=[...k];return T.pop(),T.push(G),L.contains=T,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:k}}b6.exports=xz});var c6=_0((Iq,p6)=>{var x6=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],j6=["true","false","null","undefined","NaN","Infinity"],D6=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],h6=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],m6=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],u6=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],E6=[].concat(m6,D6,h6);function jz(Z){let J=Z.regex,Q=(g,{after:j})=>{let e="</"+g[0].slice(1);return g.input.indexOf(e,j)!==-1},$="[A-Za-z$_][0-9A-Za-z$_]*",X={begin:"<>",end:"</>"},q=/<[A-Za-z0-9\\._:-]+\s*\/>/,W={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(g,j)=>{let e=g[0].length+g.index,X0=g.input[e];if(X0==="<"||X0===","){j.ignoreMatch();return}if(X0===">"){if(!Q(g,{after:e}))j.ignoreMatch()}let W0,P0=g.input.substring(e);if(W0=P0.match(/^\s*=/)){j.ignoreMatch();return}if(W0=P0.match(/^\s+extends\s+/)){if(W0.index===0){j.ignoreMatch();return}}}},G={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:x6,literal:j6,built_in:E6,"variable.language":u6},K="[0-9](_?[0-9])*",H="\\.([0-9](_?[0-9])*)",F="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",Y={className:"number",variants:[{begin:"(\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)((\\.([0-9](_?[0-9])*))|\\.)?|(\\.([0-9](_?[0-9])*)))[eE][+-]?([0-9](_?[0-9])*)\\b"},{begin:"\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)\\b((\\.([0-9](_?[0-9])*))\\b|\\.)?|(\\.([0-9](_?[0-9])*))\\b"},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},C={className:"subst",begin:"\\$\\{",end:"\\}",keywords:G,contains:[]},L={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,C],subLanguage:"xml"}},B={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,C],subLanguage:"css"}},M={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,C],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[Z.BACKSLASH_ESCAPE,C]},O={className:"comment",variants:[Z.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:"[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),Z.C_BLOCK_COMMENT_MODE,Z.C_LINE_COMMENT_MODE]},P=[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,L,B,M,k,{match:/\$\d+/},Y];C.contains=P.concat({begin:/\{/,end:/\}/,keywords:G,contains:["self"].concat(P)});let _=[].concat(O,C.contains),A=_.concat([{begin:/(\s*)\(/,end:/\)/,keywords:G,contains:["self"].concat(_)}]),y={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:G,contains:A},x={variants:[{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s+/,/extends/,/\s+/,J.concat("[A-Za-z$_][0-9A-Za-z$_]*","(",J.concat(/\./,"[A-Za-z$_][0-9A-Za-z$_]*"),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*"],scope:{1:"keyword",3:"title.class"}}]},v={relevance:0,match:J.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...D6,...h6]}},E={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},J0={variants:[{match:[/function/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[y],illegal:/%/},l={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function A0(g){return J.concat("(?!",g.join("|"),")")}let o={match:J.concat(/\b/,A0([...m6,"super","import"].map((g)=>`${g}\\s*\\(`)),"[A-Za-z$_][0-9A-Za-z$_]*",J.lookahead(/\s*\(/)),className:"title.function",relevance:0},B0={begin:J.concat(/\./,J.lookahead(J.concat("[A-Za-z$_][0-9A-Za-z$_]*",/(?![0-9A-Za-z$_(])/))),end:"[A-Za-z$_][0-9A-Za-z$_]*",excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},K0={match:[/get|set/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},y]},I="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+Z.UNDERSCORE_IDENT_RE+")\\s*=>",V={match:[/const|var|let/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s*/,/=\s*/,/(async\s*)?/,J.lookahead(I)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[y]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:G,exports:{PARAMS_CONTAINS:A,CLASS_REFERENCE:v},illegal:/#(?![$_A-z])/,contains:[Z.SHEBANG({label:"shebang",binary:"node",relevance:5}),E,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,L,B,M,k,O,{match:/\$\d+/},Y,v,{scope:"attr",match:"[A-Za-z$_][0-9A-Za-z$_]*"+J.lookahead(":"),relevance:0},V,{begin:"("+Z.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[O,Z.REGEXP_MODE,{className:"function",begin:I,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:Z.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:G,contains:A}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:X.begin,end:X.end},{match:q},{begin:W.begin,"on:begin":W.isTrulyOpeningTag,end:W.end}],subLanguage:"xml",contains:[{begin:W.begin,end:W.end,skip:!0,contains:["self"]}]}]},J0,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+Z.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[y,Z.inherit(Z.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*",className:"title.function"})]},{match:/\.\.\./,relevance:0},B0,{match:"\\$[A-Za-z$_][0-9A-Za-z$_]*",relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[y]},o,l,x,K0,{match:/\$[(.]/}]}}function Dz(Z){let J=Z.regex,Q=jz(Z),$="[A-Za-z$_][0-9A-Za-z$_]*",X=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],q={begin:[/namespace/,/\s+/,Z.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},W={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:X},contains:[Q.exports.CLASS_REFERENCE]},G={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},K=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],H={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:x6.concat(K),literal:j6,built_in:E6.concat(X),"variable.language":u6},F={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},Y=(M,k,T)=>{let O=M.contains.findIndex((P)=>P.label===k);if(O===-1)throw Error("can not find mode to replace");M.contains.splice(O,1,T)};Object.assign(Q.keywords,H),Q.exports.PARAMS_CONTAINS.push(F);let C=Q.contains.find((M)=>M.scope==="attr"),L=Object.assign({},C,{match:J.concat("[A-Za-z$_][0-9A-Za-z$_]*",J.lookahead(/\s*\?:/))});Q.exports.PARAMS_CONTAINS.push([Q.exports.CLASS_REFERENCE,C,L]),Q.contains=Q.contains.concat([F,q,W,L]),Y(Q,"shebang",Z.SHEBANG()),Y(Q,"use_strict",G);let B=Q.contains.find((M)=>M.label==="func.def");return B.relevance=0,Object.assign(Q,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),Q}p6.exports=Dz});var d6=_0((fq,i6)=>{function hz(Z){let J=Z.regex,Q={className:"string",begin:/"(""|[^/n])"C\b/},$={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},X=/\d{1,2}\/\d{1,2}\/\d{4}/,q=/\d{4}-\d{1,2}-\d{1,2}/,W=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,G=/\d{1,2}(:\d{1,2}){1,2}/,K={className:"literal",variants:[{begin:J.concat(/# */,J.either(q,X),/ *#/)},{begin:J.concat(/# */,G,/ *#/)},{begin:J.concat(/# */,W,/ *#/)},{begin:J.concat(/# */,J.either(q,X),/ +/,J.either(W,G),/ *#/)}]},H={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},F={className:"label",begin:/^\w+:/},Y=Z.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),C=Z.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[Q,$,K,H,F,Y,C,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[C]}]}}i6.exports=hz});var l6=_0((bq,a6)=>{function mz(Z){Z.regex;let J=Z.COMMENT(/\(;/,/;\)/);J.contains.push("self");let Q=Z.COMMENT(/;;/,/$/),$=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],X={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},q={className:"variable",begin:/\$[\w_]+/},W={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},G={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},K={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},H={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:$},contains:[Q,J,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},q,W,X,Z.QUOTE_STRING_MODE,K,H,G]}}a6.exports=mz});var r6=_0((gq,n6)=>{var w0=G5();w0.registerLanguage("xml",K5());w0.registerLanguage("bash",Y5());w0.registerLanguage("c",B5());w0.registerLanguage("cpp",y5());w0.registerLanguage("csharp",w5());w0.registerLanguage("css",O5());w0.registerLanguage("markdown",A5());w0.registerLanguage("diff",N5());w0.registerLanguage("ruby",k5());w0.registerLanguage("go",T5());w0.registerLanguage("graphql",S5());w0.registerLanguage("ini",f5());w0.registerLanguage("java",j5());w0.registerLanguage("javascript",E5());w0.registerLanguage("json",c5());w0.registerLanguage("kotlin",d5());w0.registerLanguage("less",r5());w0.registerLanguage("lua",t5());w0.registerLanguage("makefile",e5());w0.registerLanguage("perl",J6());w0.registerLanguage("objectivec",z6());w0.registerLanguage("php",X6());w0.registerLanguage("php-template",W6());w0.registerLanguage("plaintext",H6());w0.registerLanguage("python",F6());w0.registerLanguage("python-repl",U6());w0.registerLanguage("r",L6());w0.registerLanguage("rust",P6());w0.registerLanguage("scss",C6());w0.registerLanguage("shell",_6());w0.registerLanguage("sql",M6());w0.registerLanguage("swift",f6());w0.registerLanguage("yaml",g6());w0.registerLanguage("typescript",c6());w0.registerLanguage("vbnet",d6());w0.registerLanguage("wasm",l6());w0.HighlightJS=w0;w0.default=w0;n6.exports=w0});var kZ,V0,E8,kJ,K9,D8,p8,c8,H1,OZ,t9,i8,U1,K1,F1,RJ,MZ={},NZ=[],TJ=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,RZ=Array.isArray;function G9(Z,J){for(var Q in J)Z[Q]=J[Q];return Z}function B1(Z){Z&&Z.parentNode&&Z.parentNode.removeChild(Z)}function VJ(Z,J,Q){var $,X,q,W={};for(q in J)q=="key"?$=J[q]:q=="ref"?X=J[q]:W[q]=J[q];if(arguments.length>2&&(W.children=arguments.length>3?kZ.call(arguments,2):Q),typeof Z=="function"&&Z.defaultProps!=null)for(q in Z.defaultProps)W[q]===void 0&&(W[q]=Z.defaultProps[q]);return _Z(Z,W,$,X,null)}function _Z(Z,J,Q,$,X){var q={type:Z,props:J,key:Q,ref:$,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:X==null?++E8:X,__i:-1,__u:0};return X==null&&V0.vnode!=null&&V0.vnode(q),q}function n(Z){return Z.children}function AZ(Z,J){this.props=Z,this.context=J}function g9(Z,J){if(J==null)return Z.__?g9(Z.__,Z.__i+1):null;for(var Q;J<Z.__k.length;J++)if((Q=Z.__k[J])!=null&&Q.__e!=null)return Q.__e;return typeof Z.type=="function"?g9(Z):null}function SJ(Z){if(Z.__P&&Z.__d){var J=Z.__v,Q=J.__e,$=[],X=[],q=G9({},J);q.__v=J.__v+1,V0.vnode&&V0.vnode(q),L1(Z.__P,q,J,Z.__n,Z.__P.namespaceURI,32&J.__u?[Q]:null,$,Q==null?g9(J):Q,!!(32&J.__u),X),q.__v=J.__v,q.__.__k[q.__i]=q,n8($,q,X),J.__e=J.__=null,q.__e!=Q&&d8(q)}}function d8(Z){if((Z=Z.__)!=null&&Z.__c!=null)return Z.__e=Z.__c.base=null,Z.__k.some(function(J){if(J!=null&&J.__e!=null)return Z.__e=Z.__c.base=J.__e}),d8(Z)}function h8(Z){(!Z.__d&&(Z.__d=!0)&&K9.push(Z)&&!vZ.__r++||D8!=V0.debounceRendering)&&((D8=V0.debounceRendering)||p8)(vZ)}function vZ(){try{for(var Z,J=1;K9.length;)K9.length>J&&K9.sort(c8),Z=K9.shift(),J=K9.length,SJ(Z)}finally{K9.length=vZ.__r=0}}function a8(Z,J,Q,$,X,q,W,G,K,H,F){var Y,C,L,B,M,k,T,O=$&&$.__k||NZ,P=J.length;for(K=IJ(Q,J,O,K,P),Y=0;Y<P;Y++)(L=Q.__k[Y])!=null&&(C=L.__i!=-1&&O[L.__i]||MZ,L.__i=Y,k=L1(Z,L,C,X,q,W,G,K,H,F),B=L.__e,L.ref&&C.ref!=L.ref&&(C.ref&&y1(C.ref,null,L),F.push(L.ref,L.__c||B,L)),M==null&&B!=null&&(M=B),(T=!!(4&L.__u))||C.__k===L.__k?(K=l8(L,K,Z,T),T&&C.__e&&(C.__e=null)):typeof L.type=="function"&&k!==void 0?K=k:B&&(K=B.nextSibling),L.__u&=-7);return Q.__e=M,K}function IJ(Z,J,Q,$,X){var q,W,G,K,H,F=Q.length,Y=F,C=0;for(Z.__k=Array(X),q=0;q<X;q++)(W=J[q])!=null&&typeof W!="boolean"&&typeof W!="function"?(typeof W=="string"||typeof W=="number"||typeof W=="bigint"||W.constructor==String?W=Z.__k[q]=_Z(null,W,null,null,null):RZ(W)?W=Z.__k[q]=_Z(n,{children:W},null,null,null):W.constructor===void 0&&W.__b>0?W=Z.__k[q]=_Z(W.type,W.props,W.key,W.ref?W.ref:null,W.__v):Z.__k[q]=W,K=q+C,W.__=Z,W.__b=Z.__b+1,G=null,(H=W.__i=fJ(W,Q,K,Y))!=-1&&(Y--,(G=Q[H])&&(G.__u|=2)),G==null||G.__v==null?(H==-1&&(X>F?C--:X<F&&C++),typeof W.type!="function"&&(W.__u|=4)):H!=K&&(H==K-1?C--:H==K+1?C++:(H>K?C--:C++,W.__u|=4))):Z.__k[q]=null;if(Y)for(q=0;q<F;q++)(G=Q[q])!=null&&(2&G.__u)==0&&(G.__e==$&&($=g9(G)),o8(G,G));return $}function l8(Z,J,Q,$){var X,q;if(typeof Z.type=="function"){for(X=Z.__k,q=0;X&&q<X.length;q++)X[q]&&(X[q].__=Z,J=l8(X[q],J,Q,$));return J}Z.__e!=J&&($&&(J&&Z.type&&!J.parentNode&&(J=g9(Z)),Q.insertBefore(Z.__e,J||null)),J=Z.__e);do J=J&&J.nextSibling;while(J!=null&&J.nodeType==8);return J}function fJ(Z,J,Q,$){var X,q,W,G=Z.key,K=Z.type,H=J[Q],F=H!=null&&(2&H.__u)==0;if(H===null&&G==null||F&&G==H.key&&K==H.type)return Q;if($>(F?1:0)){for(X=Q-1,q=Q+1;X>=0||q<J.length;)if((H=J[W=X>=0?X--:q++])!=null&&(2&H.__u)==0&&G==H.key&&K==H.type)return W}return-1}function m8(Z,J,Q){J[0]=="-"?Z.setProperty(J,Q==null?"":Q):Z[J]=Q==null?"":typeof Q!="number"||TJ.test(J)?Q:Q+"px"}function CZ(Z,J,Q,$,X){var q,W;Z:if(J=="style")if(typeof Q=="string")Z.style.cssText=Q;else{if(typeof $=="string"&&(Z.style.cssText=$=""),$)for(J in $)Q&&J in Q||m8(Z.style,J,"");if(Q)for(J in Q)$&&Q[J]==$[J]||m8(Z.style,J,Q[J])}else if(J[0]=="o"&&J[1]=="n")q=J!=(J=J.replace(i8,"$1")),W=J.toLowerCase(),J=W in Z||J=="onFocusOut"||J=="onFocusIn"?W.slice(2):J.slice(2),Z.l||(Z.l={}),Z.l[J+q]=Q,Q?$?Q[t9]=$[t9]:(Q[t9]=U1,Z.addEventListener(J,q?F1:K1,q)):Z.removeEventListener(J,q?F1:K1,q);else{if(X=="http://www.w3.org/2000/svg")J=J.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(J!="width"&&J!="height"&&J!="href"&&J!="list"&&J!="form"&&J!="tabIndex"&&J!="download"&&J!="rowSpan"&&J!="colSpan"&&J!="role"&&J!="popover"&&J in Z)try{Z[J]=Q==null?"":Q;break Z}catch(G){}typeof Q=="function"||(Q==null||Q===!1&&J[4]!="-"?Z.removeAttribute(J):Z.setAttribute(J,J=="popover"&&Q==1?"":Q))}}function u8(Z){return function(J){if(this.l){var Q=this.l[J.type+Z];if(J[OZ]==null)J[OZ]=U1++;else if(J[OZ]<Q[t9])return;return Q(V0.event?V0.event(J):J)}}}function L1(Z,J,Q,$,X,q,W,G,K,H){var F,Y,C,L,B,M,k,T,O,P,_,A,y,x,v,E=J.type;if(J.constructor!==void 0)return null;128&Q.__u&&(K=!!(32&Q.__u),q=[G=J.__e=Q.__e]),(F=V0.__b)&&F(J);Z:if(typeof E=="function")try{if(T=J.props,O=E.prototype&&E.prototype.render,P=(F=E.contextType)&&$[F.__c],_=F?P?P.props.value:F.__:$,Q.__c?k=(Y=J.__c=Q.__c).__=Y.__E:(O?J.__c=Y=new E(T,_):(J.__c=Y=new AZ(T,_),Y.constructor=E,Y.render=gJ),P&&P.sub(Y),Y.state||(Y.state={}),Y.__n=$,C=Y.__d=!0,Y.__h=[],Y._sb=[]),O&&Y.__s==null&&(Y.__s=Y.state),O&&E.getDerivedStateFromProps!=null&&(Y.__s==Y.state&&(Y.__s=G9({},Y.__s)),G9(Y.__s,E.getDerivedStateFromProps(T,Y.__s))),L=Y.props,B=Y.state,Y.__v=J,C)O&&E.getDerivedStateFromProps==null&&Y.componentWillMount!=null&&Y.componentWillMount(),O&&Y.componentDidMount!=null&&Y.__h.push(Y.componentDidMount);else{if(O&&E.getDerivedStateFromProps==null&&T!==L&&Y.componentWillReceiveProps!=null&&Y.componentWillReceiveProps(T,_),J.__v==Q.__v||!Y.__e&&Y.shouldComponentUpdate!=null&&Y.shouldComponentUpdate(T,Y.__s,_)===!1){J.__v!=Q.__v&&(Y.props=T,Y.state=Y.__s,Y.__d=!1),J.__e=Q.__e,J.__k=Q.__k,J.__k.some(function(J0){J0&&(J0.__=J)}),NZ.push.apply(Y.__h,Y._sb),Y._sb=[],Y.__h.length&&W.push(Y);break Z}Y.componentWillUpdate!=null&&Y.componentWillUpdate(T,Y.__s,_),O&&Y.componentDidUpdate!=null&&Y.__h.push(function(){Y.componentDidUpdate(L,B,M)})}if(Y.context=_,Y.props=T,Y.__P=Z,Y.__e=!1,A=V0.__r,y=0,O)Y.state=Y.__s,Y.__d=!1,A&&A(J),F=Y.render(Y.props,Y.state,Y.context),NZ.push.apply(Y.__h,Y._sb),Y._sb=[];else do Y.__d=!1,A&&A(J),F=Y.render(Y.props,Y.state,Y.context),Y.state=Y.__s;while(Y.__d&&++y<25);Y.state=Y.__s,Y.getChildContext!=null&&($=G9(G9({},$),Y.getChildContext())),O&&!C&&Y.getSnapshotBeforeUpdate!=null&&(M=Y.getSnapshotBeforeUpdate(L,B)),x=F!=null&&F.type===n&&F.key==null?r8(F.props.children):F,G=a8(Z,RZ(x)?x:[x],J,Q,$,X,q,W,G,K,H),Y.base=J.__e,J.__u&=-161,Y.__h.length&&W.push(Y),k&&(Y.__E=Y.__=null)}catch(J0){if(J.__v=null,K||q!=null)if(J0.then){for(J.__u|=K?160:128;G&&G.nodeType==8&&G.nextSibling;)G=G.nextSibling;q[q.indexOf(G)]=null,J.__e=G}else{for(v=q.length;v--;)B1(q[v]);Y1(J)}else J.__e=Q.__e,J.__k=Q.__k,J0.then||Y1(J);V0.__e(J0,J,Q)}else q==null&&J.__v==Q.__v?(J.__k=Q.__k,J.__e=Q.__e):G=J.__e=bJ(Q.__e,J,Q,$,X,q,W,K,H);return(F=V0.diffed)&&F(J),128&J.__u?void 0:G}function Y1(Z){Z&&(Z.__c&&(Z.__c.__e=!0),Z.__k&&Z.__k.some(Y1))}function n8(Z,J,Q){for(var $=0;$<Q.length;$++)y1(Q[$],Q[++$],Q[++$]);V0.__c&&V0.__c(J,Z),Z.some(function(X){try{Z=X.__h,X.__h=[],Z.some(function(q){q.call(X)})}catch(q){V0.__e(q,X.__v)}})}function r8(Z){return typeof Z!="object"||Z==null||Z.__b>0?Z:RZ(Z)?Z.map(r8):Z.constructor!==void 0?null:G9({},Z)}function bJ(Z,J,Q,$,X,q,W,G,K){var H,F,Y,C,L,B,M,k=Q.props||MZ,T=J.props,O=J.type;if(O=="svg"?X="http://www.w3.org/2000/svg":O=="math"?X="http://www.w3.org/1998/Math/MathML":X||(X="http://www.w3.org/1999/xhtml"),q!=null){for(H=0;H<q.length;H++)if((L=q[H])&&"setAttribute"in L==!!O&&(O?L.localName==O:L.nodeType==3)){Z=L,q[H]=null;break}}if(Z==null){if(O==null)return document.createTextNode(T);Z=document.createElementNS(X,O,T.is&&T),G&&(V0.__m&&V0.__m(J,q),G=!1),q=null}if(O==null)k===T||G&&Z.data==T||(Z.data=T);else{if(q=O=="textarea"&&T.defaultValue!=null?null:q&&kZ.call(Z.childNodes),!G&&q!=null)for(k={},H=0;H<Z.attributes.length;H++)k[(L=Z.attributes[H]).name]=L.value;for(H in k)L=k[H],H=="dangerouslySetInnerHTML"?Y=L:H=="children"||(H in T)||H=="value"&&("defaultValue"in T)||H=="checked"&&("defaultChecked"in T)||CZ(Z,H,null,L,X);for(H in T)L=T[H],H=="children"?C=L:H=="dangerouslySetInnerHTML"?F=L:H=="value"?B=L:H=="checked"?M=L:G&&typeof L!="function"||k[H]===L||CZ(Z,H,L,k[H],X);if(F)G||Y&&(F.__html==Y.__html||F.__html==Z.innerHTML)||(Z.innerHTML=F.__html),J.__k=[];else if(Y&&(Z.innerHTML=""),a8(J.type=="template"?Z.content:Z,RZ(C)?C:[C],J,Q,$,O=="foreignObject"?"http://www.w3.org/1999/xhtml":X,q,W,q?q[0]:Q.__k&&g9(Q,0),G,K),q!=null)for(H=q.length;H--;)B1(q[H]);G&&O!="textarea"||(H="value",O=="progress"&&B==null?Z.removeAttribute("value"):B!=null&&(B!==Z[H]||O=="progress"&&!B||O=="option"&&B!=k[H])&&CZ(Z,H,B,k[H],X),H="checked",M!=null&&M!=Z[H]&&CZ(Z,H,M,k[H],X))}return Z}function y1(Z,J,Q){try{if(typeof Z=="function"){var $=typeof Z.__u=="function";$&&Z.__u(),$&&J==null||(Z.__u=Z(J))}else Z.current=J}catch(X){V0.__e(X,Q)}}function o8(Z,J,Q){var $,X;if(V0.unmount&&V0.unmount(Z),($=Z.ref)&&($.current&&$.current!=Z.__e||y1($,null,J)),($=Z.__c)!=null){if($.componentWillUnmount)try{$.componentWillUnmount()}catch(q){V0.__e(q,J)}$.base=$.__P=null}if($=Z.__k)for(X=0;X<$.length;X++)$[X]&&o8($[X],J,Q||typeof Z.type!="function");Q||B1(Z.__e),Z.__c=Z.__=Z.__e=void 0}function gJ(Z,J,Q){return this.constructor(Z,Q)}function P1(Z,J,Q){var $,X,q,W;J==document&&(J=document.documentElement),V0.__&&V0.__(Z,J),X=($=typeof Q=="function")?null:Q&&Q.__k||J.__k,q=[],W=[],L1(J,Z=(!$&&Q||J).__k=VJ(n,null,[Z]),X||MZ,MZ,J.namespaceURI,!$&&Q?[Q]:X?null:J.firstChild?kZ.call(J.childNodes):null,q,!$&&Q?Q:X?X.__e:J.firstChild,$,W),n8(q,Z,W)}kZ=NZ.slice,V0={__e:function(Z,J,Q,$){for(var X,q,W;J=J.__;)if((X=J.__c)&&!X.__)try{if((q=X.constructor)&&q.getDerivedStateFromError!=null&&(X.setState(q.getDerivedStateFromError(Z)),W=X.__d),X.componentDidCatch!=null&&(X.componentDidCatch(Z,$||{}),W=X.__d),W)return X.__E=X}catch(G){Z=G}throw Z}},E8=0,kJ=function(Z){return Z!=null&&Z.constructor===void 0},AZ.prototype.setState=function(Z,J){var Q;Q=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=G9({},this.state),typeof Z=="function"&&(Z=Z(G9({},Q),this.props)),Z&&G9(Q,Z),Z!=null&&this.__v&&(J&&this._sb.push(J),h8(this))},AZ.prototype.forceUpdate=function(Z){this.__v&&(this.__e=!0,Z&&this.__h.push(Z),h8(this))},AZ.prototype.render=n,K9=[],p8=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,c8=function(Z,J){return Z.__v.__b-J.__v.__b},vZ.__r=0,H1=Math.random().toString(8),OZ="__d"+H1,t9="__a"+H1,i8=/(PointerCapture)$|Capture$/i,U1=0,K1=u8(!1),F1=u8(!0),RJ=0;var x9,x0,w1,t8,s9=0,X4=[],D0=V0,s8=D0.__b,e8=D0.__r,Z4=D0.diffed,J4=D0.__c,Q4=D0.unmount,z4=D0.__;function VZ(Z,J){D0.__h&&D0.__h(x0,Z,s9||J),s9=0;var Q=x0.__H||(x0.__H={__:[],__h:[]});return Z>=Q.__.length&&Q.__.push({}),Q.__[Z]}function b(Z){return s9=1,xJ(W4,Z)}function xJ(Z,J,Q){var $=VZ(x9++,2);if($.t=Z,!$.__c&&($.__=[Q?Q(J):W4(void 0,J),function(G){var K=$.__N?$.__N[0]:$.__[0],H=$.t(K,G);K!==H&&($.__N=[H,$.__[1]],$.__c.setState({}))}],$.__c=x0,!x0.__f)){var X=function(G,K,H){if(!$.__c.__H)return!0;var F=$.__c.__H.__.filter(function(C){return C.__c});if(F.every(function(C){return!C.__N}))return!q||q.call(this,G,K,H);var Y=$.__c.props!==G;return F.some(function(C){if(C.__N){var L=C.__[0];C.__=C.__N,C.__N=void 0,L!==C.__[0]&&(Y=!0)}}),q&&q.call(this,G,K,H)||Y};x0.__f=!0;var{shouldComponentUpdate:q,componentWillUpdate:W}=x0;x0.componentWillUpdate=function(G,K,H){if(this.__e){var F=q;q=void 0,X(G,K,H),q=F}W&&W.call(this,G,K,H)},x0.shouldComponentUpdate=X}return $.__N||$.__}function r(Z,J){var Q=VZ(x9++,3);!D0.__s&&O1(Q.__H,J)&&(Q.__=Z,Q.u=J,x0.__H.__h.push(Q))}function q4(Z,J){var Q=VZ(x9++,4);!D0.__s&&O1(Q.__H,J)&&(Q.__=Z,Q.u=J,x0.__h.push(Q))}function H0(Z){return s9=5,e9(function(){return{current:Z}},[])}function e9(Z,J){var Q=VZ(x9++,7);return O1(Q.__H,J)&&(Q.__=Z(),Q.__H=J,Q.__h=Z),Q.__}function O9(Z,J){return s9=8,e9(function(){return Z},J)}function jJ(){for(var Z;Z=X4.shift();){var J=Z.__H;if(Z.__P&&J)try{J.__h.some(TZ),J.__h.some(C1),J.__h=[]}catch(Q){J.__h=[],D0.__e(Q,Z.__v)}}}D0.__b=function(Z){x0=null,s8&&s8(Z)},D0.__=function(Z,J){Z&&J.__k&&J.__k.__m&&(Z.__m=J.__k.__m),z4&&z4(Z,J)},D0.__r=function(Z){e8&&e8(Z),x9=0;var J=(x0=Z.__c).__H;J&&(w1===x0?(J.__h=[],x0.__h=[],J.__.some(function(Q){Q.__N&&(Q.__=Q.__N),Q.u=Q.__N=void 0})):(J.__h.some(TZ),J.__h.some(C1),J.__h=[],x9=0)),w1=x0},D0.diffed=function(Z){Z4&&Z4(Z);var J=Z.__c;J&&J.__H&&(J.__H.__h.length&&(X4.push(J)!==1&&t8===D0.requestAnimationFrame||((t8=D0.requestAnimationFrame)||DJ)(jJ)),J.__H.__.some(function(Q){Q.u&&(Q.__H=Q.u),Q.u=void 0})),w1=x0=null},D0.__c=function(Z,J){J.some(function(Q){try{Q.__h.some(TZ),Q.__h=Q.__h.filter(function($){return!$.__||C1($)})}catch($){J.some(function(X){X.__h&&(X.__h=[])}),J=[],D0.__e($,Q.__v)}}),J4&&J4(Z,J)},D0.unmount=function(Z){Q4&&Q4(Z);var J,Q=Z.__c;Q&&Q.__H&&(Q.__H.__.some(function($){try{TZ($)}catch(X){J=X}}),Q.__H=void 0,J&&D0.__e(J,Q.__v))};var $4=typeof requestAnimationFrame=="function";function DJ(Z){var J,Q=function(){clearTimeout($),$4&&cancelAnimationFrame(J),setTimeout(Z)},$=setTimeout(Q,35);$4&&(J=requestAnimationFrame(Q))}function TZ(Z){var J=x0,Q=Z.__c;typeof Q=="function"&&(Z.__c=void 0,Q()),x0=J}function C1(Z){var J=x0;Z.__c=Z.__(),x0=J}function O1(Z,J){return!Z||Z.length!==J.length||J.some(function(Q,$){return Q!==Z[$]})}function W4(Z,J){return typeof J=="function"?J(Z):J}class _9 extends Error{code;constructor(Z,J){super(Z);this.code=J;this.name="BusError"}}class G4{ch=null;worker=null;started=!1;leader=!1;nextLocal=0;localPending=new Map;remotePending=new Map;listeners=new Set;start(){if(this.started)return;this.started=!0,this.ch=new BroadcastChannel("mh-replica-bus"),this.ch.onmessage=(J)=>this.onChannel(J.data);let Z=navigator.locks;if(Z)Z.request("mh-replica-leader",()=>{return this.becomeLeader(),new Promise(()=>{})}).catch(()=>{});else this.becomeLeader()}onEvent(Z){return this.listeners.add(Z),()=>this.listeners.delete(Z)}call(Z,...J){if(!this.started)this.start();if(this.leader)return this.workerCall(Z,J);return this.remoteCall(Z,J)}becomeLeader(){if(this.leader)return;this.leader=!0,this.spawnWorker();for(let[Z,J]of[...this.remotePending])this.remotePending.delete(Z),clearTimeout(J.timer),this.workerCall(J.op,J.args).then(J.resolve,J.reject)}spawnWorker(){if(this.worker)return;this.worker=new Worker("/db-worker.js",{type:"module"}),this.worker.onmessage=(Z)=>{let J=Z.data;if("id"in J){let Q=this.localPending.get(J.id);if(!Q)return;if(this.localPending.delete(J.id),J.ok)Q.resolve(J.result);else Q.reject(new _9(J.error.message,J.error.code));return}this.emit(J),this.ch?.postMessage({kind:"event",event:J})},this.worker.onerror=()=>{let Z={event:"status",status:{state:"error",paired:!1,node:null,error:"worker crashed"}};this.emit(Z),this.ch?.postMessage({kind:"event",event:Z})}}workerCall(Z,J){if(!this.worker)this.spawnWorker();let Q=++this.nextLocal;return new Promise(($,X)=>{this.localPending.set(Q,{resolve:$,reject:X}),this.worker.postMessage({id:Q,op:Z,args:J})})}remoteCall(Z,J){let Q=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`;return new Promise(($,X)=>{let q=setTimeout(()=>{if(this.remotePending.delete(Q),this.leader){this.workerCall(Z,J).then($,X);return}X(new _9("replica leader unavailable","network"))},1e4);this.remotePending.set(Q,{resolve:$,reject:X,timer:q,op:Z,args:J}),this.ch?.postMessage({kind:"req",id:Q,op:Z,args:J})})}onChannel(Z){if(Z.kind==="req"){if(!this.leader)return;this.workerCall(Z.op,Z.args).then((J)=>this.ch?.postMessage({kind:"res",id:Z.id,ok:!0,result:J}),(J)=>this.ch?.postMessage({kind:"res",id:Z.id,ok:!1,error:{message:J.message,code:J.code}}));return}if(Z.kind==="res"){let J=this.remotePending.get(Z.id);if(!J)return;if(this.remotePending.delete(Z.id),clearTimeout(J.timer),Z.ok)J.resolve(Z.result);else J.reject(new _9(Z.error?.message??"replica error",Z.error?.code));return}if(Z.kind==="event"&&!this.leader)this.emit(Z.event)}emit(Z){for(let J of this.listeners)J(Z)}stopWorker(){this.worker?.terminate(),this.worker=null,this.localPending.forEach((Z)=>Z.reject(new _9("replica stopped",void 0))),this.localPending.clear()}}function SZ(){let Z=globalThis;return Z.__mhReplicaBus??=new G4}var M9="mh-synced",IZ="mh_replica",ZZ="mh_replica_hydrated";class Y9 extends Error{code;constructor(Z,J){super(Z);this.code=J;this.name="ReplicaError"}}var A9=!1,F9={state:"booting",paired:!1,node:null},_1=new Set;function K4(){return F9}function fZ(Z){return _1.add(Z),()=>_1.delete(Z)}function A1(Z){try{return localStorage.getItem(Z)==="1"}catch{return!1}}function j9(Z,J){try{J?localStorage.setItem(Z,"1"):localStorage.removeItem(Z)}catch{}}function bZ(){return A1(IZ)}function B9(){return bZ()&&A1(ZZ)&&A9&&F9.state!=="error"}function H4(Z){if(Z.event==="status"){if(F9=Z.status,F9.lastSync?.ok&&!A1(ZZ))j9(ZZ,!0),navigator.storage?.persist?.().catch(()=>{});for(let J of _1)J(F9);return}if(Z.event==="synced"){if(document.dispatchEvent(new CustomEvent(M9,{detail:Z})),Z.datasets.some((J)=>J==="databases"||J==="documents"))document.dispatchEvent(new CustomEvent(e0))}}function F4(){if(A9||typeof Worker>"u")return;A9=!0;let Z=SZ();Z.onEvent(H4),Z.start(),Z.call("status").then((J)=>H4({event:"status",status:J})).catch(()=>{}),hJ(),window.addEventListener("online",D9),document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="visible")D9()})}function U9(Z,...J){if(!A9)return Promise.reject(new Y9("replica not running",void 0));return SZ().call(Z,...J).catch((Q)=>{throw Q instanceof _9?new Y9(Q.message,Q.code):Q})}function D9(){if(A9&&F9.paired)U9("sync").catch(()=>{})}function Y4(Z=30000){if(F9.state==="ready")return Promise.resolve();return new Promise((J,Q)=>{let $=setTimeout(()=>{X(),Q(new Y9("本地副本启动超时",void 0))},Z),X=fZ((q)=>{if(q.state==="ready")clearTimeout($),X(),J();else if(q.state==="error")clearTimeout($),X(),Q(new Y9(q.error??"本地副本启动失败",void 0))})})}async function U4(){if(F4(),await Y4(),!F9.paired){let Z=await gZ("/api/pair/new",{method:"POST"});if(!Z.ok)throw new Y9(`无法获取配对码: ${Z.status}`,void 0);let{code:J}=await Z.json();await U9("pair",J)}j9(IZ,!0),D9()}async function B4(){j9(IZ,!1),j9(ZZ,!1);try{if(A9)await U9("unpair")}catch{}}async function L4(){j9(IZ,!1),j9(ZZ,!1);try{if(A9)await U9("unpair").catch(()=>{}),await U9("reset")}finally{SZ().stopWorker()}}function y4(){if(bZ())F4(),Y4().then(()=>D9()).catch(()=>{})}function hJ(){let Z=globalThis;if(Z.__mhSwBridge||!("serviceWorker"in navigator))return;Z.__mhSwBridge=!0,navigator.serviceWorker.addEventListener("message",(J)=>{let Q=J.data,$=J.ports?.[0];if(!Q||Q.kind!=="mh-rpc"||!$||!Q.op)return;if(!B9()){$.postMessage({ok:!1,error:{message:"replica unavailable",code:"unavailable"}});return}U9(Q.op,...Q.args??[]).then((X)=>$.postMessage({ok:!0,result:X}),(X)=>$.postMessage({ok:!1,error:{message:X.message,code:X.code}}))})}var mJ={invalid_input:400,not_found:404,ambiguous:400,stale:409,conflict:409,auth:401,network:502};function uJ(Z){return/^(create|update|delete|move|duplicate|revert)(Database|Document)/.test(Z)}async function M0(Z,...J){try{let Q=await U9(Z,...J);if(uJ(Z))document.dispatchEvent(new CustomEvent(e0));return Q}catch(Q){if(Q instanceof Y9)throw new L9(Q.message,Q.code,Q.code?mJ[Q.code]??400:0);throw Q}}var M1={listDatabases:()=>M0("listDatabases"),createDatabase:(Z)=>M0("createDatabase",Z),updateDatabase:(Z,J)=>M0("updateDatabase",Z,J),duplicateDatabase:(Z,J)=>M0("duplicateDatabase",Z,J),deleteDatabase:(Z)=>M0("deleteDatabase",Z),databaseActivity:(Z,J)=>M0("listDatabaseActivity",Z,J),listProperties:(Z)=>M0("listProperties",Z),createProperty:(Z)=>{let{db:J,...Q}=Z;return M0("addProperty",J,Q)},updateProperty:(Z,J)=>M0("updateProperty",Z,J),setColumnWidth:(Z,J)=>M0("setPropertyWidth",Z,J),deleteProperty:(Z)=>M0("removeProperty",Z),listRecords:(Z,J={})=>M0("listRecords",Z,J),createRecord:(Z,J)=>M0("createRecord",Z,J),getRecord:(Z)=>M0("getRecord",Z),updateRecord:(Z,J)=>M0("updateRecord",Z,J),moveRecord:(Z,J,Q)=>M0("moveRecord",Z,J,Q),deleteRecord:(Z)=>M0("deleteRecord",Z),recordHistory:(Z)=>M0("listRecordRevisions",Z),recordAt:(Z,J)=>M0("recordAtVersion",Z,J),revertRecord:(Z,J)=>M0("revertRecord",Z,J),listDocuments:(Z)=>M0("listDocuments",Z?{database_id:Z}:void 0),listDocumentsByParent:(Z)=>M0("listDocuments",{parent_id:Z}),createDocument:(Z)=>M0("createDocument",Z),getDocument:(Z)=>M0("getDocument",Z),updateDocument:(Z,J)=>{let{if_match:Q,...$}=J;return M0("updateDocument",Z,$,Q)},moveDocument:(Z,J,Q)=>M0("moveDocument",Z,J,Q),duplicateDocument:(Z,J)=>M0("duplicateDocument",Z,J),deleteDocument:(Z)=>M0("deleteDocument",Z),documentHistory:(Z)=>M0("listDocumentRevisions",Z),documentAt:(Z,J)=>M0("documentAtVersion",Z,J),revertDocument:(Z,J)=>M0("revertDocument",Z,J.to,J.if_match),nodes:()=>M0("nodes"),search:(Z,J)=>M0("search",Z,J)};class L9 extends Error{code;status;constructor(Z,J,Q){super(Z);this.code=J;this.status=Q;this.name="ApiError"}}var e0="mh-nav-invalidate";function EJ(Z,J){return Z!=="GET"&&(J.startsWith("/api/database")||J.startsWith("/api/document"))}var N1="mh_token",pJ="/auth/token";function cJ(){try{return localStorage.getItem(N1)}catch{return null}}function iJ(Z){try{localStorage.setItem(N1,Z)}catch{}document.cookie=`${N1}=${encodeURIComponent(Z)}; path=/; SameSite=Strict; Max-Age=31536000`}async function gZ(Z,J={}){let Q=cJ(),$=new Headers(J.headers);if(Q&&!$.has("authorization"))$.set("authorization",`Bearer ${Q}`);let X=await fetch(Z,{...J,headers:$});if(X.status!==401||!Q)return X;let q=await fetch(pJ,{headers:{authorization:`Bearer ${Q}`}}).catch(()=>null);if(!q?.ok)return X;let W=await q.json().catch(()=>null);if(!W?.token)return X;return iJ(W.token),$.set("authorization",`Bearer ${W.token}`),fetch(Z,{...J,headers:$})}async function F0(Z,J,Q){let $=await gZ(J,{method:Z,headers:Q!==void 0?{"content-type":"application/json"}:void 0,body:Q!==void 0?JSON.stringify(Q):void 0}),X=await $.json().catch(()=>null);if(!$.ok||X&&X.error)throw new L9(X&&X.error||`${$.status} ${$.statusText}`,X?.code,$.status);if(EJ(Z,J))document.dispatchEvent(new CustomEvent(e0));return X}var O0=(Z)=>encodeURIComponent(Z),dJ={listDatabases:()=>F0("GET","/api/databases"),createDatabase:(Z)=>F0("POST","/api/databases",Z),updateDatabase:(Z,J)=>F0("PATCH",`/api/database?id=${O0(Z)}`,J),duplicateDatabase:(Z,J)=>F0("POST",`/api/database/duplicate?id=${O0(Z)}`,J??{}),deleteDatabase:(Z)=>F0("DELETE",`/api/database?id=${O0(Z)}`),listProperties:(Z)=>F0("GET",`/api/properties?db=${O0(Z)}`),createProperty:(Z)=>F0("POST","/api/properties",Z),updateProperty:(Z,J)=>F0("PATCH",`/api/property?id=${O0(Z)}`,J),setColumnWidth:(Z,J)=>F0("PATCH",`/api/property/width?id=${O0(Z)}`,{width:J}),deleteProperty:(Z)=>F0("DELETE",`/api/property?id=${O0(Z)}`),listRecords:(Z,J={})=>{let Q=new URLSearchParams({db:Z});if(J.sort)Q.set("sort",J.sort);if(J.limit!=null)Q.set("limit",String(J.limit));return F0("GET",`/api/records?${Q}`)},createRecord:(Z,J)=>F0("POST",`/api/records?db=${O0(Z)}`,J),getRecord:(Z)=>F0("GET",`/api/record?id=${O0(Z)}`),updateRecord:(Z,J)=>F0("PATCH",`/api/record?id=${O0(Z)}`,J),moveRecord:(Z,J,Q)=>F0("PATCH",`/api/record/order?id=${O0(Z)}`,{target:J,where:Q}),deleteRecord:(Z)=>F0("DELETE",`/api/record?id=${O0(Z)}`),listDocuments:(Z)=>F0("GET",Z?`/api/documents?db=${O0(Z)}`:"/api/documents"),listDocumentsByParent:(Z)=>F0("GET",`/api/documents?parent=${O0(Z)}`),createDocument:(Z)=>F0("POST","/api/documents",Z),getDocument:(Z)=>F0("GET",`/api/document?id=${O0(Z)}`),updateDocument:(Z,J)=>F0("PATCH",`/api/document?id=${O0(Z)}`,J),moveDocument:(Z,J,Q)=>F0("PATCH",`/api/document/move?id=${O0(Z)}`,{target:J,where:Q}),duplicateDocument:(Z,J)=>F0("POST",`/api/document/duplicate?id=${O0(Z)}`,J??{}),deleteDocument:(Z)=>F0("DELETE",`/api/document?id=${O0(Z)}`),documentHistory:(Z)=>F0("GET",`/api/document/history?id=${O0(Z)}`),documentAt:(Z,J)=>F0("GET",`/api/document/at?id=${O0(Z)}&version=${O0(J)}`),revertDocument:(Z,J)=>F0("POST",`/api/document/revert?id=${O0(Z)}`,J),recordHistory:(Z)=>F0("GET",`/api/record/history?id=${O0(Z)}`),databaseActivity:(Z,J)=>F0("GET",`/api/database/activity?db=${O0(Z)}${J!=null?`&limit=${J}`:""}`),recordAt:(Z,J)=>F0("GET",`/api/record/at?id=${O0(Z)}&version=${O0(J)}`),revertRecord:(Z,J)=>F0("POST",`/api/record/revert?id=${O0(Z)}`,{to:J}),nodes:()=>F0("GET","/api/nodes"),search:(Z,J)=>{let Q=new URLSearchParams({q:Z});if(J!=null)Q.set("limit",String(J));return F0("GET",`/api/search?${Q}`)},listPeers:()=>F0("GET","/api/peers"),newPairingCode:()=>F0("POST","/api/pair/new"),addPeerByPairing:(Z)=>F0("POST","/api/peers/pair",Z),updatePeer:(Z,J)=>F0("PATCH",`/api/peer?url=${O0(Z)}`,J),removePeer:(Z)=>F0("DELETE",`/api/peer?url=${O0(Z)}`),syncPeer:(Z)=>F0("POST",`/api/peer/sync?url=${O0(Z)}`),listGrants:()=>F0("GET","/api/grants"),revokeGrant:(Z)=>F0("DELETE",`/api/grant?token=${O0(Z)}`),listSites:()=>F0("GET","/api/sites"),listSiteFiles:(Z)=>F0("GET",`/api/site/files?site=${O0(Z)}`),createSite:(Z)=>F0("POST","/api/sites",Z),updateSite:(Z,J)=>F0("PATCH",`/api/site?id=${O0(Z)}`,J),deleteSite:(Z)=>F0("DELETE",`/api/site?id=${O0(Z)}`),deleteSiteFile:(Z,J)=>F0("DELETE",`/api/site/file?site=${O0(Z)}&path=${O0(J)}`),uploadSiteFile:async(Z,J,Q)=>{let $=await gZ(`/api/site/file?site=${O0(Z)}&path=${O0(J)}`,{method:"POST",headers:{"content-type":Q.type||"application/octet-stream"},body:Q}),X=await $.json().catch(()=>null);if(!$.ok||X&&X.error)throw Error(X&&X.error||`${$.status} ${$.statusText}`);return X},version:()=>F0("GET","/api/version")},u=new Proxy(dJ,{get(Z,J,Q){if(B9()&&J in M1)return M1[J];return Reflect.get(Z,J,Q)}}),h9={text:{ic:"text",t:"文本"},number:{ic:"hash",t:"数字"},select:{ic:"select",t:"单选"},multi_select:{ic:"multi",t:"多选"},checkbox:{ic:"checkbox",t:"复选框"},date:{ic:"calendar",t:"日期"},url:{ic:"link",t:"链接"},relation:{ic:"relation",t:"关联"}};var aJ=0;function z(Z,J,Q,$,X,q){J||(J={});var W,G,K=J;if("ref"in K)for(G in K={},J)G=="ref"?W=J[G]:K[G]=J[G];var H={type:Z,props:K,key:Q,ref:W,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--aJ,__i:-1,__u:0,__source:X,__self:q};if(typeof Z=="function"&&(W=Z.defaultProps))for(G in W)K[G]===void 0&&(K[G]=W[G]);return V0.vnode&&V0.vnode(H),H}var lJ={cube:'<path d="M21 7.5 12 2 3 7.5v9L12 22l9-5.5z"/><path d="m3 7.5 9 5.5 9-5.5M12 22v-9"/>',chevron:'<path d="m9 6 6 6-6 6"/>',chevronDown:'<path d="m6 9 6 6 6-6"/>',arrowLeft:'<path d="M15 18l-6-6 6-6"/>',plus:'<path d="M12 5v14M5 12h14"/>',pin:'<path d="M9 4h6l-1 6 3 3v2H7v-2l3-3z"/><path d="M12 16v5"/>',search:'<circle cx="11" cy="11" r="7"/><path d="m20 20-3.2-3.2"/>',dots:'<circle cx="5" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="12" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="19" cy="12" r="1.4" fill="currentColor" stroke="none"/>',grip:'<circle cx="9" cy="6" r="1.3" fill="currentColor" stroke="none"/><circle cx="9" cy="12" r="1.3" fill="currentColor" stroke="none"/><circle cx="9" cy="18" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="6" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="12" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="18" r="1.3" fill="currentColor" stroke="none"/>',trash:'<path d="M4 7h16M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M6 7l1 13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1l1-13M10 11v6M14 11v6"/>',filter:'<path d="M3 5h18l-7 8v6l-4-2v-4z"/>',sort:'<path d="M7 3v14M7 17l-3-3M7 17l3-3M17 21V7M17 7l-3 3M17 7l3 3"/>',group:'<rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/>',check:'<path d="M5 12.5 10 17l9-10"/>',x:'<path d="M6 6 18 18M18 6 6 18"/>',file:'<path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"/><path d="M14 3v5h5"/>',database:'<ellipse cx="12" cy="5" rx="8" ry="3"/><path d="M4 5v14c0 1.66 3.58 3 8 3s8-1.34 8-3V5"/><path d="M4 12c0 1.66 3.58 3 8 3s8-1.34 8-3"/>',table:'<rect x="3" y="4" width="18" height="16" rx="1.5"/><path d="M3 10h18M3 15h18M9 4v16M15 4v16"/>',alignLeft:'<path d="M4 6h16M4 12h10M4 18h13"/>',alignCenter:'<path d="M4 6h16M7 12h10M5 18h14"/>',alignRight:'<path d="M4 6h16M10 12h10M7 18h13"/>',share:'<path d="M4 12v7a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-7"/><path d="M12 3v13M8 7l4-4 4 4"/>',download:'<path d="M12 3v12M8 11l4 4 4-4"/><path d="M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"/>',copy:'<rect x="9" y="9" width="11" height="11" rx="2"/><path d="M5 15V5a2 2 0 0 1 2-2h10"/>',link:'<path d="M10 13a5 5 0 0 0 7 0l2-2a5 5 0 0 0-7-7l-1 1"/><path d="M14 11a5 5 0 0 0-7 0l-2 2a5 5 0 0 0 7 7l1-1"/>',calendar:'<rect x="3" y="4" width="18" height="17" rx="2"/><path d="M3 9h18M8 2v4M16 2v4"/>',timeline:'<rect x="3" y="5" width="9" height="3" rx="1.5"/><rect x="8" y="10.5" width="11" height="3" rx="1.5"/><rect x="5" y="16" width="7" height="3" rx="1.5"/>',hash:'<path d="M4 9h16M4 15h16M10 3 8 21M16 3l-2 18"/>',text:'<path d="M4 6h16M4 6v-.5M8 6v13M4 19h8"/><path d="M14 11h6M17 11v8M14 19h6"/>',list:'<path d="M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01"/>',numList:'<path d="M10 6h10M10 12h10M10 18h10M4 5h1v4M4 9h2M4 13.5c0-.8 2-.8 2 0 0 .8-2 1.2-2 2.5h2"/>',checkbox:'<rect x="4" y="4" width="16" height="16" rx="3"/><path d="m9 12 2 2 4-4"/>',select:'<circle cx="12" cy="12" r="8"/><circle cx="12" cy="12" r="3" fill="currentColor" stroke="none"/>',multi:'<path d="M8 6h12M8 12h12M8 18h12M3 6h.01M3 12h.01M3 18h.01"/>',relation:'<path d="M7 7h4v4H7zM13 13h4v4h-4z"/><path d="M11 9h2a2 2 0 0 1 2 2v2"/>',quote:'<path d="M7 7c-2 1-3 3-3 6h3v4H4v-4M17 7c-2 1-3 3-3 6h3v4h-3v-4"/>',code:'<path d="m8 8-4 4 4 4M16 8l4 4-4 4M13 6l-2 12"/>',minus:'<path d="M5 12h14"/>',heading:'<path d="M6 4v16M18 4v16M6 12h12"/>',panelLeft:'<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M9 4v16"/>',cornerUpRight:'<path d="M5 19V11a4 4 0 0 1 4-4h10M15 3l4 4-4 4"/>',openPeek:'<rect x="3" y="5" width="18" height="14" rx="2.5"/><rect x="6" y="8" width="4" height="8" rx="1" fill="currentColor" stroke="none"/>',settings:'<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/><circle cx="12" cy="12" r="3"/>',eyeOff:'<path d="M4 4l16 16M9.5 9.5a3 3 0 0 0 4 4M6.5 6.7C4.5 8 3 10 2 12c2 4 6 7 10 7 1.6 0 3-.4 4.4-1.1M9.5 5.2A9.7 9.7 0 0 1 12 5c4 0 8 3 10 7-.6 1.3-1.5 2.5-2.5 3.5"/>',bold:'<path d="M6 4h7a4 4 0 0 1 0 8H6zM6 12h8a4 4 0 0 1 0 8H6z"/>',italic:'<path d="M19 4h-9M14 20H5M15 4 9 20"/>',underline:'<path d="M6 4v6a6 6 0 0 0 12 0V4M4 21h16"/>',strike:'<path d="M4 12h16M7 7a4 4 0 0 1 7-1M9 17a4 4 0 0 0 7-2"/>',sun:'<circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/>',moon:'<path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"/>',history:'<path d="M3 12a9 9 0 1 0 2.6-6.4L3 8"/><path d="M3 3v5h5"/><path d="M12 7v5l3.5 2"/>',monitor:'<rect x="3" y="4" width="18" height="13" rx="2"/><path d="M8 21h8M12 17v4"/>',globe:'<circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3c2.4 2.5 3.7 5.7 3.7 9S14.4 18.5 12 21c-2.4-2.5-3.7-5.7-3.7-9S9.6 5.5 12 3z"/>',eye:'<path d="M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7-10-7-10-7z"/><circle cx="12" cy="12" r="3"/>',lock:'<rect x="4.5" y="11" width="15" height="9" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/>',upload:'<path d="M12 16V4M8 8l4-4 4 4M5 20h14"/>',externalLink:'<path d="M14 4h6v6M20 4l-9 9M19 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h5"/>'};function f({name:Z,cls:J="ico"}){return z("svg",{class:J,viewBox:"0 0 24 24",dangerouslySetInnerHTML:{__html:lJ[Z]??""}},void 0,!1,void 0,this)}var n0={text:"text",number:"hash",select:"select",multi_select:"multi",checkbox:"checkbox",date:"calendar",url:"link",relation:"relation"};function m9(Z,J){let Q=J.threshold??4,$=Q===0,X=(W)=>{if(W.pointerId!==Z.pointerId)return;if(!$){if(Math.hypot(W.clientX-Z.clientX,W.clientY-Z.clientY)<Q)return;$=!0,J.onStart?.(W)}W.preventDefault(),J.onMove(W)},q=(W)=>{if(W.pointerId!==Z.pointerId)return;removeEventListener("pointermove",X),removeEventListener("pointerup",q),removeEventListener("pointercancel",q),J.onEnd?.(W,$)};addEventListener("pointermove",X,{passive:!1}),addEventListener("pointerup",q),addEventListener("pointercancel",q)}function $9(){document.querySelectorAll(".drop-into,.drop-before,.drop-after").forEach((Z)=>Z.classList.remove("drop-into","drop-before","drop-after"))}function v1(Z,J,Q){$9();let $=Z.getBoundingClientRect(),X=Q==="y"?J.clientY<$.top+$.height/2?"before":"after":J.clientX<$.left+$.width/2?"before":"after";return Z.classList.add("drop-"+X),X}function nJ(Z,J,Q){let $=document.createElement("div");return $.className="drag-ghost "+Z,$.style.width=`${J.width}px`,$.style.height=`${J.height}px`,$.textContent=Q,document.body.appendChild($),$}function k1(Z,J,Q){if(!Z)return;Z.style.transform=`translate3d(${Math.round(J)}px, ${Math.round(Q)}px, 0)`}function R1(Z,J){let Q=J.source.getBoundingClientRect(),$=Z.clientX-Q.left,X=Z.clientY-Q.top,q=null,W=null,G="before";m9(Z,{onStart:()=>{q=nJ(J.ghostCls,Q,J.ghostText),J.source.classList.add("drag-source"),document.body.classList.add("table-dragging"),J.onActivate?.()},onMove:(K)=>{k1(q,K.clientX-$,K.clientY-X);let H=document.elementFromPoint(K.clientX,K.clientY)?.closest?.(J.targetSelector);if(!H||J.isSelf(H)){$9(),W=null;return}W=H,G=v1(H,K,J.axis)},onEnd:(K,H)=>{if(q?.remove(),J.source.classList.remove("drag-source"),document.body.classList.remove("table-dragging"),$9(),H&&W)J.onDrop(W,G);J.onFinish?.(H)}})}function xZ(Z,J){let Q=Z.currentTarget,$=J.startWidth,X=0;Q.classList.add("dragging"),document.body.classList.add("col-resizing");let q=Q.closest("table");if(q)Q.style.setProperty("--rz-guide-h",q.offsetHeight+"px");m9(Z,{threshold:0,onMove:(W)=>{if($=Math.max(J.min,J.startWidth+W.clientX-Z.clientX),!X)X=requestAnimationFrame(()=>{if(X=0,J.col)J.col.style.width=$+"px"})},onEnd:()=>{if(X)cancelAnimationFrame(X);if(J.col)J.col.style.width=$+"px";Q.classList.remove("dragging"),Q.style.removeProperty("--rz-guide-h"),document.body.classList.remove("col-resizing"),J.onDone($)}})}var jZ="(max-width: 768px) and (pointer: coarse)";function T1(Z){let J=Z,Q=new Set;return{get:()=>J,set:($)=>{J=$,Q.forEach((X)=>X($))},use(){let[$,X]=b(J);return r(()=>{return Q.add(X),()=>void Q.delete(X)},[]),$}}}var JZ=T1([]),rJ=0;function Z0(Z){let J=++rJ;JZ.set([...JZ.get(),{id:J,msg:Z}]),setTimeout(()=>JZ.set(JZ.get().filter((Q)=>Q.id!==J)),2600)}var V1=T1(null);function R0(Z,J,Q={}){V1.set({render:J,anchor:Z,minWidth:Q.minWidth})}function P4(){V1.set(null)}function oJ(Z){if(Z instanceof MouseEvent)return{x:Z.clientX,y:Z.clientY};if("rect"in Z)return{x:Z.rect.left,y:Z.rect.bottom,bottom:Z.rect.bottom};return{x:Z.x,y:Z.y}}function tJ(){let Z=V1.use(),J=H0(null),[Q,$]=b(null),X=matchMedia(jZ).matches;if(q4(()=>{if(!Z||!J.current||X)return $(null);let{x:q,y:W}=oJ(Z.anchor),G=J.current.getBoundingClientRect();$({left:Math.min(q,innerWidth-G.width-10),top:Math.min(W+4,innerHeight-G.height-10)})},[Z,X]),!Z)return null;return z("div",{class:"menu-layer",onMouseDown:(q)=>q.target===q.currentTarget&&P4(),children:z("div",{ref:J,class:"pop"+(X?" sheet":""),style:X?void 0:{left:Q?.left??-9999,top:Q?.top??-9999,minWidth:Z.minWidth},onMouseDown:(q)=>q.stopPropagation(),children:Z.render(P4)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function u0({children:Z}){return z("div",{class:"lbl",children:Z},void 0,!1,void 0,this)}function f0(){return z("div",{class:"sep"},void 0,!1,void 0,this)}function t({icon:Z,label:J,sublabel:Q,danger:$,checked:X,onClick:q}){return z("button",{class:"item"+($?" danger":""),onClick:q,children:[Z&&z("span",{class:"lico plain",children:z(f,{name:Z,cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"meta",children:[z("span",{class:"t",children:J},void 0,!1,void 0,this),Q&&z("span",{class:"d",children:Q},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X&&z("span",{class:"chk",children:z(f,{name:"check",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function N9(Z,J=240){let[Q,$]=b(!1);return r(()=>{let q=requestAnimationFrame(()=>$(!0));return()=>cancelAnimationFrame(q)},[]),{open:Q,close:()=>{$(!1),setTimeout(Z,J)}}}var S1=T1(null);function Z9(Z){S1.set(Z)}function i0(){S1.set(null)}function X9({title:Z,sub:J,children:Q,footer:$,width:X}){return z("div",{class:"modal",style:{width:X},onMouseDown:(q)=>q.stopPropagation(),children:[z("div",{class:"modal-head",children:[z("h3",{children:Z},void 0,!1,void 0,this),J&&z("p",{children:J},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"modal-body",children:Q},void 0,!1,void 0,this),$&&z("div",{class:"modal-foot",children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function sJ(){let Z=S1.use();return r(()=>{if(!Z)return;let J=(Q)=>Q.key==="Escape"&&i0();return addEventListener("keydown",J),()=>removeEventListener("keydown",J)},[Z]),z("div",{class:"modal-scrim"+(Z?" open":""),onMouseDown:(J)=>J.target===J.currentTarget&&i0(),children:Z},void 0,!1,void 0,this)}function b0(Z){return new Promise((J)=>{let Q=($)=>{i0(),J($)};Z9(z(X9,{title:Z.title,footer:z(n,{children:[z("button",{class:"btn btn-secondary",onClick:()=>Q(!1),children:"取消"},void 0,!1,void 0,this),z("button",{class:"btn "+(Z.danger?"btn-danger":"btn-primary"),onClick:()=>Q(!0),children:Z.confirmLabel??"确定"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:z("div",{class:"muted",children:Z.message},void 0,!1,void 0,this)},void 0,!1,void 0,this))})}function q9(Z){return new Promise((J)=>{let Q=Z.value??"",$=(X)=>{i0(),J(X)};Z9(z(X9,{title:Z.title,footer:z(n,{children:[z("button",{class:"btn btn-secondary",onClick:()=>$(null),children:"取消"},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:()=>$(Q.trim()||(Z.value??"")),children:Z.confirmLabel??"保存"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[Z.label&&z("div",{class:"field-label",children:Z.label},void 0,!1,void 0,this),z("input",{class:"text-input",autofocus:!0,value:Z.value??"",placeholder:Z.placeholder,onInput:(X)=>Q=X.target.value,onKeyDown:(X)=>{if(X.key==="Enter")$(Q.trim()||(Z.value??""))}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))})}function DZ(){let Z=JZ.use();return z(n,{children:[z(tJ,{},void 0,!1,void 0,this),z(sJ,{},void 0,!1,void 0,this),z("div",{class:"toasts",children:Z.map((J)=>z("div",{class:"toast",children:[z(f,{name:"check",cls:"ico sm"},void 0,!1,void 0,this),z("span",{children:J.msg},void 0,!1,void 0,this)]},J.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var I1=null,eJ=/mac/i.test(navigator.userAgentData?.platform??navigator.platform);function C4(Z){let{view:J,navigate:Q}=Z,[$,X]=b(new Set),[q,W]=b(""),[G,K]=b(!1),H=H0(null),[F,Y]=b(null),C=Q3(Z.onResize);r(()=>{u.version().then((A)=>Y(A.version)).catch(()=>Y(null))},[]),r(()=>{if(G)H.current?.focus()},[G]);let L=(A)=>{let y=new Set($);y.has(A)?y.delete(A):y.add(A),X(y)},B=(A)=>A().catch((y)=>Z.onError(String(y.message))),M=(A)=>{if("id"in J&&J.id===A)Q({kind:"empty"},{replace:!0})},k=(A)=>B(async()=>{let y=await u.createDocument({title:"",...A?{parent_id:A}:{}});if(A)$.add(A);Q({kind:"doc",id:y.id})}),T=(A,y,x)=>B(async()=>{if(A===y.id)return;if(J3(Z.docs,A,y.id))return;if(await u.moveDocument(A,y.id,x),x==="into")$.add(y.id)}),O=(A,y)=>{A.stopPropagation(),R0(A,(x)=>z(n,{children:[z(t,{icon:"settings",label:"重命名…",onClick:async()=>{x();let v=await q9({title:"重命名数据库",value:y.name});if(v&&v!==y.name)B(async()=>{await u.updateDatabase(y.id,{name:v})})}},void 0,!1,void 0,this),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"trash",label:"删除数据库",danger:!0,onClick:async()=>{if(x(),await b0({title:"删除数据库?",message:`「${y.name}」及其所有记录将被永久删除。`,confirmLabel:"删除",danger:!0}))B(async()=>{await u.deleteDatabase(y.id),M(y.id)})}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},P=(A,y)=>{A.stopPropagation();let x=Z.docs.filter((v)=>v.parent_id===y.id).length;R0(A,(v)=>z(n,{children:[z(t,{icon:"plus",label:"新建子页",onClick:()=>{v(),k(y.id)}},void 0,!1,void 0,this),z(t,{icon:"settings",label:"重命名…",onClick:async()=>{v();let E=await q9({title:"重命名文档",value:y.title});if(E)B(async()=>{await u.updateDocument(y.id,{title:E})})}},void 0,!1,void 0,this),y.parent_id&&z(t,{icon:"cornerUpRight",label:"移到顶层",onClick:()=>{v(),B(async()=>{await u.updateDocument(y.id,{parent_id:null})})}},void 0,!1,void 0,this),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"trash",label:"删除",danger:!0,onClick:async()=>{if(v(),await b0({title:"删除文档?",message:x?`「${y.title||"无标题"}」及其 ${x} 个子页将被删除。`:`「${y.title||"无标题"}」将被删除。`,confirmLabel:"删除",danger:!0}))B(async()=>{await _4(Z.docs,y.id),M(y.id)})}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},_=(A,y=0)=>{return Z.docs.filter((v)=>v.parent_id===A).map((v)=>{let E=Z.docs.filter((l)=>l.parent_id===v.id),J0=E.length>0&&$.has(v.id);return z("div",{class:y?"navchildren":"",children:[z("div",{class:"navitem"+(J.kind==="doc"&&J.id===v.id?" active":""),draggable:!0,onClick:()=>Q({kind:"doc",id:v.id}),onDragStart:(l)=>{l.stopPropagation(),I1=v.id,l.currentTarget.classList.add("dragging")},onDragEnd:(l)=>{l.currentTarget.classList.remove("dragging"),f1()},onDragOver:(l)=>{l.preventDefault(),l.stopPropagation(),Z3(l.currentTarget,l)},onDrop:(l)=>{l.preventDefault(),l.stopPropagation();let A0=O4(l.currentTarget,l),o=I1;if(I1=null,f1(),o)T(o,v,A0)},children:[z("span",{class:"tw"+(J0?" open":""),onClick:(l)=>{if(l.stopPropagation(),E.length)L(v.id)},children:E.length>0&&z(f,{name:"chevron",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"emoji",children:z(f,{name:"file",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"label",children:v.title||"无标题"},void 0,!1,void 0,this),z("span",{class:"acts",children:[z("button",{title:"新建子页",onClick:(l)=>{l.stopPropagation(),k(v.id)},children:z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{title:"更多",onClick:(l)=>P(l,v),children:z(f,{name:"dots",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),J0&&_(v.id,y+1)]},v.id,!0,void 0,this)})};return z("div",{class:"sidebar"+(Z.collapsed?" collapsed":""),style:{width:Z.width,marginLeft:Z.collapsed?-Z.width:void 0},children:[z("div",{class:"sb-head",children:[z("div",{class:"brand",children:[z("span",{class:"mark",children:z(f,{name:"cube"},void 0,!1,void 0,this)},void 0,!1,void 0,this),"Metahub"]},void 0,!0,void 0,this),z("button",{class:"sb-act"+(G?" active":""),title:"搜索","aria-label":"搜索",onClick:()=>K((A)=>!A),children:z(f,{name:"search",cls:"ico"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"sb-act"+(J.kind==="sites"?" active":""),title:"站点","aria-label":"站点",onClick:()=>Q({kind:"sites"}),children:z(f,{name:"globe",cls:"ico"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"sb-act"+(J.kind==="settings"?" active":""),title:"设置","aria-label":"设置",onClick:()=>Q({kind:"settings"}),children:[z(f,{name:"settings",cls:"ico"},void 0,!1,void 0,this),Z.updatePending&&z("span",{class:"nav-dot",title:"有可用更新"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"iconbtn",title:"收起侧栏",onClick:Z.onCollapse,children:z(f,{name:"panelLeft"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"sb-search"+(G?" open":""),onClick:(A)=>A.currentTarget.querySelector("input")?.focus(),children:[z(f,{name:"search",cls:"ico sm"},void 0,!1,void 0,this),z("input",{ref:H,placeholder:"搜索…",value:q,onInput:(A)=>W(A.target.value),onKeyDown:(A)=>{if(A.key==="Enter"&&q.trim())Q({kind:"search",q:q.trim()},{replace:J.kind==="search"})}},void 0,!1,void 0,this),z("kbd",{children:eJ?"⌘K":"Ctrl K"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"sb-scroll",children:[z("div",{class:"sb-section",children:[z("div",{class:"sb-section-head",children:[z("span",{children:"数据库"},void 0,!1,void 0,this),z("button",{class:"add",title:"新建数据库",onClick:()=>z3((A)=>Q({kind:"db",id:A}),Z.onError),children:z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z.databases.map((A)=>z("div",{class:"navitem"+(J.kind==="db"&&J.id===A.id?" active":""),onClick:()=>Q({kind:"db",id:A.id}),children:[z("span",{class:"emoji",children:A.icon||"\uD83D\uDDC2️"},void 0,!1,void 0,this),z("span",{class:"label",children:A.name},void 0,!1,void 0,this),z("span",{class:"acts",children:z("button",{title:"更多",onClick:(y)=>O(y,A),children:z(f,{name:"dots",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},A.id,!0,void 0,this)),Z.databases.length===0&&z("div",{class:"navitem muted",children:"暂无"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"sb-section",children:[z("div",{class:"sb-section-head",children:[z("span",{children:"文档"},void 0,!1,void 0,this),z("button",{class:"add",title:"新建文档",onClick:()=>k(null),children:z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),_(null),Z.docs.length===0&&z("div",{class:"navitem muted",children:"暂无"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"sb-footer",children:[z("button",{class:"sb-act"+(J.kind==="settings"?" active":""),title:"设置","aria-label":"设置",onClick:()=>Q({kind:"settings"}),children:[z(f,{name:"settings",cls:"ico sm"},void 0,!1,void 0,this),Z.updatePending&&z("span",{class:"nav-dot",title:"有可用更新"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"sb-act"+(J.kind==="sites"?" active":""),title:"站点","aria-label":"站点",onClick:()=>Q({kind:"sites"}),children:z(f,{name:"globe",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),F&&z("span",{class:"sbf-ver",title:`Metahub Core v${F}`,children:["v",F]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"sb-resizer",onMouseDown:C},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var f1=$9;function O4(Z,J){let Q=Z.getBoundingClientRect(),$=J.clientY-Q.top;return $<Q.height*0.28?"before":$>Q.height*0.72?"after":"into"}function Z3(Z,J){f1(),Z.classList.add("drop-"+O4(Z,J))}function J3(Z,J,Q){let $=Z.find((X)=>X.id===Q);while($){if($.parent_id===J)return!0;$=Z.find((X)=>X.id===$.parent_id)}return!1}async function _4(Z,J){for(let Q of Z.filter(($)=>$.parent_id===J))await _4(Z,Q.id);await u.deleteDocument(J)}function Q3(Z){return(J)=>{J.preventDefault();let Q=J.currentTarget;Q.classList.add("dragging"),document.body.classList.add("col-resizing");let $=(q)=>Z(Math.max(210,Math.min(460,q.clientX))),X=()=>{Q.classList.remove("dragging"),document.body.classList.remove("col-resizing"),removeEventListener("mousemove",$),removeEventListener("mouseup",X)};addEventListener("mousemove",$),addEventListener("mouseup",X)}}var w4={blank:[{name:"名称",type:"text"}],tasks:[{name:"名称",type:"text"},{name:"状态",type:"select",config:{options:["待办","进行中","已完成"]}},{name:"优先级",type:"select",config:{options:["高","中","低"]}},{name:"截止",type:"date"}],crm:[{name:"姓名",type:"text"},{name:"公司",type:"text"},{name:"分类",type:"select",config:{options:["客户","合作","潜在"]}},{name:"邮箱",type:"url"}]};function z3(Z,J){Z9(z($3,{onOpenDb:Z,onError:J},void 0,!1,void 0,this))}function $3(Z){let J=["\uD83D\uDDC2️","\uD83C\uDFAF","\uD83E\uDD1D","\uD83D\uDCE6","\uD83D\uDCDA","\uD83D\uDCA1","\uD83E\uDDE9","\uD83D\uDCCA","\uD83D\uDDD3️","✅"],Q=[["blank","空白","仅一个「名称」列"],["tasks","任务","状态·优先级·截止"],["crm","联系人","公司·分类·邮箱"]],[$,X]=b(""),[q,W]=b(J[0]),[G,K]=b("blank"),H=H0(!1),F=async()=>{if(H.current)return;H.current=!0;try{let Y=await u.createDatabase({name:$.trim()||"未命名数据库",icon:q});for(let C of w4[G]??w4.blank)await u.createProperty({db:Y.id,name:C.name,type:C.type,config:C.config});i0(),Z.onOpenDb(Y.id),Z0(`已创建数据库「${Y.name}」`)}catch(Y){Z.onError(String(Y.message))}finally{H.current=!1}};return z(X9,{title:"新建数据库",sub:"创建一个带属性列的结构化数据表。",footer:z(n,{children:[z("button",{class:"btn btn-secondary",onClick:i0,children:"取消"},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:F,children:"创建"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[z("div",{class:"field-label",children:"名称"},void 0,!1,void 0,this),z("input",{class:"text-input",autofocus:!0,placeholder:"例如:项目、客户、库存…",value:$,onInput:(Y)=>X(Y.target.value),onKeyDown:(Y)=>Y.key==="Enter"&&F()},void 0,!1,void 0,this),z("div",{class:"field-label",children:"图标"},void 0,!1,void 0,this),z("div",{class:"icon-pick",children:J.map((Y)=>z("button",{class:Y===q?"sel":"",onClick:()=>W(Y),children:Y},Y,!1,void 0,this))},void 0,!1,void 0,this),z("div",{class:"field-label",children:"模板"},void 0,!1,void 0,this),z("div",{class:"tmpl",children:Q.map(([Y,C,L])=>z("button",{class:Y===G?"sel":"",onClick:()=>K(Y),children:[z("div",{class:"tt",children:C},void 0,!1,void 0,this),z("div",{class:"td",children:L},void 0,!1,void 0,this)]},Y,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var A4=[4,28,45,130,165,200,220,255,290,330];function b1(Z){let J=0;for(let Q=0;Q<Z.length;Q++)J=J*31+Z.charCodeAt(Q)>>>0;return`hsl(${A4[J%A4.length]} 65% 45%)`}function v9({text:Z}){return z("span",{class:"chip",style:{["--c"]:b1(Z)},children:Z},void 0,!1,void 0,this)}function u9({prop:Z,val:J}){if(J==null||J===""||Array.isArray(J)&&J.length===0)return z("span",{class:"muted",children:" "},void 0,!1,void 0,this);if(Z.type==="select")return z(v9,{text:String(J)},void 0,!1,void 0,this);if(Z.type==="multi_select"||Z.type==="relation")return z(n,{children:J.map((Q)=>z(v9,{text:String(Q)},String(Q),!1,void 0,this))},void 0,!1,void 0,this);if(Z.type==="url")return z("a",{href:String(J),target:"_blank",rel:"noreferrer",onClick:(Q)=>Q.stopPropagation(),children:String(J)},void 0,!1,void 0,this);return z("span",{children:String(J)},void 0,!1,void 0,this)}function M4(Z,J){if(Z==="relation")return J.split(",").map((Q)=>Q.trim()).filter(Boolean);return J}function N4(Z,J){if(J==null)return"";if(Array.isArray(J))return J.join(", ");return String(J)}var X3={user:"",repair:"修复",revert:"回滚"};function x1(Z){let J=Date.now()-new Date(Z).getTime();if(J<60000)return"刚刚";if(J<3600000)return`${Math.floor(J/60000)} 分钟前`;if(J<86400000)return`${Math.floor(J/3600000)} 小时前`;if(J<2592000000)return`${Math.floor(J/86400000)} 天前`;return new Date(Z).toLocaleDateString()}function j1(){let[Z,J]=b([]);return r(()=>{u.nodes().then(J).catch(()=>{})},[]),(Q)=>{let $=Z.find((X)=>X.node_id===Q);if($?.self)return"本设备";return $?.label||Q.slice(0,8)}}function D1({kind:Z}){if(Z==="user")return null;return z("span",{class:"hist-kind "+Z,children:X3[Z]},void 0,!1,void 0,this)}function q3(Z,J){let Q=Array.from({length:Z.length+1},()=>Array(J.length+1).fill(0));for(let W=Z.length-1;W>=0;W--)for(let G=J.length-1;G>=0;G--)Q[W][G]=Z[W]===J[G]?Q[W+1][G+1]+1:Math.max(Q[W+1][G],Q[W][G+1]);let $=[],X=0,q=0;while(X<Z.length&&q<J.length)if(Z[X]===J[q])$.push([X,q]),X++,q++;else if(Q[X+1][q]>=Q[X][q+1])X++;else q++;return $}var W3=(Z)=>Z?Z.split(/\n{2,}/):[],v4=(Z)=>Z?Z.split(`
8
+ `).filter((J)=>J.trim()!==""):[];function G3(Z,J){for(let Q=0;Q<Math.min(Z.length,J.length);Q++){let $=Z[Q].text,X=J[Q].text,q=0;while(q<$.length&&q<X.length&&$[q]===X[q])q++;let W=0;while(W<$.length-q&&W<X.length-q&&$[$.length-1-W]===X[X.length-1-W])W++;if(q+W<Math.max($.length,X.length)*0.3)continue;Z[Q].seg=[$.slice(0,q),$.slice(q,$.length-W),$.slice($.length-W)],J[Q].seg=[X.slice(0,q),X.slice(q,X.length-W),X.slice(X.length-W)]}}function H3(Z,J){let Q=v4(Z),$=v4(J),X=q3(Q,$),q=[],W=0,G=0;for(let[K,H]of[...X,[Q.length,$.length]]){let F=[],Y=[];for(;W<K;W++)F.push({kind:"del",text:Q[W]});for(;G<H;G++)Y.push({kind:"add",text:$[G]});if(G3(F,Y),q.push(...F,...Y),K<Q.length)q.push({kind:"same",text:Q[K]});W=K+1,G=H+1}return q}function K3(Z){let J=[];if(Z.created)J.push("创建");if(Z.deleted)J.push("删除");if(Z.title_changed)J.push("标题");if(Z.blocks_changed)J.push(`${Z.blocks_changed} 块修改`);if(Z.blocks_deleted)J.push(`${Z.blocks_deleted} 块删除`);return J.join("、")||"元数据"}function k4({docId:Z,onClose:J,onReverted:Q}){let{open:$,close:X}=N9(J),[q,W]=b(null),[G,K]=b(null),[H,F]=b(null),[Y,C]=b(null),[L,B]=b(!1),[M,k]=b(!1),[T,O]=b(!1),P=j1(),_=()=>Promise.all([u.documentHistory(Z),u.getDocument(Z)]).then(([v,E])=>{W(v),K(E),F((J0)=>J0??v[0]?.version??null)}).catch((v)=>Z0(String(v.message)));r(()=>{_()},[Z]),r(()=>{if(!H)return C(null);u.documentAt(Z,H).then(C).catch(()=>C(null))},[Z,H]);let A=e9(()=>(q??[]).filter((v)=>L||v.kind!=="repair"),[q,L]),y=H!=null&&q?.[0]?.version===H,x=async()=>{if(!H||!Y)return;if(!await b0({title:"恢复到此版本?",message:`标题和正文将恢复到 ${new Date(Y.version?F3(Y.version):Date.now()).toLocaleString()} 的状态。此操作会作为一次新修订记录,任何版本都仍可从历史找回。`,confirmLabel:"恢复"}))return;O(!0);try{await u.revertDocument(Z,{to:H,if_match:G?.version}),Z0("已恢复"),Q(),X()}catch(E){if(E instanceof L9&&E.code==="stale")Z0("文档刚被其他端修改,已刷新,请重试"),await _();else Z0(String(E.message))}finally{O(!1)}};return z(n,{children:[z("div",{class:"scrim"+($?" open":""),onClick:X},void 0,!1,void 0,this),z("div",{class:"peek hist-peek"+($?" open":""),children:[z("div",{class:"peek-head",children:[z("button",{class:"iconbtn",onClick:X,children:z(f,{name:"x"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"hist-title",children:[z(f,{name:"history",cls:"ico sm"},void 0,!1,void 0,this),"版本历史"]},void 0,!0,void 0,this),z("div",{style:{flex:1}},void 0,!1,void 0,this),z("label",{class:"hist-toggle",children:[z("input",{type:"checkbox",checked:M,onInput:()=>k(!M)},void 0,!1,void 0,this),"对比当前"]},void 0,!0,void 0,this),z("label",{class:"hist-toggle",children:[z("input",{type:"checkbox",checked:L,onInput:()=>B(!L)},void 0,!1,void 0,this),"显示修复"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"hist-split",children:[z("div",{class:"hist-list",children:[q===null&&z("div",{class:"muted pad",children:"加载中…"},void 0,!1,void 0,this),A.map((v)=>z("div",{class:"hist-item"+(H===v.version?" sel":""),onClick:()=>F(v.version),children:[z("div",{class:"row1",children:[z("span",{class:"when",title:new Date(v.at).toLocaleString(),children:x1(v.at)},void 0,!1,void 0,this),z(D1,{kind:v.kind},void 0,!1,void 0,this),q?.[0]?.version===v.version&&z("span",{class:"hist-now",children:"当前"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"row2",children:[z("span",{class:"who",children:P(v.node_id)},void 0,!1,void 0,this),z("span",{class:"what",children:K3(v)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},v.version,!0,void 0,this))]},void 0,!0,void 0,this),z("div",{class:"hist-preview",children:[Y&&z(n,{children:[z("div",{class:"hist-doc-title",children:Y.title||"无标题"},void 0,!1,void 0,this),M&&!y?H3(G?.body??"",Y.body).map((v,E)=>z("div",{class:"hist-line "+v.kind,children:v.seg?z(n,{children:[v.seg[0],z("span",{class:"seg",children:v.seg[1]},void 0,!1,void 0,this),v.seg[2]]},void 0,!0,void 0,this):v.text},E,!1,void 0,this)):W3(Y.body).map((v,E)=>z("div",{class:"hist-block",children:v},E,!1,void 0,this)),!Y.body&&z("div",{class:"muted",children:"(空文档)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),!Y&&H&&z("div",{class:"muted pad",children:"加载中…"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"hist-foot",children:z("button",{class:"btn btn-primary",disabled:!H||y||T,onClick:x,children:"恢复到此版本"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function F3(Z){return Number(Z.slice(0,15))||Date.now()}function Y3(Z){if(Z.deleted)return"已删除";if(Z.created)return"创建";if(Z.moved&&!Z.diffs.length)return"调整排序";return""}var g1=3;function R4({dbId:Z,onClose:J}){let{open:Q,close:$}=N9(J),[X,q]=b(null),[W,G]=b(new Map),[K,H]=b(!1),[F,Y]=b(new Set),C=j1();r(()=>{Promise.all([u.databaseActivity(Z),u.listProperties(Z)]).then(([B,M])=>{q(B),G(new Map(M.map((k)=>[k.id,k.name])))}).catch((B)=>Z0(String(B.message)))},[Z]);let L=(X??[]).filter((B)=>K||B.kind!=="repair");return z(n,{children:[z("div",{class:"scrim"+(Q?" open":""),onClick:$},void 0,!1,void 0,this),z("div",{class:"peek"+(Q?" open":""),children:[z("div",{class:"peek-head",children:[z("button",{class:"iconbtn",onClick:$,children:z(f,{name:"x"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"hist-title",children:[z(f,{name:"history",cls:"ico sm"},void 0,!1,void 0,this),"最近动态"]},void 0,!0,void 0,this),z("div",{style:{flex:1}},void 0,!1,void 0,this),z("label",{class:"hist-toggle",children:[z("input",{type:"checkbox",checked:K,onInput:()=>H(!K)},void 0,!1,void 0,this),"显示修复"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"peek-body hist-feed",children:[X===null&&z("div",{class:"muted pad",children:"加载中…"},void 0,!1,void 0,this),X!==null&&L.length===0&&z("div",{class:"muted pad",children:"暂无动态。"},void 0,!1,void 0,this),L.map((B)=>{let M=B.record_id+B.version,k=F.has(M),T=k?B.diffs:B.diffs.slice(0,g1),O=Y3(B);return z("div",{class:"hist-item static",children:[z("div",{class:"row1",children:[z("span",{class:"when",title:new Date(B.at).toLocaleString(),children:x1(B.at)},void 0,!1,void 0,this),z(D1,{kind:B.kind},void 0,!1,void 0,this),z("span",{class:"hist-recname",children:B.record_title||B.record_id},void 0,!1,void 0,this),O&&z("span",{class:"hist-status",children:O},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"row2",children:z("span",{class:"who",children:C(B.node_id)},void 0,!1,void 0,this)},void 0,!1,void 0,this),T.length>0&&z("div",{class:"hist-fields",children:[T.map((P)=>z("div",{class:"hist-field",children:[z("span",{class:"fname",children:W.get(P.prop)??"(已删字段)"},void 0,!1,void 0,this),!B.created&&z("span",{class:"old",title:E9(P.before),children:E9(P.before)},void 0,!1,void 0,this),!B.created&&z("span",{class:"arr",children:"→"},void 0,!1,void 0,this),z("span",{class:"new",title:E9(P.after),children:E9(P.after)},void 0,!1,void 0,this)]},P.prop,!0,void 0,this)),B.diffs.length>g1&&!k&&z("button",{class:"hist-more",onClick:()=>Y(new Set(F).add(M)),children:["…还有 ",B.diffs.length-g1," 项"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},M,!0,void 0,this)})]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function U3(Z,J){let Q=[];if(Z.created)Q.push("创建");if(Z.deleted)Q.push("删除");if(Z.fields.length)Q.push(Z.fields.map(($)=>J.get($)??"(已删字段)").join("、"));if(Z.moved&&!Q.length)Q.push("排序");return Q.join(";")||"元数据"}function E9(Z){if(Z===void 0)return"(空)";if(Z===null)return"(空)";if(typeof Z==="string")return Z===""?"(空)":Z;return JSON.stringify(Z)}function T4({rec:Z,props:J,onReverted:Q}){let[$,X]=b(null),[q,W]=b(null),[G,K]=b(!1),H=H0(new Map),[,F]=b(0),Y=j1(),C=e9(()=>new Map(J.map((O)=>[O.id,O.name])),[J]),L=()=>u.recordHistory(Z.id).then(X).catch((O)=>Z0(String(O.message)));r(()=>{L()},[Z.id]);let B=async(O)=>{let P=H.current.get(O);if(P)return P;let _=await u.recordAt(Z.id,O);return H.current.set(O,_),F((A)=>A+1),_},M=(O,P)=>{if(q===O.version)return W(null);if(W(O.version),B(O.version),P)B(P.version)},k=async(O)=>{if(!await b0({title:"恢复到此版本?",message:"记录字段将恢复到该修订时的值。此操作会作为一次新修订记录。",confirmLabel:"恢复"}))return;try{await u.revertRecord(Z.id,O.version),Z0("已恢复"),H.current.clear(),Q(),await L()}catch(_){Z0(String(_.message))}},T=($??[]).filter((O)=>G||O.kind!=="repair");return z("div",{class:"hist-rec",children:[z("div",{class:"hist-rec-head",children:[z("span",{class:"hist-title",children:[z(f,{name:"history",cls:"ico sm"},void 0,!1,void 0,this),"修改历史"]},void 0,!0,void 0,this),z("label",{class:"hist-toggle",children:[z("input",{type:"checkbox",checked:G,onInput:()=>K(!G)},void 0,!1,void 0,this),"显示修复"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),$===null&&z("div",{class:"muted pad",children:"加载中…"},void 0,!1,void 0,this),$!==null&&T.length===0&&z("div",{class:"muted pad",children:"暂无历史。"},void 0,!1,void 0,this),T.map((O,P)=>{let _=T[P+1],A=H.current.get(O.version),y=_?H.current.get(_.version):void 0,x=O.created&&A?Object.keys(A.data):O.fields;return z("div",{class:"hist-item static",children:[z("div",{class:"row1",onClick:()=>M(O,_),children:[z("span",{class:"when",title:new Date(O.at).toLocaleString(),children:x1(O.at)},void 0,!1,void 0,this),z(D1,{kind:O.kind},void 0,!1,void 0,this),P===0&&z("span",{class:"hist-now",children:"当前"},void 0,!1,void 0,this),z("div",{style:{flex:1}},void 0,!1,void 0,this),z(f,{name:q===O.version?"chevronDown":"chevron",cls:"ico sm"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"row2",onClick:()=>M(O,_),children:[z("span",{class:"who",children:Y(O.node_id)},void 0,!1,void 0,this),z("span",{class:"what",children:U3(O,C)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q===O.version&&z("div",{class:"hist-fields",children:[!A&&z("div",{class:"muted",children:"加载中…"},void 0,!1,void 0,this),A&&x.map((v)=>{let E=y?y.data[v]:void 0,J0=A.data[v];return z("div",{class:"hist-field",children:[z("span",{class:"fname",children:C.get(v)??"(已删字段)"},void 0,!1,void 0,this),_&&z("span",{class:"old",children:E9(E)},void 0,!1,void 0,this),_&&z("span",{class:"arr",children:"→"},void 0,!1,void 0,this),z("span",{class:"new",children:E9(J0)},void 0,!1,void 0,this)]},v,!0,void 0,this)}),A&&P!==0&&z("button",{class:"btn btn-secondary hist-restore",onClick:()=>k(O),children:"恢复到此版本"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},O.version,!0,void 0,this)})]},void 0,!0,void 0,this)}var k9="\x00__ungrouped__";function V4({props:Z,records:J,onCommitValue:Q,onCreate:$,onOpenRecord:X,onMove:q}){let W=Z.filter((O)=>O.type==="select"||O.type==="multi_select"),[G,K]=b(null),H=Z.find((O)=>O.id===G)??W.find((O)=>O.type==="select")??W[0]??null;if(!H)return z("div",{class:"view-placeholder",children:"看板视图需要一个「单选」或「多选」属性来分组。请在表格视图中添加一个单选列后再切换到看板。"},void 0,!1,void 0,this);let F=Z[0],Y=H.type==="multi_select",C=H.config?.options??[],L=(O)=>{let P=O.cells[H.id];if(Y){let A=(Array.isArray(P)?P:[]).map(String).filter((y)=>C.includes(y));return A.length?A:[k9]}let _=P==null?"":String(P);return _&&C.includes(_)?[_]:[k9]},B=new Map;for(let O of C)B.set(O,[]);B.set(k9,[]);for(let O of J)for(let P of L(O))B.get(P)?.push(O);let M=[...C];if((B.get(k9)?.length??0)>0)M.push(k9);let k=(O,P)=>{if(O.button!==0)return;if(O.target.closest("button,a,input"))return;let _=O.currentTarget.closest(".kcard");if(!_)return;let A=_.getBoundingClientRect();O.preventDefault();let y=O.clientX-A.left,x=O.clientY-A.top,v=null;m9(O,{onStart:()=>{v=_.cloneNode(!0),v.classList.add("dragging-ghost"),v.style.width=`${A.width}px`,document.body.appendChild(v),_.classList.add("drag-source"),document.body.classList.add("table-dragging")},onMove:(E)=>{k1(v,E.clientX-y,E.clientY-x),$9(),document.elementFromPoint(E.clientX,E.clientY)?.closest?.(".board-col")?.classList.add("drop-into")},onEnd:(E,J0)=>{if(v?.remove(),_.classList.remove("drag-source"),document.body.classList.remove("table-dragging"),$9(),!J0){X(P.id);return}let l=document.elementFromPoint(E.clientX,E.clientY)?.closest?.(".board-col");if(!l)return;if(!Y){let B0=l.dataset.colKey,K0=String(P.cells[H.id]??""),I=B0===k9?null:B0;if(String(I??"")!==K0)Q(P,H,I)}let A0=document.elementFromPoint(E.clientX,E.clientY)?.closest?.(".kcard"),o=A0?.dataset.recId;if(o&&o!==P.id){let B0=A0.getBoundingClientRect();q(P.id,o,E.clientY<B0.top+B0.height/2?"before":"after")}}})};return z("div",{class:"board-wrap",children:[z("div",{class:"board-bar",children:[z("button",{class:"tbtn",onClick:(O)=>R0(O,(P)=>z(n,{children:[z(u0,{children:"按属性分组"},void 0,!1,void 0,this),W.map((_)=>z(t,{icon:n0[_.type],label:_.name,onClick:()=>{K(_.id),P()}},_.id,!1,void 0,this))]},void 0,!0,void 0,this)),children:[z(f,{name:"group",cls:"ico sm"},void 0,!1,void 0,this),"分组:",H.name]},void 0,!0,void 0,this),Y&&z("span",{class:"muted",style:{fontSize:12},children:"多选分组不支持拖拽改值"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"board",children:M.map((O)=>{let P=B.get(O)??[],_=O===k9;return z("div",{class:"board-col","data-col-key":O,children:[z("div",{class:"board-col-head",children:[_?z("span",{class:"muted",style:{fontWeight:600},children:"未分组"},void 0,!1,void 0,this):z(v9,{text:O},void 0,!1,void 0,this),z("span",{class:"board-count",children:P.length},void 0,!1,void 0,this),z("div",{class:"spacer"},void 0,!1,void 0,this),z("button",{class:"iconbtn sm",title:"新建记录",onClick:()=>$(_?{}:{[H.id]:O}),children:z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"board-col-body",children:[P.map((A)=>z("div",{class:"kcard","data-rec-id":A.id,onPointerDown:(y)=>k(y,A),children:[z("div",{class:"kcard-title",children:B3(A,F)||z("span",{class:"muted",children:"无标题"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Z.filter((y)=>y!==F&&y.id!==H.id&&!L3(A.cells[y.id])).slice(0,4).map((y)=>z("div",{class:"kcard-field",children:[z(f,{name:n0[y.type]??"text",cls:"ico sm"},void 0,!1,void 0,this),z(u9,{prop:y,val:A.cells[y.id]},void 0,!1,void 0,this)]},y.id,!0,void 0,this))]},A.id,!0,void 0,this)),z("button",{class:"board-add",onClick:()=>$(_?{}:{[H.id]:O}),children:[z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},O,!0,void 0,this)})},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function B3(Z,J){if(!J)return"";let Q=Z.cells[J.id];return Q==null?"":Array.isArray(Q)?Q.join(", "):String(Q)}function L3(Z){return Z==null||Z===""||Array.isArray(Z)&&Z.length===0}function QZ(Z){if(Z==null)return null;let J=String(Z).trim();if(!J)return null;let Q=/^(\d{4})-(\d{2})-(\d{2})/.exec(J);if(Q)return new Date(Number(Q[1]),Number(Q[2])-1,Number(Q[3]));let $=new Date(J);return Number.isNaN($.getTime())?null:new Date($.getFullYear(),$.getMonth(),$.getDate())}function J9(Z){let J=Z.getFullYear(),Q=String(Z.getMonth()+1).padStart(2,"0"),$=String(Z.getDate()).padStart(2,"0");return`${J}-${Q}-${$}`}function p0(Z,J){return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate()+J)}function h1(Z,J){return Z.getFullYear()===J.getFullYear()&&Z.getMonth()===J.getMonth()&&Z.getDate()===J.getDate()}function y3(Z,J){return new Date(Z,J,1)}function P3(Z,J){return new Date(Z,J+1,0)}function p9(Z,J){let Q=Date.UTC(Z.getFullYear(),Z.getMonth(),Z.getDate()),$=Date.UTC(J.getFullYear(),J.getMonth(),J.getDate());return Math.round(($-Q)/86400000)}function hZ(){let Z=new Date;return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate())}function w3(Z){let J=(Z.getDay()+6)%7;return p0(Z,-J)}function S4(Z,J){let Q=w3(y3(Z,J)),$=P3(Z,J),X=[],q=Q;while(q<=$||X.length===0||q.getDay()!==1){let W=[];for(let G=0;G<7;G++)W.push(p0(q,G));if(X.push(W),q=p0(q,7),X.length>=6)break}return X}var C3=["一","二","三","四","五","六","日"],m1=3;function I4({props:Z,records:J,onCommitValue:Q,onCreate:$,onOpenRecord:X}){let q=Z.filter((y)=>y.type==="date"),[W,G]=b(null),K=Z.find((y)=>y.id===W)??q[0]??null,H=hZ(),[F,Y]=b({y:H.getFullYear(),m:H.getMonth()}),C=H0(null);if(!K)return z("div",{class:"view-placeholder",children:"日历视图需要一个「日期」属性。请在表格视图中添加一个日期列后再切换到日历。"},void 0,!1,void 0,this);let L=Z[0],B=S4(F.y,F.m),M=J.map((y)=>({rec:y,date:QZ(y.cells[K.id])})).filter((y)=>y.date!=null),k=(y)=>M.filter((x)=>h1(x.date,y)),T=(y)=>{let x=F.m+y;Y({y:F.y+Math.floor(x/12),m:(x%12+12)%12})},O=()=>Y({y:H.getFullYear(),m:H.getMonth()}),P=()=>document.querySelectorAll(".cal-day.drop-into").forEach((y)=>y.classList.remove("drop-into")),_=(y,x)=>{if(y.button!==0)return;y.preventDefault(),y.stopPropagation(),C.current={id:x.id,pointerId:y.pointerId,startX:y.clientX,startY:y.clientY,active:!1,ghost:null};let v=(J0)=>{let l=C.current;if(!l||l.pointerId!==J0.pointerId)return;if(!l.active){if(Math.hypot(J0.clientX-l.startX,J0.clientY-l.startY)<4)return;l.active=!0,l.ghost=O3(mZ(x,L)),document.body.classList.add("table-dragging")}if(J0.preventDefault(),l.ghost)l.ghost.style.transform=`translate3d(${Math.round(J0.clientX+8)}px, ${Math.round(J0.clientY+8)}px, 0)`;P(),document.elementFromPoint(J0.clientX,J0.clientY)?.closest?.(".cal-day")?.classList.add("drop-into")},E=(J0)=>{let l=C.current;if(!l||l.pointerId!==J0.pointerId)return;if(removeEventListener("pointermove",v),removeEventListener("pointerup",E),removeEventListener("pointercancel",E),l.ghost?.remove(),document.body.classList.remove("table-dragging"),P(),C.current=null,!l.active){X(x.id);return}let o=document.elementFromPoint(J0.clientX,J0.clientY)?.closest?.(".cal-day")?.dataset.iso;if(o&&o!==String(x.cells[K.id]??""))Q(x,K,o)};addEventListener("pointermove",v,{passive:!1}),addEventListener("pointerup",E),addEventListener("pointercancel",E)},A=(y)=>R0(y,(x)=>z(n,{children:[z(u0,{children:"按日期属性"},void 0,!1,void 0,this),q.map((v)=>z(t,{icon:n0[v.type],label:v.name,onClick:()=>{G(v.id),x()}},v.id,!1,void 0,this))]},void 0,!0,void 0,this));return z("div",{class:"cal",children:[z("div",{class:"cal-nav",children:[z("button",{class:"iconbtn",title:"上个月",onClick:()=>T(-1),children:z(f,{name:"chevron",cls:"ico flip"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{class:"cal-title",children:[F.y," 年 ",F.m+1," 月"]},void 0,!0,void 0,this),z("button",{class:"iconbtn",title:"下个月",onClick:()=>T(1),children:z(f,{name:"chevron",cls:"ico"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"tbtn",onClick:O,children:"今天"},void 0,!1,void 0,this),z("div",{class:"spacer"},void 0,!1,void 0,this),q.length>1&&z("button",{class:"tbtn",onClick:A,children:[z(f,{name:"calendar",cls:"ico sm"},void 0,!1,void 0,this),K.name]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"cal-grid cal-head",children:C3.map((y)=>z("div",{class:"cal-wd",children:y},y,!1,void 0,this))},void 0,!1,void 0,this),z("div",{class:"cal-body",children:B.map((y,x)=>z("div",{class:"cal-grid cal-week",children:y.map((v)=>{let E=v.getMonth()!==F.m,J0=h1(v,H),l=k(v),A0=J9(v);return z("div",{class:"cal-day"+(E?" dim":"")+(J0?" today":""),"data-iso":A0,onClick:(o)=>{if(o.target.closest(".cal-ev,.cal-add,.cal-more"))return;$({[K.id]:A0})},children:[z("div",{class:"cal-daynum",children:[z("span",{children:v.getDate()},void 0,!1,void 0,this),z("button",{class:"cal-add",title:"新建记录",onClick:(o)=>{o.stopPropagation(),$({[K.id]:A0})},children:z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"cal-events",children:[l.slice(0,m1).map(({rec:o})=>z("div",{class:"cal-ev",style:{["--c"]:b1(mZ(o,L)||o.id)},onPointerDown:(B0)=>_(B0,o),children:mZ(o,L)||"无标题"},o.id,!1,void 0,this)),l.length>m1&&z("button",{class:"cal-more",onClick:(o)=>{o.stopPropagation(),R0(o,(B0)=>z(n,{children:[z(u0,{children:[A0," · ",l.length," 条记录"]},void 0,!0,void 0,this),l.map(({rec:K0})=>z(t,{label:mZ(K0,L)||"无标题",onClick:()=>{B0(),X(K0.id)}},K0.id,!1,void 0,this))]},void 0,!0,void 0,this))},children:["+",l.length-m1," 更多"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},A0,!0,void 0,this)})},x,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function mZ(Z,J){if(!J)return"";let Q=Z.cells[J.id];return Q==null?"":Array.isArray(Q)?Q.join(", "):String(Q)}function O3(Z){let J=document.createElement("div");return J.className="drag-ghost",J.textContent=Z||"移动记录",document.body.appendChild(J),J}var y9=200,zZ=36,$Z=44,d0=28,f4=3;function g4({props:Z,records:J,onCommitValue:Q,onOpenRecord:$}){let X=Z.filter((V)=>V.type==="date"),[q,W]=b(null),[G,K]=b(null),H=Z.find((V)=>V.id===q)??X[0]??null,F=G==="none"?null:Z.find((V)=>V.id===G)??X.find((V)=>V!==H)??null,Y=H0(null),C=H0(null);if(!H)return z("div",{class:"view-placeholder",children:"时间轴视图需要一个「日期」属性作为开始日期。请在表格视图中添加一个日期列后再切换到时间轴。"},void 0,!1,void 0,this);let L=Z[0],B=hZ(),M=J.map((V)=>{let g=QZ(V.cells[H.id]),j=F?QZ(V.cells[F.id]):null;return{rec:V,s:g,e:j&&g&&j<g?g:j}}),k=M.filter((V)=>V.s),T=B,O=B;if(k.length){T=k[0].s,O=k[0].s;for(let V of k){if(V.s<T)T=V.s;let g=V.e??V.s;if(g>O)O=g}}else T=p0(B,-10),O=p0(B,14);let P=p0(T,-f4),_=p0(O,f4),A=p9(P,_)+1,y=y9+A*d0,x=(V)=>y9+V*d0,v=p9(P,B),E=[];for(let V=0;V<A;V++)E.push(p0(P,V));let J0=(V,g,j,e,X0)=>{if(X0===0)return;if(e==="move"){if(g)Q(V,H,J9(p0(g,X0)));if(F&&j)Q(V,F,J9(p0(j,X0)))}else if(e==="l"&&g){let W0=p0(g,X0);Q(V,H,J9(j&&W0>j?j:W0))}else if(e==="r"&&F&&j){let W0=p0(j,X0);Q(V,F,J9(g&&W0<g?g:W0))}},l=(V,g)=>{let j=C.current;if(!j)return;j.style.left=V+"px",j.style.display="block";let e=j.firstElementChild;if(e)e.textContent=g},A0=()=>{if(C.current)C.current.style.display="none"},o=(V,g,j,e,X0,W0)=>{if(V.button!==0||!j)return;V.preventDefault(),V.stopPropagation();let{offsetLeft:P0,offsetWidth:k0}=W0,p=!1,s=X0==="move"?null:V.currentTarget;s?.classList.add("dragging"),Y.current={pointerId:V.pointerId,startX:V.clientX};let Y0=(h0)=>{let z0=Y.current;if(!z0||z0.pointerId!==h0.pointerId)return;let N=Math.round((h0.clientX-z0.startX)/d0);if(Math.abs(h0.clientX-z0.startX)>3)p=!0;let S,c;if(X0==="move"){let h=P0+N*d0;W0.style.left=h+"px",S=h,c=p0(j,N)}else if(X0==="l"){let h=P0+N*d0;W0.style.left=h+"px",W0.style.width=Math.max(d0,k0-N*d0)+"px",S=h,c=p0(j,N)}else{let h=Math.max(d0,k0+N*d0);W0.style.width=h+"px",S=P0+h,c=p0(j,Math.round(h/d0)-1)}l(S,J9(c))},U0=(h0)=>{let z0=Y.current;if(!z0||z0.pointerId!==h0.pointerId)return;removeEventListener("pointermove",Y0),removeEventListener("pointerup",U0),removeEventListener("pointercancel",U0),Y.current=null,s?.classList.remove("dragging"),A0();let N=Math.round((h0.clientX-z0.startX)/d0);if(!p){$(g.id);return}J0(g,j,e,X0,N)};addEventListener("pointermove",Y0,{passive:!1}),addEventListener("pointerup",U0),addEventListener("pointercancel",U0)},B0=(V,g)=>{if(Q(V,H,J9(g)),F)Q(V,F,J9(g))},K0=(V,g)=>{let j=V.currentTarget.closest(".tl-row");if(!j)return;let e=V.clientX-j.getBoundingClientRect().left;if(e<y9)return;let X0=Math.max(0,Math.min(A-1,Math.round((e-y9)/d0)));B0(g,p0(P,X0))};return z("div",{class:"tl",children:[z("div",{class:"tl-toolbar",children:z("button",{class:"tbtn",onClick:(V)=>R0(V,(g)=>z(n,{children:[z(u0,{children:"开始日期"},void 0,!1,void 0,this),X.map((j)=>z(t,{icon:n0[j.type],label:j.name,checked:j===H,onClick:()=>{W(j.id),g()}},j.id,!1,void 0,this)),z(f0,{},void 0,!1,void 0,this),z(u0,{children:"结束日期(可选)"},void 0,!1,void 0,this),z(t,{icon:"x",label:"无(里程碑)",checked:!F,onClick:()=>{K("none"),g()}},void 0,!1,void 0,this),X.map((j)=>z(t,{icon:n0[j.type],label:j.name,checked:j===F,onClick:()=>{K(j.id),g()}},j.id,!1,void 0,this))]},void 0,!0,void 0,this)),children:[z(f,{name:"timeline",cls:"ico sm"},void 0,!1,void 0,this),H.name,F?` → ${F.name}`:"(里程碑)"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z("div",{class:"tl-scroll",children:z("div",{class:"tl-canvas",style:{width:y,height:$Z+M.length*zZ+8},children:[z("div",{class:"tl-axis",style:{height:$Z},children:[z("div",{class:"tl-corner",style:{width:y9},children:"记录"},void 0,!1,void 0,this),E.map((V,g)=>{let j=V.getDate()===1;return z("div",{class:"tl-tick"+(j?" mstart":"")+(p9(V,B)===0?" today":""),style:{left:x(g),width:d0},children:[j&&z("span",{class:"tl-month",children:[V.getMonth()+1,"月"]},void 0,!0,void 0,this),z("span",{class:"tl-dnum",children:V.getDate()},void 0,!1,void 0,this)]},g,!0,void 0,this)})]},void 0,!0,void 0,this),M.map(({rec:V,s:g,e:j},e)=>{let X0=g?p9(P,g):0,W0=g&&j?p9(g,j)+1:1;return z("div",{class:"tl-row",style:{top:$Z+e*zZ,height:zZ},children:[z("div",{class:"tl-rowlabel",style:{width:y9},children:b4(V,L)||z("span",{class:"muted",children:"无标题"},void 0,!1,void 0,this)},void 0,!1,void 0,this),!g?z("div",{class:"tl-track-empty",style:{left:y9},onClick:(P0)=>K0(P0,V),title:"点击空白处排期",children:z("button",{class:"tl-schedule",style:{left:y9+8},onClick:(P0)=>{P0.stopPropagation(),B0(V,B)},children:"未排期 · 排到今天"},void 0,!1,void 0,this)},void 0,!1,void 0,this):j?z("div",{class:"tl-item",style:{left:x(X0),width:W0*d0},onPointerDown:(P0)=>o(P0,V,g,j,"move",P0.currentTarget),children:[z("span",{class:"tl-h l",onPointerDown:(P0)=>o(P0,V,g,j,"l",P0.currentTarget.parentElement)},void 0,!1,void 0,this),z("span",{class:"tl-label",children:b4(V,L)},void 0,!1,void 0,this),z("span",{class:"tl-h r",onPointerDown:(P0)=>o(P0,V,g,j,"r",P0.currentTarget.parentElement)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):z("div",{class:"tl-milestone",style:{left:x(X0)},title:J9(g),onPointerDown:(P0)=>o(P0,V,g,null,"move",P0.currentTarget)},void 0,!1,void 0,this)]},V.id,!0,void 0,this)}),v>=0&&v<A&&z("div",{class:"tl-today",style:{left:x(v)+d0/2,height:$Z+M.length*zZ}},void 0,!1,void 0,this),z("div",{class:"tl-guide",ref:C,style:{display:"none",height:$Z+M.length*zZ},children:z("span",{class:"tl-guide-label"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function b4(Z,J){if(!J)return"";let Q=Z.cells[J.id];return Q==null?"":Array.isArray(Q)?Q.join(", "):String(Q)}var _3=[["表格","list"],["看板","group"],["日历","calendar"],["时间轴","timeline"]];function u1(Z){return{r0:Math.min(Z.a.r,Z.b.r),r1:Math.max(Z.a.r,Z.b.r),c0:Math.min(Z.a.c,Z.b.c),c1:Math.max(Z.a.c,Z.b.c)}}function j4({db:Z,onError:J}){let[Q,$]=b([]),[X,q]=b([]),[W,G]=b(0),[K,H]=b(new Set),[F,Y]=b(null),[C,L]=b(null),B=H0(C);B.current=C;let[M,k]=b(null),[T,O]=b(null),P=(N)=>N.config?.width??180,_=H0(!1),A=(N)=>N().catch((S)=>J(String(S.message))),y=async()=>{let[N,S]=await Promise.all([u.listProperties(Z.id),u.listRecords(Z.id)]);$(N),q(S)};r(()=>{H(new Set),k(null),G(0),O(null),L(null),y().catch((N)=>J(String(N.message)))},[Z.id]),r(()=>{let N=(S)=>{if(!S.detail?.datasets?.some((h)=>h==="records"||h==="properties"))return;if(B.current)return;y().catch(()=>{})};return document.addEventListener(M9,N),()=>document.removeEventListener(M9,N)},[Z.id]);let x=(N,S,c)=>{L(null),q((h)=>h.map((q0)=>q0.id===N.id?{...q0,cells:{...q0.cells,[S.id]:c},values:{...q0.values,[S.name]:c}}:q0)),u.updateRecord(N.id,{[S.id]:c}).then((h)=>q((q0)=>q0.map((D)=>D.id===h.id?h:D))).catch((h)=>{J(String(h.message)),y().catch((q0)=>J(String(q0.message)))})},v=(N)=>A(async()=>{let S=await u.createRecord(Z.id,N);q((c)=>[...c,S])}),E=()=>v({}),J0=(N)=>A(async()=>{if(await Promise.all(N.map((S)=>u.deleteRecord(S))),q((S)=>S.filter((c)=>!N.includes(c.id))),H(new Set),M&&N.includes(M))k(null)}),l=(N)=>A(async()=>{let S=await u.createRecord(Z.id,N.cells);q((c)=>{let h=c.findIndex((q0)=>q0.id===N.id);return[...c.slice(0,h+1),S,...c.slice(h+1)]})}),A0=(N,S,c)=>{if(N===S||F)return;q((h)=>x4(h,N,S,c))},o=(N,S,c)=>{if(N===S||F)return;A0(N,S,c),u.moveRecord(N,S,c).catch((h)=>{J(String(h.message)),y().catch((q0)=>J(String(q0.message)))})},B0=(N,S,c)=>{if(N===S)return;$((h)=>{let q0=x4(h,N,S,c).map((d,S0)=>({...d,position:S0+1})),D=new Map(h.map((d)=>[d.id,d.position])),L0=q0.filter((d)=>D.get(d.id)!==d.position);if(L0.length)Promise.all(L0.map((d)=>u.updateProperty(d.id,{position:d.position}))).catch((d)=>{J(String(d.message)),y().catch((S0)=>J(String(S0.message)))});return q0})},K0=(N,S)=>{if(F||N.button!==0)return;let c=N.currentTarget.closest("tr");if(!c)return;N.preventDefault(),R1(N,{source:c,axis:"y",ghostCls:"row-ghost",ghostText:M3(c),targetSelector:"tr[data-row-id]",isSelf:(h)=>h.dataset.rowId===S.id,onDrop:(h,q0)=>o(S.id,h.dataset.rowId,q0)})},I=(N,S)=>{if(N.button!==0)return;let c=N.currentTarget.closest("th");if(!c)return;R1(N,{source:c,axis:"x",ghostCls:"col-ghost",ghostText:c.textContent?.trim()||"移动属性",targetSelector:"th[data-col-id]",isSelf:(h)=>h.dataset.colId===S.id,onActivate:()=>{_.current=!0},onDrop:(h,q0)=>B0(S.id,h.dataset.colId,q0),onFinish:(h)=>{if(h)setTimeout(()=>{_.current=!1},0)}})},V=(N,S,c)=>{if(N.button!==0)return;if(N.target.closest("input,button,a"))return;let h=N.shiftKey&&T?T.a:{r:S,c};O({a:h,b:{r:S,c}}),m9(N,{onStart:()=>document.body.classList.add("cell-selecting"),onMove:(q0)=>{let D=document.elementFromPoint(q0.clientX,q0.clientY)?.closest?.("td.cell-td");if(!D||D.dataset.r==null)return;O({a:h,b:{r:Number(D.dataset.r),c:Number(D.dataset.c)}})},onEnd:()=>document.body.classList.remove("cell-selecting")})},g=(N)=>N!=="checkbox"&&N!=="select"&&N!=="multi_select",j=(N,S,c)=>Math.max(S,Math.min(c,N)),e=(N,S)=>requestAnimationFrame(()=>{document.querySelector(`td.cell-td[data-r="${N}"][data-c="${S}"]`)?.scrollIntoView({block:"nearest",inline:"nearest"})}),X0=(N,S)=>{O({a:{r:N,c:S},b:{r:N,c:S}}),e(N,S)},W0=(N,S,c)=>{let h=U0[N],q0=Q[S];if(!h||!q0)return;if(X0(N,S),g(q0.type))L({rec:h.id,prop:q0.id,seed:c})},P0=(N,S,c)=>{let h=S+c;if(h<0||h>=Q.length){X0(N,S);return}W0(N,h)},k0=(N)=>A(async()=>{if(!T)return;let{r0:S,r1:c,c0:h,c1:q0}=u1(T),D=Q.slice(h,q0+1),L0=U0.slice(S,c+1),d=await Promise.all(L0.map((S0)=>{let T0={};for(let C0 of D)T0[C0.id]=N(C0);return u.updateRecord(S0.id,T0)}));q((S0)=>S0.map((T0)=>d.find((C0)=>C0.id===T0.id)??T0))}),p=async()=>{if(!T)return;let{r0:N,r1:S,c0:c,c1:h}=u1(T),q0=Q.slice(c,h+1),D=U0.slice(N,S+1).map((L0)=>q0.map((d)=>N4(d,L0.cells[d.id])).join("\t")).join(`
9
+ `);try{await navigator.clipboard.writeText(D)}catch{}},s=F?Q.find((N)=>N.id===F.id):void 0,Y0=(N)=>{let S=N==null||N===""?NaN:Number(N);return Number.isFinite(S)?S:Number.NEGATIVE_INFINITY},U0=F?[...X].sort((N,S)=>{let c=N.cells[F.id],h=S.cells[F.id],q0=s?.type==="number"?Y0(c)-Y0(h):String(c??"").localeCompare(String(h??""),"zh");return(F.desc?-1:1)*q0}):X,h0=X.find((N)=>N.id===M)??null,z0=T?u1(T):null;return r(()=>{let N=(S)=>{if(!T||C)return;let c=document.activeElement,h=(c?.tagName||"").toLowerCase();if(h==="input"||h==="textarea"||c?.isContentEditable)return;let q0=T.a.r===T.b.r&&T.a.c===T.b.c,{r:D,c:L0}=T.b,d={ArrowUp:[-1,0],ArrowDown:[1,0],ArrowLeft:[0,-1],ArrowRight:[0,1]};if(S.key in d){S.preventDefault();let[S0,T0]=d[S.key],C0={r:j(D+S0,0,U0.length-1),c:j(L0+T0,0,Q.length-1)};O(S.shiftKey?{a:T.a,b:C0}:{a:C0,b:C0}),e(C0.r,C0.c)}else if((S.metaKey||S.ctrlKey)&&S.key.toLowerCase()==="c")S.preventDefault(),p();else if(S.key==="Escape")O(null);else if(S.key==="Delete"||S.key==="Backspace")S.preventDefault(),k0(()=>null);else if(q0&&(S.key==="Enter"||S.key==="F2"))S.preventDefault(),W0(D,L0);else if(q0&&S.key.length===1&&!S.metaKey&&!S.ctrlKey&&!S.altKey&&!S.isComposing&&S.keyCode!==229){let S0=Q[L0];if(!S0||!g(S0.type)||S0.type==="date")return;if(S0.type==="number"&&!/[0-9.+-]/.test(S.key))return;S.preventDefault(),W0(D,L0,S.key)}};return addEventListener("keydown",N),()=>removeEventListener("keydown",N)},[T,C,X,Q,F]),z("div",{class:"db",onPointerDown:(N)=>{if(!N.target.closest("td.cell-td, .cellselbar"))O(null)},children:[z("div",{class:"db-head",children:[z("div",{class:"db-icon",children:Z.icon||"\uD83D\uDDC2️"},void 0,!1,void 0,this),z("div",{children:z("div",{class:"db-title",contentEditable:!0,onBlur:(N)=>{let S=N.target.textContent?.trim()||Z.name;if(S!==Z.name)A(async()=>{await u.updateDatabase(Z.id,{name:S})})},children:Z.name},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"views",children:[_3.map(([N,S],c)=>z("div",{class:"view-tab"+(c===W?" active":""),onClick:()=>G(c),children:[z(f,{name:S},void 0,!1,void 0,this),N]},N,!0,void 0,this)),z("div",{class:"spacer",style:{flex:1}},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:E,children:[z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W===0&&z("div",{class:"toolbar",children:z("button",{class:"tbtn",onClick:(N)=>V3(N,Q,F,Y),children:[z(f,{name:"sort",cls:"ico sm"},void 0,!1,void 0,this),"排序"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),W===1?z(V4,{props:Q,records:X,onCommitValue:x,onCreate:v,onOpenRecord:k,onMove:o},void 0,!1,void 0,this):W===2?z(I4,{props:Q,records:X,onCommitValue:x,onCreate:v,onOpenRecord:k},void 0,!1,void 0,this):W===3?z(g4,{props:Q,records:X,onCommitValue:x,onCreate:v,onOpenRecord:k},void 0,!1,void 0,this):z("div",{class:"tablewrap",children:[z("div",{class:"tablescroll",children:z("table",{class:"grid",children:[z("colgroup",{children:[z("col",{style:{width:38}},void 0,!1,void 0,this),z("col",{style:{width:26}},void 0,!1,void 0,this),Q.map((N)=>z("col",{"data-col-id":N.id,style:{width:P(N)}},N.id,!1,void 0,this)),z("col",{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("thead",{children:z("tr",{children:[z("th",{class:"selcell",children:z("input",{type:"checkbox",checked:K.size>0&&K.size===X.length,onChange:(N)=>H(N.target.checked?new Set(X.map((S)=>S.id)):new Set)},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("th",{class:"gripcol"},void 0,!1,void 0,this),Q.map((N)=>z("th",{"data-col-id":N.id,children:[z("div",{class:"colhead",onPointerDown:(S)=>I(S,N),onClick:(S)=>{if(_.current){_.current=!1,S.preventDefault(),S.stopPropagation();return}k3(S,N,Z.id,y,Q)},children:[z("span",{class:"ti",children:z(f,{name:n0[N.type]??"text",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"nm",children:N.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z(N3,{colId:N.id,startWidth:P(N),onCommit:(S)=>{$((c)=>c.map((h)=>h.id===N.id?{...h,config:{...h.config??{},width:S}}:h)),u.setColumnWidth(N.id,S).catch((c)=>{J(String(c.message)),y().catch(()=>{})})}},void 0,!1,void 0,this)]},N.id,!0,void 0,this)),z("th",{class:"addcol",children:z("div",{class:"colhead",title:"新建属性",onClick:(N)=>T3(N,Z.id,Q,y),children:z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z("tbody",{children:U0.map((N,S)=>z("tr",{"data-row-id":N.id,class:K.has(N.id)?"sel":"",children:[z("td",{class:"selcell",children:z("input",{type:"checkbox",checked:K.has(N.id),onChange:()=>H((c)=>{let h=new Set(c);return h.has(N.id)?h.delete(N.id):h.add(N.id),h})},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("td",{class:"rowgrip",title:F?"清除排序后可拖拽移动":"拖拽移动","aria-disabled":F?"true":void 0,onPointerDown:(c)=>K0(c,N),children:z(f,{name:"grip",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q.map((c,h)=>{let q0=z0!=null&&S>=z0.r0&&S<=z0.r1&&h>=z0.c0&&h<=z0.c1,D;if(q0&&z0){let L0=[];if(S===z0.r0)L0.push("inset 0 2px 0 0 var(--accent)");if(S===z0.r1)L0.push("inset 0 -2px 0 0 var(--accent)");if(h===z0.c0)L0.push("inset 2px 0 0 0 var(--accent)");if(h===z0.c1)L0.push("inset -2px 0 0 0 var(--accent)");D=L0.join(",")||void 0}return z("td",{class:"cell-td"+(q0?" cellsel":""),"data-r":S,"data-c":h,style:D?{boxShadow:D}:void 0,onPointerDown:(L0)=>V(L0,S,h),children:z(A3,{rec:N,prop:c,first:h===0,editing:C?.rec===N.id&&C?.prop===c.id,seed:C?.rec===N.id&&C?.prop===c.id?C.seed:void 0,onEdit:()=>{X0(S,h),L({rec:N.id,prop:c.id})},onCommit:(L0)=>x(N,c,L0),onDone:(L0)=>{if(L(null),L0.reason!=="cancel"&&L0.changed)x(N,c,L0.value);if(L0.reason==="tab")P0(S,h,1);else if(L0.reason==="shifttab")P0(S,h,-1);else if(L0.reason==="enter")X0(j(S+1,0,U0.length-1),h)},onOpen:()=>k(N.id),onRowMenu:(L0)=>S3(L0,N,()=>k(N.id),()=>l(N),()=>J0([N.id]))},void 0,!1,void 0,this)},c.id,!1,void 0,this)}),z("td",{class:"filler"},void 0,!1,void 0,this)]},N.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z("div",{class:"addrow",onClick:E,children:[z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建记录"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"gridfoot",children:[z("span",{children:["共 ",X.length," 条记录"]},void 0,!0,void 0,this),z("span",{children:[Q.length," 个属性"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),K.size>0&&z("div",{class:"selbar",children:[z("span",{class:"cnt",children:[K.size," 已选"]},void 0,!0,void 0,this),z("button",{onClick:()=>A(async()=>{for(let N of K)await l(X.find((S)=>S.id===N))}),children:[z(f,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"复制"]},void 0,!0,void 0,this),z("button",{class:"del",onClick:async()=>{if(await b0({title:"删除记录?",message:`确定删除选中的 ${K.size} 条记录?`,confirmLabel:"删除",danger:!0}))J0([...K])},children:[z(f,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this),"删除"]},void 0,!0,void 0,this),z("button",{onClick:()=>H(new Set),children:z(f,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z0&&(z0.r0!==z0.r1||z0.c0!==z0.c1)&&z("div",{class:"selbar cellselbar",children:[z("span",{class:"cnt",children:[(z0.r1-z0.r0+1)*(z0.c1-z0.c0+1)," 个单元格"]},void 0,!0,void 0,this),z("button",{onClick:p,children:[z(f,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"复制"]},void 0,!0,void 0,this),z("button",{onClick:()=>k0((N)=>U0[z0.r0].cells[N.id]??null),children:[z(f,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"填充"]},void 0,!0,void 0,this),z("button",{class:"del",onClick:()=>k0(()=>null),children:[z(f,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this),"清空"]},void 0,!0,void 0,this),z("button",{onClick:()=>O(null),children:z(f,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),h0&&z(I3,{db:Z,props:Q,rec:h0,onClose:()=>k(null),onCommit:(N,S)=>x(h0,N,S),onDelete:()=>J0([h0.id]),onDuplicate:()=>l(h0),onReverted:()=>y().catch((N)=>J(String(N.message)))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function D4({prop:Z,val:J,seed:Q,captureTab:$,onDone:X}){let q=Array.isArray(J)?J.join(", "):J==null?"":String(J),W=H0(null),G=H0(!1);r(()=>{let H=W.current;H.value=Q??q,H.focus();try{H.setSelectionRange(H.value.length,H.value.length)}catch{}},[]);let K=(H)=>{if(G.current)return;if(G.current=!0,H==="cancel")return X({reason:"cancel"});let F=W.current.value;X({reason:H,changed:F!==q,value:M4(Z.type,F)})};return z("input",{ref:W,class:"inlineedit",type:Z.type==="number"?"number":Z.type==="date"?"date":"text",onBlur:()=>K("blur"),onKeyDown:(H)=>{if(H.isComposing||H.keyCode===229)return;if(H.key==="Enter")H.preventDefault(),K("enter");else if(H.key==="Escape")H.preventDefault(),H.stopPropagation(),K("cancel");else if(H.key==="Tab"&&$)H.preventDefault(),K(H.shiftKey?"shifttab":"tab")}},void 0,!1,void 0,this)}function A3({rec:Z,prop:J,first:Q,editing:$,seed:X,onEdit:q,onCommit:W,onDone:G,onOpen:K,onRowMenu:H}){let F=Z.cells[J.id];if(J.type==="checkbox")return z("div",{class:"cell center",children:z("input",{type:"checkbox",checked:!!F,style:{width:16,height:16,accentColor:"var(--accent)"},onChange:()=>W(!F)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Y=(B)=>{if(J.type==="select"||J.type==="multi_select")h4(B,J,F,W);else q()},C=z(u9,{prop:J,val:F},void 0,!1,void 0,this);return z(n,{children:[Q?z("div",{class:"cell",onDblClick:Y,onContextMenu:(B)=>{B.preventDefault(),H(B)},children:z("div",{class:"firstcell",children:[C,z("div",{class:"rowactions",children:z("button",{class:"rowopen",title:"打开",onClick:(B)=>{B.stopPropagation(),K()},children:z(f,{name:"openPeek",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this):z("div",{class:"cell",onDblClick:Y,children:C},void 0,!1,void 0,this),$&&J.type!=="select"&&J.type!=="multi_select"&&z("div",{class:"celledit",children:z(D4,{prop:J,val:F,seed:X,captureTab:!0,onDone:G},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function x4(Z,J,Q,$){let X=[...Z],q=X.findIndex((K)=>K.id===J);if(q<0)return Z;let W=X.splice(q,1)[0],G=X.findIndex((K)=>K.id===Q);if(G<0)return Z;if($==="after")G+=1;return X.splice(G,0,W),X}function M3(Z){return Array.from(Z.querySelectorAll("td")).map((Q)=>(Q.textContent??"").trim()).filter(Boolean).join(" ")||"移动记录"}function N3({colId:Z,startWidth:J,onCommit:Q}){return z("div",{class:"col-resizer",onPointerDown:(X)=>{X.preventDefault(),X.stopPropagation(),xZ(X,{col:document.querySelector(`col[data-col-id="${CSS.escape(Z)}"]`),startWidth:J,min:80,onDone:Q})}},void 0,!1,void 0,this)}function h4(Z,J,Q,$){Z.stopPropagation();let X=J.type==="multi_select",q=J.config?.options??[];R0(Z,(W)=>z(v3,{multi:X,options:q,value:Q,onPick:(G)=>{if($(G),!X)W()}},void 0,!1,void 0,this))}function v3({multi:Z,options:J,value:Q,onPick:$}){let[X,q]=b(Q),W=(K)=>Z?Array.isArray(X)?X.includes(K):!1:X===K,G=(K)=>{if(Z){let H=new Set(Array.isArray(X)?X:[]);H.has(K)?H.delete(K):H.add(K);let F=[...H];q(F),$(F)}else q(K),$(K)};return z(n,{children:[z(u0,{children:Z?"多选 — 点选切换":"单选"},void 0,!1,void 0,this),J.map((K)=>z("button",{class:"item",onClick:()=>G(K),children:[z(v9,{text:K},void 0,!1,void 0,this),W(K)&&z("span",{class:"chk",children:z(f,{name:"check",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},K,!0,void 0,this)),Z&&Array.isArray(X)&&X.length>0&&z(n,{children:[z(f0,{},void 0,!1,void 0,this),z(t,{icon:"x",label:"清空",onClick:()=>{q([]),$([])}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function k3(Z,J,Q,$,X){Z.stopPropagation(),R0(Z,(q)=>z(R3,{prop:J,dbId:Q,reload:$,close:q,allProps:X},void 0,!1,void 0,this),{minWidth:252})}function R3({prop:Z,dbId:J,reload:Q,close:$,allProps:X}){let[q,W]=b(Z.name),[G,K]=b(Z.type),[H,F]=b(Z.config?.options??[]),Y=(B)=>u.updateProperty(Z.id,B).then(Q).catch((M)=>Z0(`更新属性失败:${M.message}`)),C=(B)=>{K(B);let M=H;if((B==="select"||B==="multi_select")&&M.length===0)M=["选项 1","选项 2"],F(M);Y({type:B,...B==="select"||B==="multi_select"?{config:{options:M}}:{}})},L=(B)=>{F(B),Y({config:{options:B}})};return z(n,{children:[z("input",{class:"field",value:q,onInput:(B)=>W(B.target.value),onBlur:()=>q&&q!==Z.name&&Y({name:q}),onKeyDown:(B)=>{if(B.key==="Enter")B.target.blur(),$()}},void 0,!1,void 0,this),z(u0,{children:"属性类型"},void 0,!1,void 0,this),z("div",{class:"typegrid",children:Object.keys(h9).map((B)=>z("button",{class:"item"+(B===G?" sel":""),onClick:()=>C(B),children:[z("span",{class:"lico",children:z(f,{name:n0[B],cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"d",children:h9[B].t},void 0,!1,void 0,this)]},B,!0,void 0,this))},void 0,!1,void 0,this),(G==="select"||G==="multi_select")&&z(n,{children:[z(f0,{},void 0,!1,void 0,this),z(u0,{children:"选项"},void 0,!1,void 0,this),H.map((B,M)=>z("div",{class:"optrow",children:[z(v9,{text:B},void 0,!1,void 0,this),z("button",{class:"x",onClick:()=>L(H.filter((k,T)=>T!==M)),children:z(f,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},B+M,!0,void 0,this)),z(t,{icon:"plus",label:"添加选项",onClick:()=>L([...H,"选项 "+(H.length+1)])},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"cornerUpRight",label:"在右侧插入列",onClick:()=>{$(),u.createProperty({db:J,name:m4("新属性",X),type:"text"}).then(Q).catch((B)=>Z0(`新建属性失败:${B.message}`))}},void 0,!1,void 0,this),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"trash",label:"删除属性",danger:!0,onClick:async()=>{if($(),await b0({title:"删除属性?",message:`「${Z.name}」及其所有单元格数据将被移除。`,confirmLabel:"删除",danger:!0}))u.deleteProperty(Z.id).then(Q)}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function m4(Z,J){let Q=new Set(J.map(($)=>$.name.toLowerCase()));if(!Q.has(Z.toLowerCase()))return Z;for(let $=2;;$++){let X=`${Z} ${$}`;if(!Q.has(X.toLowerCase()))return X}}function T3(Z,J,Q,$){Z.stopPropagation(),R0(Z,(X)=>z(n,{children:[z(u0,{children:"新建属性 · 选择类型"},void 0,!1,void 0,this),z("div",{class:"typegrid",children:Object.keys(h9).map((q)=>z("button",{class:"item",onClick:()=>{X();let W=q==="select"||q==="multi_select"?{options:["选项 1","选项 2"]}:void 0;u.createProperty({db:J,name:m4(h9[q].t,Q),type:q,config:W}).then($).catch((G)=>Z0(`新建属性失败:${G.message}`))},children:[z("span",{class:"lico",children:z(f,{name:n0[q],cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"d",children:h9[q].t},void 0,!1,void 0,this)]},q,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this))}function V3(Z,J,Q,$){R0(Z,(X)=>z(n,{children:[z(u0,{children:"排序依据"},void 0,!1,void 0,this),J.map((q)=>z(t,{icon:n0[q.type],label:q.name,onClick:()=>{$({id:q.id,desc:Q?.id===q.id?!Q.desc:!1}),X()}},q.id,!1,void 0,this)),Q&&z(n,{children:[z(f0,{},void 0,!1,void 0,this),z(t,{icon:"x",label:"清除排序",onClick:()=>{$(null),X()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this))}function S3(Z,J,Q,$,X){Z.stopPropagation(),R0(Z,(q)=>z(n,{children:[z(t,{icon:"cornerUpRight",label:"打开记录",onClick:()=>{q(),Q()}},void 0,!1,void 0,this),z(t,{icon:"copy",label:"复制记录",onClick:()=>{q(),$()}},void 0,!1,void 0,this),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"trash",label:"删除记录",danger:!0,onClick:async()=>{if(q(),await b0({title:"删除记录?",message:"确定删除这条记录?",confirmLabel:"删除",danger:!0}))X()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))}function I3({db:Z,props:J,rec:Q,onClose:$,onCommit:X,onDelete:q,onDuplicate:W,onReverted:G}){let[K,H]=b(null),[F,Y]=b(!1),{open:C,close:L}=N9($),B=J[0];return z(n,{children:[z("div",{class:"scrim"+(C?" open":""),onClick:L},void 0,!1,void 0,this),z("div",{class:"peek"+(C?" open":""),children:[z("div",{class:"peek-head",children:[z("button",{class:"iconbtn",onClick:L,children:z(f,{name:"x"},void 0,!1,void 0,this)},void 0,!1,void 0,this),F&&z("button",{class:"iconbtn",title:"返回字段",onClick:()=>Y(!1),children:z(f,{name:"arrowLeft"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{style:{flex:1}},void 0,!1,void 0,this),z("button",{class:"iconbtn",title:"更多",onClick:(M)=>R0(M,(k)=>z(n,{children:[z(t,{icon:"history",label:"版本历史",checked:F,onClick:()=>{k(),Y(!F)}},void 0,!1,void 0,this),z(t,{icon:"copy",label:"复制记录",onClick:()=>{k(),W()}},void 0,!1,void 0,this),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"trash",label:"删除记录",danger:!0,onClick:async()=>{if(k(),await b0({title:"删除记录?",message:"确定删除这条记录?",confirmLabel:"删除",danger:!0}))q()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)),children:z(f,{name:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"peek-body",children:F?z(T4,{rec:Q,props:J,onReverted:G},void 0,!1,void 0,this):z(n,{children:[z("h2",{contentEditable:!0,onBlur:(M)=>B&&X(B,M.target.textContent??""),children:B?String(Q.cells[B.id]??"无标题"):"无标题"},void 0,!1,void 0,this),J.map((M)=>z("div",{class:"proprow",children:[z("div",{class:"k",children:[z(f,{name:n0[M.type]??"text",cls:"ico sm"},void 0,!1,void 0,this),z("span",{children:M.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z(f3,{prop:M,rec:Q,editing:K===M.id,onEdit:()=>H(M.id),onCommit:(k)=>{X(M,k),H(null)},onCloseEdit:()=>H(null)},void 0,!1,void 0,this)]},M.id,!0,void 0,this))]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function f3({prop:Z,rec:J,editing:Q,onEdit:$,onCommit:X,onCloseEdit:q}){let W=J.cells[Z.id];if(Z.type==="checkbox")return z("div",{class:"v",children:z("input",{type:"checkbox",checked:!!W,style:{width:16,height:16,accentColor:"var(--accent)"},onChange:()=>X(!W)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Z.type==="select"||Z.type==="multi_select")return z("div",{class:"v",onClick:(G)=>h4(G,Z,W,X),children:z(u9,{prop:Z,val:W},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Q)return z("div",{class:"v",children:z(D4,{prop:Z,val:W,onDone:(G)=>{if(G.reason!=="cancel"&&G.changed)X(G.value);else q()}},void 0,!1,void 0,this)},void 0,!1,void 0,this);return z("div",{class:"v",onClick:$,children:z(u9,{prop:Z,val:W},void 0,!1,void 0,this)},void 0,!1,void 0,this)}var o6=vJ(r6(),1);var rZ=o6.default;function uz(Z){for(var J=1;J<arguments.length;J++){var Q=arguments[J];for(var $ in Q)if(Object.prototype.hasOwnProperty.call(Q,$))Z[$]=Q[$]}return Z}function e1(Z,J){return Array(J+1).join(Z)}function e6(Z){return Z.replace(/^\n*/,"")}function Z7(Z){var J=Z.length;while(J>0&&Z[J-1]===`
10
+ `)J--;return Z.substring(0,J)}function J7(Z){return Z7(e6(Z))}var Ez=["ADDRESS","ARTICLE","ASIDE","AUDIO","BLOCKQUOTE","BODY","CANVAS","CENTER","DD","DIR","DIV","DL","DT","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","FRAMESET","H1","H2","H3","H4","H5","H6","HEADER","HGROUP","HR","HTML","ISINDEX","LI","MAIN","MENU","NAV","NOFRAMES","NOSCRIPT","OL","OUTPUT","P","PRE","SECTION","TABLE","TBODY","TD","TFOOT","TH","THEAD","TR","UL"];function Z8(Z){return J8(Z,Ez)}var Q7=["AREA","BASE","BR","COL","COMMAND","EMBED","HR","IMG","INPUT","KEYGEN","LINK","META","PARAM","SOURCE","TRACK","WBR"];function z7(Z){return J8(Z,Q7)}function pz(Z){return X7(Z,Q7)}var $7=["A","TABLE","THEAD","TBODY","TFOOT","TH","TD","IFRAME","SCRIPT","AUDIO","VIDEO"];function cz(Z){return J8(Z,$7)}function iz(Z){return X7(Z,$7)}function J8(Z,J){return J.indexOf(Z.nodeName)>=0}function X7(Z,J){return Z.getElementsByTagName&&J.some(function(Q){return Z.getElementsByTagName(Q).length})}var dz=[[/\\/g,"\\\\"],[/\*/g,"\\*"],[/^-/g,"\\-"],[/^\+ /g,"\\+ "],[/^(=+)/g,"\\$1"],[/^(#{1,6}) /g,"\\$1 "],[/`/g,"\\`"],[/^~~~/g,"\\~~~"],[/\[/g,"\\["],[/\]/g,"\\]"],[/^>/g,"\\>"],[/_/g,"\\_"],[/^(\d+)\. /g,"$1\\. "]];function q7(Z){return dz.reduce(function(J,Q){return J.replace(Q[0],Q[1])},Z)}var c0={};c0.paragraph={filter:"p",replacement:function(Z){return`
10
11
 
11
12
  `+Z+`
12
13
 
13
- `}};h0.lineBreak={filter:"br",replacement:function(Z,J,Q){return Q.br+`
14
- `}};h0.heading={filter:["h1","h2","h3","h4","h5","h6"],replacement:function(Z,J,Q){var $=Number(J.nodeName.charAt(1));if(Q.headingStyle==="setext"&&$<3){var q=F8($===1?"=":"-",Z.length);return`
14
+ `}};c0.lineBreak={filter:"br",replacement:function(Z,J,Q){return Q.br+`
15
+ `}};c0.heading={filter:["h1","h2","h3","h4","h5","h6"],replacement:function(Z,J,Q){var $=Number(J.nodeName.charAt(1));if(Q.headingStyle==="setext"&&$<3){var X=e1($===1?"=":"-",Z.length);return`
15
16
 
16
17
  `+Z+`
17
- `+q+`
18
+ `+X+`
18
19
 
19
20
  `}else return`
20
21
 
21
- `+F8("#",$)+" "+Z+`
22
+ `+e1("#",$)+" "+Z+`
22
23
 
23
- `}};h0.blockquote={filter:"blockquote",replacement:function(Z){return Z=E6(Z).replace(/^/gm,"> "),`
24
+ `}};c0.blockquote={filter:"blockquote",replacement:function(Z){return Z=J7(Z).replace(/^/gm,"> "),`
24
25
 
25
26
  `+Z+`
26
27
 
27
- `}};h0.list={filter:["ul","ol"],replacement:function(Z,J){var Q=J.parentNode;if(Q.nodeName==="LI"&&Q.lastElementChild===J)return`
28
+ `}};c0.list={filter:["ul","ol"],replacement:function(Z,J){var Q=J.parentNode;if(Q.nodeName==="LI"&&Q.lastElementChild===J)return`
28
29
  `+Z;else return`
29
30
 
30
31
  `+Z+`
31
32
 
32
- `}};h0.listItem={filter:"li",replacement:function(Z,J,Q){var $=Q.bulletListMarker+" ",q=J.parentNode;if(q.nodeName==="OL"){var X=q.getAttribute("start"),W=Array.prototype.indexOf.call(q.children,J);$=(X?Number(X)+W:W+1)+". "}var G=/\n$/.test(Z);return Z=E6(Z)+(G?`
33
+ `}};c0.listItem={filter:"li",replacement:function(Z,J,Q){var $=Q.bulletListMarker+" ",X=J.parentNode;if(X.nodeName==="OL"){var q=X.getAttribute("start"),W=Array.prototype.indexOf.call(X.children,J);$=(q?Number(q)+W:W+1)+". "}var G=/\n$/.test(Z);return Z=J7(Z)+(G?`
33
34
  `:""),Z=Z.replace(/\n/gm,`
34
35
  `+" ".repeat($.length)),$+Z+(J.nextSibling?`
35
- `:"")}};h0.indentedCodeBlock={filter:function(Z,J){return J.codeBlockStyle==="indented"&&Z.nodeName==="PRE"&&Z.firstChild&&Z.firstChild.nodeName==="CODE"},replacement:function(Z,J,Q){return`
36
+ `:"")}};c0.indentedCodeBlock={filter:function(Z,J){return J.codeBlockStyle==="indented"&&Z.nodeName==="PRE"&&Z.firstChild&&Z.firstChild.nodeName==="CODE"},replacement:function(Z,J,Q){return`
36
37
 
37
38
  `+J.firstChild.textContent.replace(/\n/g,`
38
39
  `)+`
39
40
 
40
- `}};h0.fencedCodeBlock={filter:function(Z,J){return J.codeBlockStyle==="fenced"&&Z.nodeName==="PRE"&&Z.firstChild&&Z.firstChild.nodeName==="CODE"},replacement:function(Z,J,Q){var $=J.firstChild.getAttribute("class")||"",q=($.match(/language-(\S+)/)||[null,""])[1],X=J.firstChild.textContent,W=Q.fence.charAt(0),G=3,F=new RegExp("^"+W+"{3,}","gm"),H;while(H=F.exec(X))if(H[0].length>=G)G=H[0].length+1;var Y=F8(W,G);return`
41
+ `}};c0.fencedCodeBlock={filter:function(Z,J){return J.codeBlockStyle==="fenced"&&Z.nodeName==="PRE"&&Z.firstChild&&Z.firstChild.nodeName==="CODE"},replacement:function(Z,J,Q){var $=J.firstChild.getAttribute("class")||"",X=($.match(/language-(\S+)/)||[null,""])[1],q=J.firstChild.textContent,W=Q.fence.charAt(0),G=3,K=new RegExp("^"+W+"{3,}","gm"),H;while(H=K.exec(q))if(H[0].length>=G)G=H[0].length+1;var F=e1(W,G);return`
41
42
 
42
- `+Y+q+`
43
- `+X.replace(/\n$/,"")+`
44
- `+Y+`
43
+ `+F+X+`
44
+ `+q.replace(/\n$/,"")+`
45
+ `+F+`
45
46
 
46
- `}};h0.horizontalRule={filter:"hr",replacement:function(Z,J,Q){return`
47
+ `}};c0.horizontalRule={filter:"hr",replacement:function(Z,J,Q){return`
47
48
 
48
49
  `+Q.hr+`
49
50
 
50
- `}};h0.inlineLink={filter:function(Z,J){return J.linkStyle==="inlined"&&Z.nodeName==="A"&&Z.getAttribute("href")},replacement:function(Z,J){var Q=U8(J.getAttribute("href")),$=y8(AZ(J.getAttribute("title"))),q=$?' "'+$+'"':"";return"["+Z+"]("+Q+q+")"}};h0.referenceLink={filter:function(Z,J){return J.linkStyle==="referenced"&&Z.nodeName==="A"&&Z.getAttribute("href")},replacement:function(Z,J,Q){var $=U8(J.getAttribute("href")),q=AZ(J.getAttribute("title"));if(q)q=' "'+y8(q)+'"';var X,W;switch(Q.linkReferenceStyle){case"collapsed":X="["+Z+"][]",W="["+Z+"]: "+$+q;break;case"shortcut":X="["+Z+"]",W="["+Z+"]: "+$+q;break;default:var G=this.references.length+1;X="["+Z+"]["+G+"]",W="["+G+"]: "+$+q}return this.references.push(W),X},references:[],append:function(Z){var J="";if(this.references.length)J=`
51
+ `}};c0.inlineLink={filter:function(Z,J){return J.linkStyle==="inlined"&&Z.nodeName==="A"&&Z.getAttribute("href")},replacement:function(Z,J){var Q=Q8(J.getAttribute("href")),$=z8(oZ(J.getAttribute("title"))),X=$?' "'+$+'"':"";return"["+Z+"]("+Q+X+")"}};c0.referenceLink={filter:function(Z,J){return J.linkStyle==="referenced"&&Z.nodeName==="A"&&Z.getAttribute("href")},replacement:function(Z,J,Q){var $=Q8(J.getAttribute("href")),X=oZ(J.getAttribute("title"));if(X)X=' "'+z8(X)+'"';var q,W;switch(Q.linkReferenceStyle){case"collapsed":q="["+Z+"][]",W="["+Z+"]: "+$+X;break;case"shortcut":q="["+Z+"]",W="["+Z+"]: "+$+X;break;default:var G=this.references.length+1;q="["+Z+"]["+G+"]",W="["+G+"]: "+$+X}return this.references.push(W),q},references:[],append:function(Z){var J="";if(this.references.length)J=`
51
52
 
52
53
  `+this.references.join(`
53
54
  `)+`
54
55
 
55
- `,this.references=[];return J}};h0.emphasis={filter:["em","i"],replacement:function(Z,J,Q){if(!Z.trim())return"";return Q.emDelimiter+Z+Q.emDelimiter}};h0.strong={filter:["strong","b"],replacement:function(Z,J,Q){if(!Z.trim())return"";return Q.strongDelimiter+Z+Q.strongDelimiter}};h0.code={filter:function(Z){var J=Z.previousSibling||Z.nextSibling,Q=Z.parentNode.nodeName==="PRE"&&!J;return Z.nodeName==="CODE"&&!Q},replacement:function(Z){if(!Z)return"";Z=Z.replace(/\r?\n|\r/g," ");var J=/^`|^ .*?[^ ].* $|`$/.test(Z)?" ":"",Q="`",$=Z.match(/`+/gm)||[];while($.indexOf(Q)!==-1)Q=Q+"`";return Q+J+Z+J+Q}};h0.image={filter:"img",replacement:function(Z,J){var Q=d6(AZ(J.getAttribute("alt"))),$=U8(J.getAttribute("src")||""),q=AZ(J.getAttribute("title")),X=q?' "'+y8(q)+'"':"";return $?"!["+Q+"]("+$+X+")":""}};function AZ(Z){return Z?Z.replace(/(\n+\s*)+/g,`
56
- `):""}function U8(Z){var J=Z.replace(/([<>()])/g,"\\$1");return J.indexOf(" ")>=0?"<"+J+">":J}function y8(Z){return Z.replace(/"/g,"\\\"")}function r6(Z){this.options=Z,this._keep=[],this._remove=[],this.blankRule={replacement:Z.blankReplacement},this.keepReplacement=Z.keepReplacement,this.defaultRule={replacement:Z.defaultReplacement},this.array=[];for(var J in Z.rules)this.array.push(Z.rules[J])}r6.prototype={add:function(Z,J){this.array.unshift(J)},keep:function(Z){this._keep.unshift({filter:Z,replacement:this.keepReplacement})},remove:function(Z){this._remove.unshift({filter:Z,replacement:function(){return""}})},forNode:function(Z){if(Z.isBlank)return this.blankRule;var J;if(J=W8(this.array,Z,this.options))return J;if(J=W8(this._keep,Z,this.options))return J;if(J=W8(this._remove,Z,this.options))return J;return this.defaultRule},forEach:function(Z){for(var J=0;J<this.array.length;J++)Z(this.array[J],J)}};function W8(Z,J,Q){for(var $=0;$<Z.length;$++){var q=Z[$];if($3(q,J,Q))return q}return}function $3(Z,J,Q){var $=Z.filter;if(typeof $==="string"){if($===J.nodeName.toLowerCase())return!0}else if(Array.isArray($)){if($.indexOf(J.nodeName.toLowerCase())>-1)return!0}else if(typeof $==="function"){if($.call(Z,J,Q))return!0}else throw TypeError("`filter` needs to be a string, array, or function")}function q3(Z){var{element:J,isBlock:Q,isVoid:$}=Z,q=Z.isPre||function(K){return K.nodeName==="PRE"};if(!J.firstChild||q(J))return;var X=null,W=!1,G=null,F=D6(G,J,q);while(F!==J){if(F.nodeType===3||F.nodeType===4){var H=F.data.replace(/[ \r\n\t]+/g," ");if((!X||/ $/.test(X.data))&&!W&&H[0]===" ")H=H.substr(1);if(!H){F=G8(F);continue}F.data=H,X=F}else if(F.nodeType===1){if(Q(F)||F.nodeName==="BR"){if(X)X.data=X.data.replace(/ $/,"");X=null,W=!1}else if($(F)||q(F))X=null,W=!0;else if(X)W=!1}else{F=G8(F);continue}var Y=D6(G,F,q);G=F,F=Y}if(X){if(X.data=X.data.replace(/ $/,""),!X.data)G8(X)}}function G8(Z){var J=Z.nextSibling||Z.parentNode;return Z.parentNode.removeChild(Z),J}function D6(Z,J,Q){if(Z&&Z.parentNode===J||Q(J))return J.nextSibling||J.parentNode;return J.firstChild||J.nextSibling||J.parentNode}var B8=typeof window<"u"?window:{};function X3(){var Z=B8.DOMParser,J=!1;try{if(new Z().parseFromString("","text/html"))J=!0}catch(Q){}return J}function W3(){var Z=function(){};if(G3())Z.prototype.parseFromString=function(J){var Q=new window.ActiveXObject("htmlfile");return Q.designMode="on",Q.open(),Q.write(J),Q.close(),Q};else Z.prototype.parseFromString=function(J){var Q=document.implementation.createHTMLDocument("");return Q.open(),Q.write(J),Q.close(),Q};return Z}function G3(){var Z=!1;try{document.implementation.createHTMLDocument("").open()}catch(J){if(B8.ActiveXObject)Z=!0}return Z}var H3=X3()?B8.DOMParser:W3();function F3(Z,J){var Q;if(typeof Z==="string"){var $=K3().parseFromString('<x-turndown id="turndown-root">'+Z+"</x-turndown>","text/html");Q=$.getElementById("turndown-root")}else Q=Z.cloneNode(!0);return q3({element:Q,isBlock:K8,isVoid:c6,isPre:J.preformattedCode?Y3:null}),Q}var H8;function K3(){return H8=H8||new H3,H8}function Y3(Z){return Z.nodeName==="PRE"||Z.nodeName==="CODE"}function U3(Z,J){return Z.isBlock=K8(Z),Z.isCode=Z.nodeName==="CODE"||Z.parentNode.isCode,Z.isBlank=y3(Z),Z.flankingWhitespace=B3(Z,J),Z}function y3(Z){return!c6(Z)&&!J3(Z)&&/^\s*$/i.test(Z.textContent)&&!Z3(Z)&&!Q3(Z)}function B3(Z,J){if(Z.isBlock||J.preformattedCode&&Z.isCode)return{leading:"",trailing:""};var Q=L3(Z.textContent);if(Q.leadingAscii&&h6("left",Z,J))Q.leading=Q.leadingNonAscii;if(Q.trailingAscii&&h6("right",Z,J))Q.trailing=Q.trailingNonAscii;return{leading:Q.leading,trailing:Q.trailing}}function L3(Z){var J=Z.match(/^(([ \t\r\n]*)(\s*))(?:(?=\S)[\s\S]*\S)?((\s*?)([ \t\r\n]*))$/);return{leading:J[1],leadingAscii:J[2],leadingNonAscii:J[3],trailing:J[4],trailingNonAscii:J[5],trailingAscii:J[6]}}function h6(Z,J,Q){var $,q,X;if(Z==="left")$=J.previousSibling,q=/ $/;else $=J.nextSibling,q=/^ /;if($){if($.nodeType===3)X=q.test($.nodeValue);else if(Q.preformattedCode&&$.nodeName==="CODE")X=!1;else if($.nodeType===1&&!K8($))X=q.test($.textContent)}return X}var w3=Array.prototype.reduce;function u9(Z){if(!(this instanceof u9))return new u9(Z);var J={rules:h0,headingStyle:"setext",hr:"* * *",bulletListMarker:"*",codeBlockStyle:"indented",fence:"```",emDelimiter:"_",strongDelimiter:"**",linkStyle:"inlined",linkReferenceStyle:"full",br:" ",preformattedCode:!1,blankReplacement:function(Q,$){return $.isBlock?`
56
+ `,this.references=[];return J}};c0.emphasis={filter:["em","i"],replacement:function(Z,J,Q){if(!Z.trim())return"";return Q.emDelimiter+Z+Q.emDelimiter}};c0.strong={filter:["strong","b"],replacement:function(Z,J,Q){if(!Z.trim())return"";return Q.strongDelimiter+Z+Q.strongDelimiter}};c0.code={filter:function(Z){var J=Z.previousSibling||Z.nextSibling,Q=Z.parentNode.nodeName==="PRE"&&!J;return Z.nodeName==="CODE"&&!Q},replacement:function(Z){if(!Z)return"";Z=Z.replace(/\r?\n|\r/g," ");var J=/^`|^ .*?[^ ].* $|`$/.test(Z)?" ":"",Q="`",$=Z.match(/`+/gm)||[];while($.indexOf(Q)!==-1)Q=Q+"`";return Q+J+Z+J+Q}};c0.image={filter:"img",replacement:function(Z,J){var Q=q7(oZ(J.getAttribute("alt"))),$=Q8(J.getAttribute("src")||""),X=oZ(J.getAttribute("title")),q=X?' "'+z8(X)+'"':"";return $?"!["+Q+"]("+$+q+")":""}};function oZ(Z){return Z?Z.replace(/(\n+\s*)+/g,`
57
+ `):""}function Q8(Z){var J=Z.replace(/([<>()])/g,"\\$1");return J.indexOf(" ")>=0?"<"+J+">":J}function z8(Z){return Z.replace(/"/g,"\\\"")}function W7(Z){this.options=Z,this._keep=[],this._remove=[],this.blankRule={replacement:Z.blankReplacement},this.keepReplacement=Z.keepReplacement,this.defaultRule={replacement:Z.defaultReplacement},this.array=[];for(var J in Z.rules)this.array.push(Z.rules[J])}W7.prototype={add:function(Z,J){this.array.unshift(J)},keep:function(Z){this._keep.unshift({filter:Z,replacement:this.keepReplacement})},remove:function(Z){this._remove.unshift({filter:Z,replacement:function(){return""}})},forNode:function(Z){if(Z.isBlank)return this.blankRule;var J;if(J=o1(this.array,Z,this.options))return J;if(J=o1(this._keep,Z,this.options))return J;if(J=o1(this._remove,Z,this.options))return J;return this.defaultRule},forEach:function(Z){for(var J=0;J<this.array.length;J++)Z(this.array[J],J)}};function o1(Z,J,Q){for(var $=0;$<Z.length;$++){var X=Z[$];if(az(X,J,Q))return X}return}function az(Z,J,Q){var $=Z.filter;if(typeof $==="string"){if($===J.nodeName.toLowerCase())return!0}else if(Array.isArray($)){if($.indexOf(J.nodeName.toLowerCase())>-1)return!0}else if(typeof $==="function"){if($.call(Z,J,Q))return!0}else throw TypeError("`filter` needs to be a string, array, or function")}function lz(Z){var{element:J,isBlock:Q,isVoid:$}=Z,X=Z.isPre||function(Y){return Y.nodeName==="PRE"};if(!J.firstChild||X(J))return;var q=null,W=!1,G=null,K=t6(G,J,X);while(K!==J){if(K.nodeType===3||K.nodeType===4){var H=K.data.replace(/[ \r\n\t]+/g," ");if((!q||/ $/.test(q.data))&&!W&&H[0]===" ")H=H.substr(1);if(!H){K=t1(K);continue}K.data=H,q=K}else if(K.nodeType===1){if(Q(K)||K.nodeName==="BR"){if(q)q.data=q.data.replace(/ $/,"");q=null,W=!1}else if($(K)||X(K))q=null,W=!0;else if(q)W=!1}else{K=t1(K);continue}var F=t6(G,K,X);G=K,K=F}if(q){if(q.data=q.data.replace(/ $/,""),!q.data)t1(q)}}function t1(Z){var J=Z.nextSibling||Z.parentNode;return Z.parentNode.removeChild(Z),J}function t6(Z,J,Q){if(Z&&Z.parentNode===J||Q(J))return J.nextSibling||J.parentNode;return J.firstChild||J.nextSibling||J.parentNode}var $8=typeof window<"u"?window:{};function nz(){var Z=$8.DOMParser,J=!1;try{if(new Z().parseFromString("","text/html"))J=!0}catch(Q){}return J}function rz(){var Z=function(){};if(oz())Z.prototype.parseFromString=function(J){var Q=new window.ActiveXObject("htmlfile");return Q.designMode="on",Q.open(),Q.write(J),Q.close(),Q};else Z.prototype.parseFromString=function(J){var Q=document.implementation.createHTMLDocument("");return Q.open(),Q.write(J),Q.close(),Q};return Z}function oz(){var Z=!1;try{document.implementation.createHTMLDocument("").open()}catch(J){if($8.ActiveXObject)Z=!0}return Z}var tz=nz()?$8.DOMParser:rz();function sz(Z,J){var Q;if(typeof Z==="string"){var $=ez().parseFromString('<x-turndown id="turndown-root">'+Z+"</x-turndown>","text/html");Q=$.getElementById("turndown-root")}else Q=Z.cloneNode(!0);return lz({element:Q,isBlock:Z8,isVoid:z7,isPre:J.preformattedCode?Z$:null}),Q}var s1;function ez(){return s1=s1||new tz,s1}function Z$(Z){return Z.nodeName==="PRE"||Z.nodeName==="CODE"}function J$(Z,J){return Z.isBlock=Z8(Z),Z.isCode=Z.nodeName==="CODE"||Z.parentNode.isCode,Z.isBlank=Q$(Z),Z.flankingWhitespace=z$(Z,J),Z}function Q$(Z){return!z7(Z)&&!cz(Z)&&/^\s*$/i.test(Z.textContent)&&!pz(Z)&&!iz(Z)}function z$(Z,J){if(Z.isBlock||J.preformattedCode&&Z.isCode)return{leading:"",trailing:""};var Q=$$(Z.textContent);if(Q.leadingAscii&&s6("left",Z,J))Q.leading=Q.leadingNonAscii;if(Q.trailingAscii&&s6("right",Z,J))Q.trailing=Q.trailingNonAscii;return{leading:Q.leading,trailing:Q.trailing}}function $$(Z){var J=Z.match(/^(([ \t\r\n]*)(\s*))(?:(?=\S)[\s\S]*\S)?((\s*?)([ \t\r\n]*))$/);return{leading:J[1],leadingAscii:J[2],leadingNonAscii:J[3],trailing:J[4],trailingNonAscii:J[5],trailingAscii:J[6]}}function s6(Z,J,Q){var $,X,q;if(Z==="left")$=J.previousSibling,X=/ $/;else $=J.nextSibling,X=/^ /;if($){if($.nodeType===3)q=X.test($.nodeValue);else if(Q.preformattedCode&&$.nodeName==="CODE")q=!1;else if($.nodeType===1&&!Z8($))q=X.test($.textContent)}return q}var X$=Array.prototype.reduce;function GZ(Z){if(!(this instanceof GZ))return new GZ(Z);var J={rules:c0,headingStyle:"setext",hr:"* * *",bulletListMarker:"*",codeBlockStyle:"indented",fence:"```",emDelimiter:"_",strongDelimiter:"**",linkStyle:"inlined",linkReferenceStyle:"full",br:" ",preformattedCode:!1,blankReplacement:function(Q,$){return $.isBlock?`
57
58
 
58
59
  `:""},keepReplacement:function(Q,$){return $.isBlock?`
59
60
 
@@ -63,53 +64,52 @@ https://github.com/highlightjs/highlight.js/issues/2277`),Z0=R,M=k;if(b===void 0
63
64
 
64
65
  `+Q+`
65
66
 
66
- `:Q}};this.options=sQ({},J,Z),this.rules=new r6(this.options)}u9.prototype={turndown:function(Z){if(!A3(Z))throw TypeError(Z+" is not a string, or an element/document/fragment node.");if(Z==="")return"";var J=l6.call(this,new F3(Z,this.options));return P3.call(this,J)},use:function(Z){if(Array.isArray(Z))for(var J=0;J<Z.length;J++)this.use(Z[J]);else if(typeof Z==="function")Z(this);else throw TypeError("plugin must be a Function or an Array of Functions");return this},addRule:function(Z,J){return this.rules.add(Z,J),this},keep:function(Z){return this.rules.keep(Z),this},remove:function(Z){return this.rules.remove(Z),this},escape:function(Z){return d6(Z)}};function l6(Z){var J=this;return w3.call(Z.childNodes,function(Q,$){$=new U3($,J.options);var q="";if($.nodeType===3)q=$.isCode?$.nodeValue:J.escape($.nodeValue);else if($.nodeType===1)q=C3.call(J,$);return n6(Q,q)},"")}function P3(Z){var J=this;return this.rules.forEach(function(Q){if(typeof Q.append==="function")Z=n6(Z,Q.append(J.options))}),Z.replace(/^[\t\r\n]+/,"").replace(/[\t\r\n\s]+$/,"")}function C3(Z){var J=this.rules.forNode(Z),Q=l6.call(this,Z),$=Z.flankingWhitespace;if($.leading||$.trailing)Q=Q.trim();return $.leading+J.replacement(Q,Z,this.options)+$.trailing}function n6(Z,J){var Q=u6(Z),$=m6(J),q=Math.max(Z.length-Q.length,J.length-$.length),X=`
67
+ `:Q}};this.options=uz({},J,Z),this.rules=new W7(this.options)}GZ.prototype={turndown:function(Z){if(!G$(Z))throw TypeError(Z+" is not a string, or an element/document/fragment node.");if(Z==="")return"";var J=G7.call(this,new sz(Z,this.options));return q$.call(this,J)},use:function(Z){if(Array.isArray(Z))for(var J=0;J<Z.length;J++)this.use(Z[J]);else if(typeof Z==="function")Z(this);else throw TypeError("plugin must be a Function or an Array of Functions");return this},addRule:function(Z,J){return this.rules.add(Z,J),this},keep:function(Z){return this.rules.keep(Z),this},remove:function(Z){return this.rules.remove(Z),this},escape:function(Z){return q7(Z)}};function G7(Z){var J=this;return X$.call(Z.childNodes,function(Q,$){$=new J$($,J.options);var X="";if($.nodeType===3)X=$.isCode?$.nodeValue:J.escape($.nodeValue);else if($.nodeType===1)X=W$.call(J,$);return H7(Q,X)},"")}function q$(Z){var J=this;return this.rules.forEach(function(Q){if(typeof Q.append==="function")Z=H7(Z,Q.append(J.options))}),Z.replace(/^[\t\r\n]+/,"").replace(/[\t\r\n\s]+$/,"")}function W$(Z){var J=this.rules.forNode(Z),Q=G7.call(this,Z),$=Z.flankingWhitespace;if($.leading||$.trailing)Q=Q.trim();return $.leading+J.replacement(Q,Z,this.options)+$.trailing}function H7(Z,J){var Q=Z7(Z),$=e6(J),X=Math.max(Z.length-Q.length,J.length-$.length),q=`
67
68
 
68
- `.substring(0,q);return Q+X+$}function A3(Z){return Z!=null&&(typeof Z==="string"||Z.nodeType&&(Z.nodeType===1||Z.nodeType===9||Z.nodeType===11))}var t6=/highlight-(?:text|source)-([a-z0-9]+)/;function O3(Z){Z.addRule("highlightedCodeBlock",{filter:function(J){var Q=J.firstChild;return J.nodeName==="DIV"&&t6.test(J.className)&&Q&&Q.nodeName==="PRE"},replacement:function(J,Q,$){var q=Q.className||"",X=(q.match(t6)||[null,""])[1];return`
69
+ `.substring(0,X);return Q+q+$}function G$(Z){return Z!=null&&(typeof Z==="string"||Z.nodeType&&(Z.nodeType===1||Z.nodeType===9||Z.nodeType===11))}var K7=/highlight-(?:text|source)-([a-z0-9]+)/;function H$(Z){Z.addRule("highlightedCodeBlock",{filter:function(J){var Q=J.firstChild;return J.nodeName==="DIV"&&K7.test(J.className)&&Q&&Q.nodeName==="PRE"},replacement:function(J,Q,$){var X=Q.className||"",q=(X.match(K7)||[null,""])[1];return`
69
70
 
70
- `+$.fence+X+`
71
+ `+$.fence+q+`
71
72
  `+Q.firstChild.textContent+`
72
73
  `+$.fence+`
73
74
 
74
- `}})}function v3(Z){Z.addRule("strikethrough",{filter:["del","s","strike"],replacement:function(J){return"~"+J+"~"}})}var _3=Array.prototype.indexOf,M3=Array.prototype.every,N9={};N9.tableCell={filter:["th","td"],replacement:function(Z,J){return o6(Z,J)}};N9.tableRow={filter:"tr",replacement:function(Z,J){var Q="",$={left:":--",right:"--:",center:":-:"};if(L8(J))for(var q=0;q<J.childNodes.length;q++){var X="---",W=(J.childNodes[q].getAttribute("align")||"").toLowerCase();if(W)X=$[W]||X;Q+=o6(X,J.childNodes[q])}return`
75
+ `}})}function K$(Z){Z.addRule("strikethrough",{filter:["del","s","strike"],replacement:function(J){return"~"+J+"~"}})}var F$=Array.prototype.indexOf,Y$=Array.prototype.every,l9={};l9.tableCell={filter:["th","td"],replacement:function(Z,J){return F7(Z,J)}};l9.tableRow={filter:"tr",replacement:function(Z,J){var Q="",$={left:":--",right:"--:",center:":-:"};if(X8(J))for(var X=0;X<J.childNodes.length;X++){var q="---",W=(J.childNodes[X].getAttribute("align")||"").toLowerCase();if(W)q=$[W]||q;Q+=F7(q,J.childNodes[X])}return`
75
76
  `+Z+(Q?`
76
- `+Q:"")}};N9.table={filter:function(Z){return Z.nodeName==="TABLE"&&L8(Z.rows[0])},replacement:function(Z){return Z=Z.replace(`
77
+ `+Q:"")}};l9.table={filter:function(Z){return Z.nodeName==="TABLE"&&X8(Z.rows[0])},replacement:function(Z){return Z=Z.replace(`
77
78
 
78
79
  `,`
79
80
  `),`
80
81
 
81
82
  `+Z+`
82
83
 
83
- `}};N9.tableSection={filter:["thead","tbody","tfoot"],replacement:function(Z){return Z}};function L8(Z){var J=Z.parentNode;return J.nodeName==="THEAD"||J.firstChild===Z&&(J.nodeName==="TABLE"||N3(J))&&M3.call(Z.childNodes,function(Q){return Q.nodeName==="TH"})}function N3(Z){var J=Z.previousSibling;return Z.nodeName==="TBODY"&&(!J||J.nodeName==="THEAD"&&/^\s*$/i.test(J.textContent))}function o6(Z,J){var Q=_3.call(J.parentNode.childNodes,J),$=" ";if(Q===0)$="| ";return $+Z+" |"}function k3(Z){Z.keep(function(Q){return Q.nodeName==="TABLE"&&!L8(Q.rows[0])});for(var J in N9)Z.addRule(J,N9[J])}function f3(Z){Z.addRule("taskListItems",{filter:function(J){return J.type==="checkbox"&&J.parentNode.nodeName==="LI"},replacement:function(J,Q){return(Q.checked?"[x]":"[ ]")+" "}})}function s6(Z){Z.use([O3,v3,k3,f3])}function V3(Z){let J=Z.match(/(?:language|lang)-(\S+)/);return J?J[1]:""}function R3(){let Z=new u9({codeBlockStyle:"fenced",headingStyle:"atx",bulletListMarker:"-",emDelimiter:"*",strongDelimiter:"**"});return Z.use(s6),Z.addRule("fencedCodeWithLang",{filter:(J)=>J.nodeName==="PRE"&&!!J.querySelector("code"),replacement:(J,Q)=>{let $=Q.querySelector("code"),q=($?.textContent??Q.textContent??"").replace(/\n$/,""),X=$?V3($.className):"",W="```";return`
84
+ `}};l9.tableSection={filter:["thead","tbody","tfoot"],replacement:function(Z){return Z}};function X8(Z){var J=Z.parentNode;return J.nodeName==="THEAD"||J.firstChild===Z&&(J.nodeName==="TABLE"||U$(J))&&Y$.call(Z.childNodes,function(Q){return Q.nodeName==="TH"})}function U$(Z){var J=Z.previousSibling;return Z.nodeName==="TBODY"&&(!J||J.nodeName==="THEAD"&&/^\s*$/i.test(J.textContent))}function F7(Z,J){var Q=F$.call(J.parentNode.childNodes,J),$=" ";if(Q===0)$="| ";return $+Z+" |"}function B$(Z){Z.keep(function(Q){return Q.nodeName==="TABLE"&&!X8(Q.rows[0])});for(var J in l9)Z.addRule(J,l9[J])}function L$(Z){Z.addRule("taskListItems",{filter:function(J){return J.type==="checkbox"&&J.parentNode.nodeName==="LI"},replacement:function(J,Q){return(Q.checked?"[x]":"[ ]")+" "}})}function Y7(Z){Z.use([H$,K$,B$,L$])}function y$(Z){let J=Z.match(/(?:language|lang)-(\S+)/);return J?J[1]:""}function P$(){let Z=new GZ({codeBlockStyle:"fenced",headingStyle:"atx",bulletListMarker:"-",emDelimiter:"*",strongDelimiter:"**"});return Z.use(Y7),Z.remove(["style","script","title"]),Z.escape=(J)=>J,Z.addRule("fencedCodeWithLang",{filter:(J)=>J.nodeName==="PRE"&&!!J.querySelector("code"),replacement:(J,Q)=>{let $=Q.querySelector("code"),X=($?.textContent??Q.textContent??"").replace(/\n$/,""),q=$?y$($.className):"",W="```";return`
84
85
 
85
- \`\`\`${X}
86
- ${q}
86
+ \`\`\`${q}
87
+ ${X}
87
88
  \`\`\`
88
89
 
89
- `}}),Z}var e6=null;function Z1(Z){return e6??=R3(),e6.turndown(Z)}var I3=0;function i0(){return`blk_${Date.now().toString(36)}_${(I3++).toString(36)}`}var b3=new Set(["bullet","numbered","todo"]),Z9={fenceOpen:/^\s*(`{3,}|~{3,})\s*([^\s`]*)?.*$/,h:/^(#{1,3})\s+(.*)$/,todo:/^\s*[-*+]\s+\[([ xX])\]\s*(.*)$/,bullet:/^\s*[-*+]\s+(.*)$/,numbered:/^\s*(\d+)[.)]\s+(.*)$/,quote:/^>\s?(.*)$/,divider:/^\s*(?:-{3,}|\*{3,}|_{3,})\s*$/};function p0(Z){return b3.has(Z)}function J1(Z){return H1(Z,0,1).join(`
90
- `)}function vZ(Z){let J=(Z??"").replace(/\r\n?/g,`
90
+ `}}),Z}var U7=null;function B7(Z){return U7??=P$(),U7.turndown(Z)}var w$=0;function t0(){return`blk_${Date.now().toString(36)}_${(w$++).toString(36)}`}var C$=new Set(["bullet","numbered","todo"]),H9={fenceOpen:/^\s*(`{3,}|~{3,})\s*([^\s`]*)?.*$/,h:/^(#{1,3})\s+(.*)$/,todo:/^\s*[-*+]\s+\[([ xX])\]\s*(.*)$/,bullet:/^\s*[-*+]\s+(.*)$/,numbered:/^\s*(\d+)[.)]\s+(.*)$/,quote:/^>\s?(.*)$/,divider:/^\s*(?:-{3,}|\*{3,}|_{3,})\s*$/};function l0(Z){return C$.has(Z)}function O$(){return[["",""],["",""]]}function W8(Z,J,Q){if(Z.type=J,Z.content=Q.content??"",J==="todo")Z.checked=Q.checked??!1;else delete Z.checked;if(J==="code")Z.lang=Q.lang??"";else delete Z.lang;if(J==="numbered"&&Q.start!=null&&Q.start>1)Z.start=Q.start;else delete Z.start;if(J==="table")Z.rows=Q.rows?Q.rows.map(($)=>[...$]):O$(),Z.align=Q.align?[...Q.align]:Array(Z.rows[0].length).fill(null);else delete Z.rows,delete Z.align}function sZ(Z,J={}){let Q={id:t0(),type:Z,content:""};if(W8(Q,Z,J),l0(Z)&&J.children?.length)Q.children=J.children;return Q}function L7(Z){return N7(Z,0,1).join(`
91
+ `)}function HZ(Z){let J=(Z??"").replace(/\r\n?/g,`
91
92
  `),Q=J?J.split(`
92
- `):[],$=X1(Q,0,0).blocks;Q1($);let q=J.length-J.replace(/\n+$/,"").length;for(let X=1;X<q;X++)$.push({id:i0(),type:"p",content:""});return $}function k9(Z){return Z.type==="p"&&Z.content.trim()===""&&!Z.children?.length}function P8(Z){let J=new Map,Q=null;for(let $ of Z)if($.type==="numbered")Q=Q===null?Math.max(1,$.start??1):Q+1,J.set($.id,Q);else Q=null;return J}function Q1(Z){let J=!0;for(let Q of Z){if(Q.type==="numbered")if(J){if((Q.start??1)<=1)delete Q.start;J=!1}else delete Q.start;else J=!0;if(Q.children)Q1(Q.children)}}function z1(Z){return $1(Z,0,!0).join(`
93
- `)}function $1(Z,J,Q){let $=P8(Z.filter((G)=>!k9(G))),q=[],X=null,W=0;for(let G of Z){if(k9(G)){if(q.length)W++;continue}if(!F1(G))continue;if(q.length){let F=i3(X,G)||W>0?1:0;for(let H=0;H<F+W;H++)q.push("")}q.push(...H1(G,J,$.get(G.id)??1)),X=G,W=0}if(q.length&&W>0)for(let G=0;G<W+(Q?1:0);G++)q.push("");return q}function C8(Z,J){if(J===" "){if(Z==="# ")return{type:"h1",content:""};if(Z==="## ")return{type:"h2",content:""};if(Z==="### ")return{type:"h3",content:""};if(Z==="> ")return{type:"quote",content:""};if(/^[-*+] $/.test(Z))return{type:"bullet",content:""};let $=Z.match(/^(\d+)[.)] $/);if($)return{type:"numbered",content:"",start:parseInt($[1],10)};let q=Z.match(/^[-*+]\s+\[([ xX])\]\s*$/);if(q)return{type:"todo",content:"",checked:q[1].toLowerCase()==="x"};return null}let Q=Z.match(/^```([A-Za-z0-9_+.#-]*)$/);if(Q)return{type:"code",content:"",lang:A8(Q[1]??"")};return null}function q1(Z){let J=Z.match(/^\[([ xX])\]$/);return J?{checked:J[1].toLowerCase()==="x"}:null}function X1(Z,J,Q){let $=[],q=J,X=0;while(q<Z.length){let W=Z[q];if(W.trim()===""){let F=q;while(F<Z.length&&Z[F].trim()==="")F++;if(F>=Z.length||X9(Z[F])<Q)break;X+=F-q,q=F;continue}if(X9(W)<Q)break;if($.length&&X>1)for(let F=1;F<X;F++)$.push({id:i0(),type:"p",content:""});X=0;let G=S3(Z,q,Q)??h3(Z,q,Q)??T3(Z,q,Q);$.push(G.block),q=G.next}return{blocks:$,next:q}}function S3(Z,J,Q){let $=G1(Z[J],Q);if(!$)return null;let q={id:i0(),type:$.type,content:$.content};if($.type==="todo")q.checked=!!$.checked;if($.type==="numbered"&&$.num!=null)q.start=$.num;let X=X1(Z,J+1,$.indent+2);if(X.blocks.length)q.children=X.blocks;return{block:q,next:X.next}}function T3(Z,J,Q){let $=l0(Z[J],Q),q=$.match(Z9.fenceOpen);if(q)return g3(Z,J,Q,q);if(Z9.divider.test($.trim()))return{block:{id:i0(),type:"divider",content:""},next:J+1};let X=$.match(Z9.h);if(X)return{block:{id:i0(),type:`h${X[1].length}`,content:X[2]},next:J+1};if(Z9.quote.test($))return x3(Z,J,Q);return E3(Z,J,Q)}function g3(Z,J,Q,$){let q=$[1],X=[],W=J+1;for(;W<Z.length;W++){let G=Z[W],F=l0(G,Q);if(a3(F,q[0],q.length)){W++;break}X.push(F)}return{block:{id:i0(),type:"code",content:X.join(`
94
- `),lang:A8($[2]??"")},next:W}}function x3(Z,J,Q){let $=[],q=J;for(;q<Z.length;q++){let X=Z[q];if(X.trim()===""||X9(X)<Q)break;let W=l0(X,Q).match(Z9.quote);if(!W)break;$.push(W[1]??"")}return{block:{id:i0(),type:"quote",content:$.join(`
95
- `)},next:q}}var j3=/^\s*:?-+:?\s*$/;function W1(Z,J,Q){let $=Z[J],q=Z[J+1];if($==null||q==null)return!1;if(X9($)<Q||X9(q)<Q)return!1;let X=l0($,Q),W=l0(q,Q);if(!X.includes("|")||!W.includes("|"))return!1;let G=OZ(W);return G.length>0&&G.every((F)=>j3.test(F))}function OZ(Z){let J=[],Q="";for(let $=0;$<Z.length;$++){let q=Z[$];if(q==="\\"&&Z[$+1]==="|"){Q+="|",$++;continue}if(q==="|"){J.push(Q),Q="";continue}Q+=q}if(J.push(Q),J.length&&J[0].trim()==="")J.shift();if(J.length&&J[J.length-1].trim()==="")J.pop();return J.map(($)=>$.trim())}function D3(Z){let J=Z.trim(),Q=J.startsWith(":"),$=J.endsWith(":");if(Q&&$)return"center";if($)return"right";if(Q)return"left";return null}function w8(Z,J){let Q=Z.slice(0,J);while(Q.length<J)Q.push("");return Q}function h3(Z,J,Q){if(!W1(Z,J,Q))return null;let $=OZ(l0(Z[J],Q)),q=Math.max(1,$.length),X=OZ(l0(Z[J+1],Q)).map(D3),W=[w8($,q)],G=J+2;for(;G<Z.length;G++){let F=Z[G];if(F.trim()===""||X9(F)<Q)break;let H=l0(F,Q);if(!H.includes("|"))break;W.push(w8(OZ(H),q))}while(X.length<q)X.push(null);return X.length=q,{block:{id:i0(),type:"table",content:"",rows:W,align:X},next:G}}function m3(Z){switch(Z){case"left":return":---";case"center":return":---:";case"right":return"---:";default:return"---"}}function u3(Z,J){let Q=" ".repeat(J),$=Z.rows??[],q=Math.max(1,...$.map((Y)=>Y.length)),X=Z.align??[],W=(Y)=>Y.replace(/\|/g,"\\|").replace(/\n/g," "),G=(Y)=>`${Q}| ${w8(Y,q).map(W).join(" | ")} |`,F=`${Q}| ${Array.from({length:q},(Y,K)=>m3(X[K]??null)).join(" | ")} |`,H=$[0]??Array.from({length:q},()=>"");return[G(H),F,...$.slice(1).map(G)]}function E3(Z,J,Q){let $=[],q=J;for(;q<Z.length;q++){let X=Z[q];if(X.trim()===""||X9(X)<Q)break;if($.length&&(p3(X,Q)||W1(Z,q,Q)))break;$.push(l0(X,Q))}return{block:{id:i0(),type:"p",content:$.join(`
96
- `)},next:q}}function p3(Z,J){if(G1(Z,J))return!0;let Q=l0(Z,J);return!!Q.match(Z9.fenceOpen)||!!Q.match(Z9.h)||Z9.divider.test(Q.trim())||Z9.quote.test(Q)}function G1(Z,J){let Q=X9(Z);if(Q<J)return null;let $=l0(Z,Q),q=$.match(/^[-*+]\s+\[([ xX])\]\s*(.*)$/);if(q)return{indent:Q,type:"todo",checked:q[1].toLowerCase()==="x",content:q[2]};if(q=$.match(/^(\d+)[.)](?:\s+(.*))?$/),q)return{indent:Q,type:"numbered",content:q[2]??"",num:parseInt(q[1],10)};if(q=$.match(/^[-*+](?:\s+(.*))?$/),q)return{indent:Q,type:"bullet",content:q[1]??""};return null}function H1(Z,J,Q){let $=" ".repeat(J);switch(Z.type){case"h1":return[`${$}# ${Z.content}`];case"h2":return[`${$}## ${Z.content}`];case"h3":return[`${$}### ${Z.content}`];case"bullet":case"numbered":case"todo":return c3(Z,J,Q);case"quote":return Z.content.split(`
97
- `).map((q)=>`${$}>${q?` ${q}`:""}`);case"code":{let q=`${$}\`\`\`${Z.lang?A8(Z.lang):""}`,X=Z.content.split(`
98
- `).map((W)=>`${$}${W}`);return[q,...X,`${$}\`\`\``]}case"table":return u3(Z,J);case"divider":return[`${$}---`];default:return Z.content.split(`
99
- `).map((q)=>`${$}${q}`)}}function c3(Z,J,Q){let $=" ".repeat(J),q=Z.type==="numbered"?`${Q}. `:Z.type==="todo"?`- [${Z.checked?"x":" "}] `:"- ",X=[`${$}${q}${Z.content}`],W=Z.children??[],G=W.find((F)=>!k9(F)&&F1(F));if(G){if(!p0(G.type)&&Z.content.trim()!=="")X.push("");X.push(...$1(W,J+2,!1))}return X}function i3(Z,J){if(!Z)return!1;return!(p0(Z.type)&&p0(J.type))}function F1(Z){if(Z.type==="divider")return!0;if(p0(Z.type))return!0;if(Z.type==="code")return Z.content.trim()!==""||!!Z.lang?.trim();if(Z.type==="table")return(Z.rows??[]).some((J)=>J.some((Q)=>Q.trim()!==""));return Z.content.trim()!==""}function X9(Z){let J=0;for(let Q of Z)if(Q===" ")J++;else if(Q==="\t")J+=4;else break;return J}function l0(Z,J){let Q=0,$=0;for(;$<Z.length&&Q<J;$++){let q=Z[$];if(q===" ")Q++;else if(q==="\t")Q+=4;else break}return Z.slice($)}function a3(Z,J,Q){let $=Z.trim();if(!$||$[0]!==J)return!1;for(let q of $)if(q!==J)return!1;return $.length>=Q}function A8(Z){return Z.trim().replace(/[^A-Za-z0-9_+.#-]/g,"")}var O8=[{id:"",label:"纯文本"},{id:"bash",label:"Bash"},{id:"shell",label:"Shell"},{id:"javascript",label:"JavaScript"},{id:"typescript",label:"TypeScript"},{id:"json",label:"JSON"},{id:"python",label:"Python"},{id:"go",label:"Go"},{id:"rust",label:"Rust"},{id:"java",label:"Java"},{id:"c",label:"C"},{id:"cpp",label:"C++"},{id:"csharp",label:"C#"},{id:"sql",label:"SQL"},{id:"yaml",label:"YAML"},{id:"xml",label:"HTML / XML"},{id:"css",label:"CSS"},{id:"scss",label:"SCSS"},{id:"markdown",label:"Markdown"},{id:"php",label:"PHP"},{id:"ruby",label:"Ruby"},{id:"swift",label:"Swift"},{id:"kotlin",label:"Kotlin"},{id:"objectivec",label:"Objective-C"},{id:"perl",label:"Perl"},{id:"lua",label:"Lua"},{id:"makefile",label:"Makefile"},{id:"ini",label:"INI / TOML"},{id:"diff",label:"Diff"}],v8=[{type:"p",ic:"text",t:"文本",d:"普通段落"},{type:"h1",ic:"heading",t:"标题 1",d:"大号标题"},{type:"h2",ic:"heading",t:"标题 2",d:"中号标题"},{type:"h3",ic:"heading",t:"标题 3",d:"小号标题"},{type:"bullet",ic:"list",t:"无序列表",d:"项目符号"},{type:"numbered",ic:"numList",t:"有序列表",d:"编号列表"},{type:"todo",ic:"checkbox",t:"待办清单",d:"复选项"},{type:"quote",ic:"quote",t:"引用",d:"引用块"},{type:"code",ic:"code",t:"代码",d:"代码块"},{type:"table",ic:"table",t:"表格",d:"插入表格"},{type:"divider",ic:"minus",t:"分隔线",d:"水平分隔"}];function I0(Z,J,Q=null){for(let $=0;$<Z.length;$++){let q=Z[$];if(q.id===J)return{block:q,parent:Z,index:$,parentBlock:Q};let X=q.children?I0(q.children,J,q):null;if(X)return X}return null}function _8(Z){let J=0;for(let Q of Z)J+=1+_8(Q.children??[]);return J}function _Z(Z){return{...Z,id:i0(),children:Z.children?.map(_Z)}}function M8(Z,J){for(let Q of Z??[])if(Q.id===J||M8(Q.children,J))return!0;return!1}function J9(Z,J=[]){for(let Q of Z)if(J.push(Q),Q.children)J9(Q.children,J);return J}function E9(Z,J){let Q=null,$=null,q=(X)=>{for(let W of X){if(W.id===J){$=Q;return}if(Q=W,W.children)q(W.children);if($)return}};return q(Z),$}function N8(Z,J){let Q=J9(Z),$=Q.findIndex((q)=>q.id===J);return $>=0&&$+1<Q.length?Q[$+1]:null}function MZ(Z,J){let Q=I0(Z,J);if(!Q)return null;let[$]=Q.parent.splice(Q.index,1);if(Q.parent.length===0&&Q.parentBlock)delete Q.parentBlock.children;return $??null}function K1(Z,J,Q,$){if(J===Q)return!1;let q=I0(Z,J),X=I0(Z,Q);if(!q||!X||M8(q.block.children,Q))return!1;let W=q.parent.splice(q.index,1)[0],G=I0(Z,Q);if(!G)return q.parent.splice(q.index,0,W),!1;if(q.parent.length===0&&q.parentBlock)delete q.parentBlock.children;return G.parent.splice(G.index+($==="after"?1:0),0,W),!0}function k8(Z,J){let Q=I0(Z,J);if(!Q||Q.index===0)return!1;let $=Q.parent[Q.index-1];if(!p0($.type))return!1;let q=Q.parent.splice(Q.index,1)[0];return $.children??=[],$.children.push(q),!0}function NZ(Z,J){let Q=I0(Z,J);if(!Q?.parentBlock)return!1;let $=I0(Z,Q.parentBlock.id);if(!$)return!1;let q=Q.parent.splice(Q.index);if(!q.length)return!1;if(Q.parent.length===0)delete Q.parentBlock.children;return $.parent.splice($.index+1,0,...q),!0}function f9(Z,J){let Q=new Set(J),$=[],q=(X,W)=>{for(let G of X){let F=Q.has(G.id);if(F&&!W)$.push(G.id);if(G.children)q(G.children,W||F)}};return q(Z,!1),$}function Y1(Z,J,Q){let $=J9(Z),q=$.findIndex((F)=>F.id===J),X=$.findIndex((F)=>F.id===Q);if(q<0||X<0)return[];let[W,G]=q<=X?[q,X]:[X,q];return $.slice(W,G+1).map((F)=>F.id)}function U1(Z,J){if(!J.length)return null;let Q=new Set(J),$=J9(Z),q=$.findIndex((W)=>Q.has(W.id));if(q<0)return null;let X=null;for(let W=q-1;W>=0;W--)if(!Q.has($[W].id)){X=$[W].id;break}if(!X){for(let W=q+1;W<$.length;W++)if(!Q.has($[W].id)){X=$[W].id;break}}for(let W of f9(Z,J))MZ(Z,W);if(X&&!I0(Z,X))X=null;return X??J9(Z)[0]?.id??null}function y1(Z,J){let Q=f9(Z,J);if(!Q.length)return[];let $=[];for(let X of Q){let W=I0(Z,X);if(W)$.push(_Z(W.block))}let q=I0(Z,Q[Q.length-1]);if(!q||!$.length)return[];return q.parent.splice(q.index+1,0,...$),$.map((X)=>X.id)}function B1(Z,J,Q,$){let q=f9(Z,J);if(!q.length||q.includes(Q))return!1;for(let G of q){let F=I0(Z,G);if(F&&M8(F.block.children,Q))return!1}let X=[];for(let G of q){let F=MZ(Z,G);if(F)X.push(F)}let W=I0(Z,Q);if(!W)return Z.push(...X),!1;return W.parent.splice(W.index+($==="after"?1:0),0,...X),!0}function L1(Z,J){return f9(Z,J).map((Q)=>{let $=I0(Z,Q);return $?J1($.block):""}).filter(Boolean).join(`
100
- `)}function w1(Z,J){let Q=[];for(let $ of f9(Z,J))if(k8(Z,$))Q.push($);return Q}function P1(Z,J){let Q=[];for(let $ of f9(Z,J))if(NZ(Z,$))Q.push($);return Q}function kZ(Z){return Z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}var C1=String.fromCharCode(57344),A1=String.fromCharCode(57345),d3=new RegExp(C1+"(\\d+)"+A1,"g");function p9(Z){let J=[],Q=Z.replace(/`([^`]+)`/g,($,q)=>{return J.push(q),C1+(J.length-1)+A1});return Q=kZ(Q),Q=Q.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,($,q,X)=>{return`<a href="${String(X).replace(/"/g,"&quot;")}" target="_blank" rel="noreferrer">${q}</a>`}),Q=Q.replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>"),Q=Q.replace(/(^|[^*])\*([^*\n]+)\*/g,"$1<em>$2</em>"),Q=Q.replace(d3,($,q)=>`<code>${kZ(J[+q]??"")}</code>`),Q}function c9(Z){let J=document.createElement("div");return J.innerHTML=Z,O1(J).replace(/\n{3,}/g,`
101
-
102
- `)}function O1(Z){let J="";return Z.childNodes.forEach((Q)=>{if(Q.nodeType===Node.TEXT_NODE){J+=Q.textContent??"";return}if(!(Q instanceof HTMLElement))return;let $=Q.tagName.toLowerCase(),q=O1(Q);if($==="br")J+=`
103
- `;else if($==="strong"||$==="b")J+=q?`**${q}**`:"";else if($==="em"||$==="i")J+=q?`*${q}*`:"";else if($==="code")J+=q?"`"+q+"`":"";else if($==="a"){let X=Q.getAttribute("href")||"";J+=X?`[${q}](${X})`:q}else if($==="div"||$==="p")J+=(J&&!J.endsWith(`
93
+ `):[],$=O7(Q,0,0).blocks;y7($);let X=J.length-J.replace(/\n+$/,"").length;for(let q=1;q<X;q++)$.push({id:t0(),type:"p",content:""});return $}function n9(Z){return Z.type==="p"&&Z.content.trim()===""&&!Z.children?.length}function G8(Z){let J=new Map,Q=null;for(let $ of Z)if($.type==="numbered")Q=Q===null?Math.max(1,$.start??1):Q+1,J.set($.id,Q);else Q=null;return J}function y7(Z){let J=!0;for(let Q of Z){if(Q.type==="numbered")if(J){if((Q.start??1)<=1)delete Q.start;J=!1}else delete Q.start;else J=!0;if(Q.children)y7(Q.children)}}function P7(Z){return w7(Z,0,!0).join(`
94
+ `)}function w7(Z,J,Q){let $=G8(Z.filter((G)=>!n9(G))),X=[],q=null,W=0;for(let G of Z){if(n9(G)){if(X.length)W++;continue}if(!v7(G))continue;if(X.length){let K=x$(q,G)||W>0?1:0;for(let H=0;H<K+W;H++)X.push("")}X.push(...N7(G,J,$.get(G.id)??1)),q=G,W=0}if(X.length&&W>0)for(let G=0;G<W+(Q?1:0);G++)X.push("");return X}function H8(Z,J){if(J===" "){if(Z==="# ")return{type:"h1",content:""};if(Z==="## ")return{type:"h2",content:""};if(Z==="### ")return{type:"h3",content:""};if(Z==="> ")return{type:"quote",content:""};if(/^[-*+] $/.test(Z))return{type:"bullet",content:""};let $=Z.match(/^(\d+)[.)] $/);if($)return{type:"numbered",content:"",start:parseInt($[1],10)};let X=Z.match(/^[-*+]\s+\[([ xX])\]\s*$/);if(X)return{type:"todo",content:"",checked:X[1].toLowerCase()==="x"};return null}let Q=Z.match(/^```([A-Za-z0-9_+.#-]*)$/);if(Q)return{type:"code",content:"",lang:K8(Q[1]??"")};return null}function C7(Z){let J=Z.match(/^\[([ xX])\]$/);return J?{checked:J[1].toLowerCase()==="x"}:null}function O7(Z,J,Q){let $=[],X=J,q=0;while(X<Z.length){let W=Z[X];if(W.trim()===""){let K=X;while(K<Z.length&&Z[K].trim()==="")K++;if(K>=Z.length||w9(Z[K])<Q)break;q+=K-X,X=K;continue}if(w9(W)<Q)break;if($.length&&q>1)for(let K=1;K<q;K++)$.push({id:t0(),type:"p",content:""});q=0;let G=_$(Z,X,Q)??R$(Z,X,Q)??A$(Z,X,Q);$.push(G.block),X=G.next}return{blocks:$,next:X}}function _$(Z,J,Q){let $=M7(Z[J],Q);if(!$)return null;let X={id:t0(),type:$.type,content:$.content};if($.type==="todo")X.checked=!!$.checked;if($.type==="numbered"&&$.num!=null)X.start=$.num;let q=O7(Z,J+1,$.indent+2);if(q.blocks.length)X.children=q.blocks;return{block:X,next:q.next}}function A$(Z,J,Q){let $=Q9(Z[J],Q),X=$.match(H9.fenceOpen);if(X){let W=M$(Z,J,Q,X);if(W)return W}if(H9.divider.test($.trim()))return{block:{id:t0(),type:"divider",content:""},next:J+1};let q=$.match(H9.h);if(q)return{block:{id:t0(),type:`h${q[1].length}`,content:q[2]},next:J+1};if(H9.quote.test($))return N$(Z,J,Q);return f$(Z,J,Q)}function M$(Z,J,Q,$){let X=$[1],q=[],W=J+1,G=!1;for(;W<Z.length;W++){let K=Z[W],H=Q9(K,Q);if(j$(H,X[0],X.length)){G=!0,W++;break}q.push(H)}if(!G)return null;return{block:{id:t0(),type:"code",content:q.join(`
95
+ `),lang:K8($[2]??"")},next:W}}function N$(Z,J,Q){let $=[],X=J;for(;X<Z.length;X++){let q=Z[X];if(q.trim()===""||w9(q)<Q)break;let W=Q9(q,Q).match(H9.quote);if(!W)break;$.push(W[1]??"")}return{block:{id:t0(),type:"quote",content:$.join(`
96
+ `)},next:X}}var v$=/^\s*:?-+:?\s*$/;function _7(Z,J,Q){let $=Z[J],X=Z[J+1];if($==null||X==null)return!1;if(w9($)<Q||w9(X)<Q)return!1;let q=Q9($,Q),W=Q9(X,Q);if(!q.includes("|")||!W.includes("|"))return!1;let G=tZ(W);return G.length>0&&G.every((K)=>v$.test(K))}function tZ(Z){let J=[],Q="";for(let $=0;$<Z.length;$++){let X=Z[$];if(X==="\\"&&Z[$+1]==="|"){Q+="|",$++;continue}if(X==="|"){J.push(Q),Q="";continue}Q+=X}if(J.push(Q),J.length&&J[0].trim()==="")J.shift();if(J.length&&J[J.length-1].trim()==="")J.pop();return J.map(($)=>$.trim())}function k$(Z){let J=Z.trim(),Q=J.startsWith(":"),$=J.endsWith(":");if(Q&&$)return"center";if($)return"right";if(Q)return"left";return null}function q8(Z,J){let Q=Z.slice(0,J);while(Q.length<J)Q.push("");return Q}function R$(Z,J,Q){if(!_7(Z,J,Q))return null;let $=tZ(Q9(Z[J],Q)),X=Math.max(1,$.length),q=tZ(Q9(Z[J+1],Q)).map(k$),W=[q8($,X)],G=J+2;for(;G<Z.length;G++){let K=Z[G];if(K.trim()===""||w9(K)<Q)break;let H=Q9(K,Q);if(!H.includes("|"))break;W.push(q8(tZ(H),X))}while(q.length<X)q.push(null);return q.length=X,{block:{id:t0(),type:"table",content:"",rows:W,align:q},next:G}}function T$(Z){switch(Z){case"left":return":---";case"center":return":---:";case"right":return"---:";default:return"---"}}function V$(Z,J){let Q=" ".repeat(J),$=Z.rows??[],X=Math.max(1,...$.map((F)=>F.length)),q=Z.align??[],W=(F)=>F.replace(/\|/g,"\\|").replace(/\n/g," "),G=(F)=>`${Q}| ${q8(F,X).map(W).join(" | ")} |`,K=`${Q}| ${Array.from({length:X},(F,Y)=>T$(q[Y]??null)).join(" | ")} |`,H=$[0]??Array.from({length:X},()=>"");return[G(H),K,...$.slice(1).map(G)]}var A7=/^\\*(?:`{3,}|~{3,})/;function S$(Z){return A7.test(Z)?`\\${Z}`:Z}function I$(Z){return Z.startsWith("\\")&&A7.test(Z.slice(1))?Z.slice(1):Z}function f$(Z,J,Q){let $=[],X=J;for(;X<Z.length;X++){let q=Z[X];if(q.trim()===""||w9(q)<Q)break;if($.length&&(b$(q,Q)||_7(Z,X,Q)))break;$.push(I$(Q9(q,Q)))}return{block:{id:t0(),type:"p",content:$.join(`
97
+ `)},next:X}}function b$(Z,J){if(M7(Z,J))return!0;let Q=Q9(Z,J);return!!Q.match(H9.fenceOpen)||!!Q.match(H9.h)||H9.divider.test(Q.trim())||H9.quote.test(Q)}function M7(Z,J){let Q=w9(Z);if(Q<J)return null;let $=Q9(Z,Q),X=$.match(/^[-*+]\s+\[([ xX])\]\s*(.*)$/);if(X)return{indent:Q,type:"todo",checked:X[1].toLowerCase()==="x",content:X[2]};if(X=$.match(/^(\d+)[.)](?:\s+(.*))?$/),X)return{indent:Q,type:"numbered",content:X[2]??"",num:parseInt(X[1],10)};if(X=$.match(/^[-*+](?:\s+(.*))?$/),X)return{indent:Q,type:"bullet",content:X[1]??""};return null}function N7(Z,J,Q){let $=" ".repeat(J);switch(Z.type){case"h1":return[`${$}# ${Z.content}`];case"h2":return[`${$}## ${Z.content}`];case"h3":return[`${$}### ${Z.content}`];case"bullet":case"numbered":case"todo":return g$(Z,J,Q);case"quote":return Z.content.split(`
98
+ `).map((X)=>`${$}>${X?` ${X}`:""}`);case"code":{let X=`${$}\`\`\`${Z.lang?K8(Z.lang):""}`,q=Z.content.split(`
99
+ `).map((W)=>`${$}${W}`);return[X,...q,`${$}\`\`\``]}case"table":return V$(Z,J);case"divider":return[`${$}---`];default:return Z.content.split(`
100
+ `).map((X)=>`${$}${S$(X)}`)}}function g$(Z,J,Q){let $=" ".repeat(J),X=Z.type==="numbered"?`${Q}. `:Z.type==="todo"?`- [${Z.checked?"x":" "}] `:"- ",q=[`${$}${X}${Z.content}`],W=Z.children??[],G=W.find((K)=>!n9(K)&&v7(K));if(G){if(!l0(G.type)&&Z.content.trim()!=="")q.push("");q.push(...w7(W,J+2,!1))}return q}function x$(Z,J){if(!Z)return!1;return!(l0(Z.type)&&l0(J.type))}function v7(Z){if(Z.type==="divider")return!0;if(l0(Z.type))return!0;if(Z.type==="code")return Z.content.trim()!==""||!!Z.lang?.trim();if(Z.type==="table")return(Z.rows??[]).some((J)=>J.some((Q)=>Q.trim()!==""));return Z.content.trim()!==""}function w9(Z){let J=0;for(let Q of Z)if(Q===" ")J++;else if(Q==="\t")J+=4;else break;return J}function Q9(Z,J){let Q=0,$=0;for(;$<Z.length&&Q<J;$++){let X=Z[$];if(X===" ")Q++;else if(X==="\t")Q+=4;else break}return Z.slice($)}function j$(Z,J,Q){let $=Z.trim();if(!$||$[0]!==J)return!1;for(let X of $)if(X!==J)return!1;return $.length>=Q}function K8(Z){return Z.trim().replace(/[^A-Za-z0-9_+.#-]/g,"")}var F8=[{id:"",label:"纯文本"},{id:"bash",label:"Bash"},{id:"shell",label:"Shell"},{id:"javascript",label:"JavaScript"},{id:"typescript",label:"TypeScript"},{id:"json",label:"JSON"},{id:"python",label:"Python"},{id:"go",label:"Go"},{id:"rust",label:"Rust"},{id:"java",label:"Java"},{id:"c",label:"C"},{id:"cpp",label:"C++"},{id:"csharp",label:"C#"},{id:"sql",label:"SQL"},{id:"yaml",label:"YAML"},{id:"xml",label:"HTML / XML"},{id:"css",label:"CSS"},{id:"scss",label:"SCSS"},{id:"markdown",label:"Markdown"},{id:"php",label:"PHP"},{id:"ruby",label:"Ruby"},{id:"swift",label:"Swift"},{id:"kotlin",label:"Kotlin"},{id:"objectivec",label:"Objective-C"},{id:"perl",label:"Perl"},{id:"lua",label:"Lua"},{id:"makefile",label:"Makefile"},{id:"ini",label:"INI / TOML"},{id:"diff",label:"Diff"}],Y8=[{type:"p",ic:"text",t:"文本",d:"普通段落"},{type:"h1",ic:"heading",t:"标题 1",d:"大号标题"},{type:"h2",ic:"heading",t:"标题 2",d:"中号标题"},{type:"h3",ic:"heading",t:"标题 3",d:"小号标题"},{type:"bullet",ic:"list",t:"无序列表",d:"项目符号"},{type:"numbered",ic:"numList",t:"有序列表",d:"编号列表"},{type:"todo",ic:"checkbox",t:"待办清单",d:"复选项"},{type:"quote",ic:"quote",t:"引用",d:"引用块"},{type:"code",ic:"code",t:"代码",d:"代码块"},{type:"table",ic:"table",t:"表格",d:"插入表格"},{type:"divider",ic:"minus",t:"分隔线",d:"水平分隔"}];function j0(Z,J,Q=null){for(let $=0;$<Z.length;$++){let X=Z[$];if(X.id===J)return{block:X,parent:Z,index:$,parentBlock:Q};let q=X.children?j0(X.children,J,X):null;if(q)return q}return null}function U8(Z){let J=0;for(let Q of Z)J+=1+U8(Q.children??[]);return J}function eZ(Z){return{...Z,id:t0(),children:Z.children?.map(eZ)}}function B8(Z,J){for(let Q of Z??[])if(Q.id===J||B8(Q.children,J))return!0;return!1}function s0(Z,J=[]){for(let Q of Z)if(J.push(Q),Q.children)s0(Q.children,J);return J}function KZ(Z,J){let Q=null,$=null,X=(q)=>{for(let W of q){if(W.id===J){$=Q;return}if(Q=W,W.children)X(W.children);if($)return}};return X(Z),$}function L8(Z,J){let Q=s0(Z),$=Q.findIndex((X)=>X.id===J);return $>=0&&$+1<Q.length?Q[$+1]:null}function Z1(Z,J){let Q=j0(Z,J);if(!Q)return null;let[$]=Q.parent.splice(Q.index,1);if(Q.parent.length===0&&Q.parentBlock)delete Q.parentBlock.children;return $??null}function k7(Z,J,Q,$){if(J===Q)return!1;let X=j0(Z,J),q=j0(Z,Q);if(!X||!q||B8(X.block.children,Q))return!1;let W=X.parent.splice(X.index,1)[0],G=j0(Z,Q);if(!G)return X.parent.splice(X.index,0,W),!1;if(X.parent.length===0&&X.parentBlock)delete X.parentBlock.children;return G.parent.splice(G.index+($==="after"?1:0),0,W),!0}function y8(Z,J){let Q=j0(Z,J);if(!Q||Q.index===0)return!1;let $=Q.parent[Q.index-1];if(!l0($.type))return!1;let X=Q.parent.splice(Q.index,1)[0];return $.children??=[],$.children.push(X),!0}function P8(Z,J){let Q=j0(Z,J);if(!Q?.parentBlock)return!1;let $=j0(Z,Q.parentBlock.id);if(!$)return!1;let X=Q.parent.splice(Q.index);if(!X.length)return!1;if(Q.parent.length===0)delete Q.parentBlock.children;return $.parent.splice($.index+1,0,...X),!0}function r9(Z,J){let Q=new Set(J),$=[],X=(q,W)=>{for(let G of q){let K=Q.has(G.id);if(K&&!W)$.push(G.id);if(G.children)X(G.children,W||K)}};return X(Z,!1),$}function R7(Z,J,Q){let $=s0(Z),X=$.findIndex((K)=>K.id===J),q=$.findIndex((K)=>K.id===Q);if(X<0||q<0)return[];let[W,G]=X<=q?[X,q]:[q,X];return $.slice(W,G+1).map((K)=>K.id)}function T7(Z,J){if(!J.length)return null;let Q=new Set(J),$=s0(Z),X=$.findIndex((W)=>Q.has(W.id));if(X<0)return null;let q=null;for(let W=X-1;W>=0;W--)if(!Q.has($[W].id)){q=$[W].id;break}if(!q){for(let W=X+1;W<$.length;W++)if(!Q.has($[W].id)){q=$[W].id;break}}for(let W of r9(Z,J))Z1(Z,W);if(q&&!j0(Z,q))q=null;return q??s0(Z)[0]?.id??null}function V7(Z,J){let Q=r9(Z,J);if(!Q.length)return[];let $=[];for(let q of Q){let W=j0(Z,q);if(W)$.push(eZ(W.block))}let X=j0(Z,Q[Q.length-1]);if(!X||!$.length)return[];return X.parent.splice(X.index+1,0,...$),$.map((q)=>q.id)}function S7(Z,J,Q,$){let X=r9(Z,J);if(!X.length||X.includes(Q))return!1;for(let G of X){let K=j0(Z,G);if(K&&B8(K.block.children,Q))return!1}let q=[];for(let G of X){let K=Z1(Z,G);if(K)q.push(K)}let W=j0(Z,Q);if(!W)return Z.push(...q),!1;return W.parent.splice(W.index+($==="after"?1:0),0,...q),!0}function I7(Z,J){return r9(Z,J).map((Q)=>{let $=j0(Z,Q);return $?L7($.block):""}).filter(Boolean).join(`
101
+ `)}function f7(Z,J){let Q=[];for(let $ of r9(Z,J))if(y8(Z,$))Q.push($);return Q}function b7(Z,J){let Q=[];for(let $ of r9(Z,J))if(P8(Z,$))Q.push($);return Q}function FZ(Z){return Z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}var g7=String.fromCharCode(57344),x7=String.fromCharCode(57345),D$=new RegExp(g7+"(\\d+)"+x7,"g");function YZ(Z){let J=[],Q=Z.replace(/`([^`]+)`/g,($,X)=>{return J.push(X),g7+(J.length-1)+x7});return Q=FZ(Q),Q=Q.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,($,X,q)=>{return`<a href="${String(q).replace(/"/g,"&quot;")}" target="_blank" rel="noreferrer">${X}</a>`}),Q=Q.replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>"),Q=Q.replace(/(^|[^*])\*([^*\n]+)\*/g,"$1<em>$2</em>"),Q=Q.replace(/\n/g,"<br>"),Q=Q.replace(D$,($,X)=>`<code>${FZ(J[+X]??"")}</code>`),Q}function V9(Z){let J=document.createElement("div");return J.innerHTML=Z,j7(J).replace(/\n{3,}/g,`
102
+
103
+ `).replace(/\n$/,"")}function j7(Z){let J="";return Z.childNodes.forEach((Q)=>{if(Q.nodeType===Node.TEXT_NODE){J+=(Q.textContent??"").replace(/\u00a0/g," ");return}if(!(Q instanceof HTMLElement))return;let $=Q.tagName.toLowerCase(),X=j7(Q);if($==="br")J+=`
104
+ `;else if($==="strong"||$==="b")J+=X?`**${X}**`:"";else if($==="em"||$==="i")J+=X?`*${X}*`:"";else if($==="code")J+=X?"`"+X+"`":"";else if($==="a"){let q=Q.getAttribute("href")||"";J+=q?`[${X}](${q})`:X}else if($==="div"||$==="p")J+=(J&&!J.endsWith(`
104
105
  `)?`
105
- `:"")+q;else J+=q}),J}function r3(Z,J){let Q;try{Q=J&&CZ.getLanguage(J)?CZ.highlight(Z,{language:J,ignoreIllegals:!0}).value:CZ.highlightAuto(Z).value}catch{Q=kZ(Z)}return Z.endsWith(`
106
+ `:"")+X;else J+=X}),J}function h7(){return typeof CSS<"u"&&!!CSS.highlights&&typeof globalThis.Highlight==="function"}function J1(Z){return/[A-Za-z0-9_]/.test(Z)}function h$(Z,J,Q){let $=Z[J]??"",X=Z[Q-1]??"",q=J>0?Z[J-1]:"",W=Q<Z.length?Z[Q]:"",G=!J1($)||!J1(q),K=!J1(X)||!J1(W);return G&&K}function w8(Z,J,Q){let $=[];if(!J)return $;let X=Q.caseSensitive?Z:Z.toLowerCase(),q=Q.caseSensitive?J:J.toLowerCase(),W=0;for(;;){let G=X.indexOf(q,W);if(G<0)break;let K=G+q.length;if(!Q.wholeWord||h$(Z,G,K))$.push([G,K]);W=K>G?K:G+1}return $}function D7(Z,J,Q){for(let $=Z.length-1;$>=0;$--)if(Q>=J[$])return{node:Z[$],offset:Q-J[$]};return null}function m7(Z,J,Q){let $=[];if(!J)return $;let X=Array.from(Z.querySelectorAll(".doc-title, .editable, .doc-td, pre.code-hl > code.hljs"));for(let q of X){let W=[],G=document.createTreeWalker(q,NodeFilter.SHOW_TEXT),K;while(K=G.nextNode())W.push(K);if(!W.length)continue;let H="",F=[];for(let Y of W)F.push(H.length),H+=Y.data;for(let[Y,C]of w8(H,J,Q)){let L=D7(W,F,Y),B=D7(W,F,C);if(!L||!B)continue;let M=document.createRange();M.setStart(L.node,L.offset),M.setEnd(B.node,B.offset),$.push(M)}}return $}function u7(Z,J){if(!h7())return;let Q=globalThis.Highlight,$=CSS.highlights;if(Z.length)$.set("mh-find-all",new Q(...Z));else $.delete("mh-find-all");if(J){let X=new Q(J);X.priority=1,$.set("mh-find-current",X)}else $.delete("mh-find-current")}function Q1(){if(!h7())return;let Z=CSS.highlights;Z.delete("mh-find-all"),Z.delete("mh-find-current")}function m$(Z,J){let Q;try{Q=J&&rZ.getLanguage(J)?rZ.highlight(Z,{language:J,ignoreIllegals:!0}).value:rZ.highlightAuto(Z).value}catch{Q=FZ(Z)}return Z.endsWith(`
106
107
  `)?Q+`
107
- `:Q}function VZ({docId:Z,onTitleChange:J,onError:Q,onModeChange:$,onHandle:q}){let X=U0([]),W=U0(""),G=U0(null),F=U0(""),[H,Y]=D("blocks"),[K,w]=D(0),[y,B]=D(!0),[A,v]=D(null),f=U0(null),[I,P]=D(null),[L,_]=D(null),C=U0(),g=U0({past:[],future:[],present:null,lastKey:null,lastTime:0}),T=()=>({blocks:structuredClone(X.current),title:F.current,focusId:$z()}),u=(U)=>{let O=g.current;if(!O.present){O.present=T(),O.lastKey=U,O.lastTime=Date.now();return}let i=Date.now();if(U&&U===O.lastKey&&i-O.lastTime<600){O.present=T(),O.lastTime=i;return}if(O.past.push(O.present),O.past.length>200)O.past.shift();O.present=T(),O.future=[],O.lastKey=U,O.lastTime=i},c=(U)=>{if(X.current=structuredClone(U.blocks),F.current=U.title,_(null),w((O)=>O+1),h(),U.focusId)requestAnimationFrame(()=>T0(U.focusId,!0))},n=()=>{let U=g.current;if(!U.past.length)return;if(U.present)U.future.push(U.present);let O=U.past.pop();U.present=O,U.lastKey=null,c(O)},d=()=>{let U=g.current;if(!U.future.length)return;if(U.present)U.past.push(U.present);let O=U.future.pop();U.present=O,U.lastKey=null,c(O)},x=()=>{u(null),w((U)=>U+1)};Y0(()=>{return B(!0),v(null),g.current={past:[],future:[],present:null,lastKey:null,lastTime:0},a.getDocument(Z).then((U)=>{F.current=U.title??"",W.current=U.body??"",X.current=vZ(U.body),B(!1),x()}).catch((U)=>Q(String(U.message))),()=>clearTimeout(C.current)},[Z]);let h=()=>{clearTimeout(C.current),C.current=setTimeout(R,700)},K0=()=>{if(H==="source")return W.current=G.current?.value??W.current,W.current;return B9(X.current),z1(X.current)},R=()=>a.updateDocument(Z,{title:F.current,body:K0()}).then(()=>J()).catch((U)=>Q(String(U.message))),k=async()=>{clearTimeout(C.current),await R()},b=(U)=>{if(U===H)return;if(U==="source"){W.current=K0(),v(null),P(null),_(null),Y("source"),$?.("source"),requestAnimationFrame(()=>{if(G.current)G.current.value=W.current,M1(G.current),G.current.focus()});return}W.current=G.current?.value??W.current,X.current=vZ(W.current),Y("blocks"),$?.("blocks"),w((O)=>O+1),requestAnimationFrame(()=>{let O=J9(X.current)[0];if(O)T0(O.id)})};Y0(()=>{return q?.({getMode:()=>H,setMode:b,snapshotMarkdown:K0,flushSave:k}),()=>q?.(null)},[q,H]);let M=X.current,Z0=L?Y1(M,L.anchorId,L.focusId):[],J0=(U,O="p",i={})=>{let V=V8(O,i);if(!U)M.push(V);else{let m=I0(M,U);if(m)m.parent.splice(m.index+1,0,V);else M.push(V)}return x(),requestAnimationFrame(()=>T0(V.id)),h(),V},Q0=(U,O,i={})=>{let m=I0(M,U)?.block;if(!m)return;let $0=p0(O)?m.children:void 0;if(m.type=O,m.content=i.content??"",O==="todo")m.checked=i.checked??!1;else delete m.checked;if(O==="code")m.lang=i.lang??"";else delete m.lang;if(O==="numbered"&&i.start!=null&&i.start>1)m.start=i.start;else delete m.start;if(O==="table")m.rows=i.rows?i.rows.map((X0)=>[...X0]):k1(),m.align=i.align?[...i.align]:Array(m.rows[0].length).fill(null);else delete m.rows,delete m.align;if($0?.length)m.children=$0;else delete m.children;if(x(),O!=="divider"&&O!=="table")requestAnimationFrame(()=>T0(U));h()},H0=(U)=>{if(!MZ(M,U))return;x(),h()},k0=(U,O)=>{U.content=i9(U,O),u("text:"+U.id);let i=O.textContent??"";if(i.startsWith("/")){let V=Wz();v((m)=>({blockId:U.id,x:V.x,y:V.y,query:i.slice(1),idx:m?.blockId===U.id?m.idx:0}))}else if(A)v(null);h()},y0=(U,O,i)=>{let V=U.clipboardData?.getData("text/html"),$0=(V?Z1(V):U.clipboardData?.getData("text/plain")??"").replace(/\r\n?/g,`
108
- `);if(!$0.trim())return;U.preventDefault();let X0=vZ($0);if(!X0.length)return;let b0=I0(M,O.id);if(!b0)return;let{before:D0,after:a0}=I8(i);if(X0.length===1&&X0[0].type==="p"&&(D0.trim()!==""||a0.trim()!=="")){O.content=D0+X0[0].content+a0;let c1=v1(D0+X0[0].content);x(),h(),requestAnimationFrame(()=>_1(O.id,c1));return}let H9=[...X0],r9=a0.trim()!==""?V8("p",{content:a0}):null;if(r9)H9.push(r9);if(D0.trim()===""&&!b0.block.children?.length)b0.parent.splice(b0.index,1,...H9);else O.content=D0,b0.parent.splice(b0.index+1,0,...H9);x(),h();let p1=r9??H9[H9.length-1];requestAnimationFrame(()=>T0(p1.id,!r9))},N=A?v8.filter((U)=>(U.t+U.type+U.d).toLowerCase().includes(A.query.toLowerCase())):[],j=(U)=>{if(!A)return;Q0(A.blockId,U.type),v(null)},r=(U,O)=>{Q0(U.id,O.type,O),v(null)},t=(U,O)=>{U.content="",U.children??=[];let i=V8(O.type,O);U.children.unshift(i),v(null),x(),requestAnimationFrame(()=>T0(i.id)),h()},W0=(U)=>{if(B9(M),!k8(M,U))return;x(),requestAnimationFrame(()=>T0(U)),h()},C0=(U)=>{if(B9(M),!NZ(M,U))return;x(),requestAnimationFrame(()=>T0(U)),h()},q0=(U)=>{let O=U==="createLink"?prompt("链接地址"):null;if(U==="createLink"&&!O)return;if(U==="code")Jz();else document.execCommand(U,!1,O??void 0);qz(M),h(),f8(P)},p=()=>_(null),l=()=>{let U=J9(M);if(!U.length)return;fZ(),_({anchorId:U[0].id,focusId:U[U.length-1].id})},f0=(U)=>{B9(M);let O=U1(M,U);if(p(),x(),O)requestAnimationFrame(()=>T0(O,!0));h()},B0=(U,O)=>{if(B9(M),!(O==="indent"?w1(M,U):P1(M,U)).length)return;x(),h()},n0=(U)=>{B9(M);let O=y1(M,U);if(O.length)_({anchorId:O[0],focusId:O[O.length-1]});x(),h()},z0=(U)=>{let O=L1(M,U);if(O)navigator.clipboard?.writeText(O).catch(()=>{})},W9=(U)=>{if(U.target?.closest?.(".doc-source"))return;let i=U.metaKey||U.ctrlKey;if(i&&(U.key==="z"||U.key==="Z")){if(U.preventDefault(),U.shiftKey)d();else n();return}if(i&&U.key==="y"){U.preventDefault(),d();return}if(!L)return;let V=Z0;if(!V.length)return;if(U.key==="Escape"){U.preventDefault();let m=L.anchorId;p(),T0(m,!0);return}if(U.key==="Tab"){U.preventDefault(),B0(V,U.shiftKey?"outdent":"indent");return}if(U.key==="Backspace"||U.key==="Delete"){U.preventDefault(),f0(V);return}if(i&&U.key==="d"){U.preventDefault(),n0(V);return}if(i&&(U.key==="c"||U.key==="x")){if(U.preventDefault(),z0(V),U.key==="x")f0(V);return}if(i&&U.key==="a"){U.preventDefault(),l();return}if(U.key==="ArrowDown"||U.key==="ArrowUp"){U.preventDefault();let m=J9(M),$0=m.findIndex((X0)=>X0.id===L.focusId);if($0<0)return;if(U.shiftKey){let X0=U.key==="ArrowDown"?Math.min($0+1,m.length-1):Math.max($0-1,0);_({anchorId:L.anchorId,focusId:m[X0].id})}else{let X0=U.key==="ArrowDown"?V[V.length-1]:V[0];p(),T0(X0,U.key==="ArrowDown")}return}if(U.key.length===1&&!i){let m=V[V.length-1];p(),T0(m,!0)}},V0=U0(null),v0=(U)=>{if(U.button!==0)return;let O=U.target;if(O.closest(".gutter")||O.closest(".pop")||O.closest(".doc-col-resizer")||O.closest("input, button, select, a"))return;let V=zz(U.target)?.getAttribute("data-bid")??null;if(!V){let $0=O.classList.contains("doc")?O:null;if(H==="blocks"&&$0){let X0=$0.querySelectorAll(".block"),b0=X0.length?X0[X0.length-1]:$0.querySelector(".doc-meta"),D0=b0?b0.getBoundingClientRect().bottom:0;if(U.clientY>D0){U.preventDefault();let a0=M[M.length-1];if(a0&&k9(a0))T0(a0.id,!0);else J0(null);return}}p();return}if(U.shiftKey&&L){U.preventDefault(),fZ(),_({anchorId:L.anchorId,focusId:V});return}if(!!O.closest(".editable, .code-input, .doc-td")){if(V0.current={anchorId:V,started:!1,sx:U.clientX,sy:U.clientY,mode:"text"},L)p()}else U.preventDefault(),fZ(),_({anchorId:V,focusId:V}),V0.current={anchorId:V,started:!0,sx:U.clientX,sy:U.clientY,mode:"block"}};Y0(()=>{let U=(i)=>{let V=V0.current;if(!V)return;let $0=document.elementFromPoint(i.clientX,i.clientY)?.closest(".block[data-bid]")?.getAttribute("data-bid")??null;if(V.mode==="text"){if($0&&$0!==V.anchorId)V.mode="block",fZ(),_({anchorId:V.anchorId,focusId:$0});return}if(!V.started&&Math.abs(i.clientX-V.sx)+Math.abs(i.clientY-V.sy)<4)return;if(V.started=!0,b8(!0),$0)_({anchorId:V.anchorId,focusId:$0})},O=()=>{V0.current=null,b8(!1)};return window.addEventListener("mousemove",U),window.addEventListener("mouseup",O),()=>{window.removeEventListener("mousemove",U),window.removeEventListener("mouseup",O)}},[]);let G9=U0(W9);G9.current=W9,Y0(()=>{let U=(O)=>G9.current(O);return document.addEventListener("keydown",U,!0),()=>document.removeEventListener("keydown",U,!0)},[]),Y0(()=>{if(!A)return;f.current?.querySelector(".item.sel")?.scrollIntoView({block:"nearest"})},[A?.idx,A?.blockId]),Y0(()=>{if(!A)return;let U=()=>v(null);return document.addEventListener("focusout",U),()=>document.removeEventListener("focusout",U)},[!!A]);let s0=(U,O,i)=>{if(A&&A.blockId===O.id){if(U.key==="ArrowDown"){U.preventDefault(),v({...A,idx:Math.min(A.idx+1,N.length-1)});return}if(U.key==="ArrowUp"){U.preventDefault(),v({...A,idx:Math.max(A.idx-1,0)});return}if(U.key==="Enter"){U.preventDefault();let V=N[A.idx];if(V)j(V);return}if(U.key==="Escape"){v(null);return}}if((U.metaKey||U.ctrlKey)&&(U.key==="a"||U.key==="A")){if(Hz(i))U.preventDefault(),l();return}if(U.key==="Tab"){U.preventDefault(),(U.shiftKey?C0:W0)(O.id);return}if((U.key==="ArrowUp"||U.key==="ArrowDown")&&!U.shiftKey&&!R8()){let V=Gz(i);if(U.key==="ArrowUp"&&V.first){let m=E9(M,O.id);if(m){U.preventDefault(),T0(m.id,!0);return}}else if(U.key==="ArrowDown"&&V.last){let m=N8(M,O.id);if(m){U.preventDefault(),T0(m.id);return}}}if(U.key===" "&&!R8()&&(O.type==="p"||O.type==="bullet")){let{before:V,after:m}=I8(i);if(O.type==="p"){let $0=C8(V+" "," ");if($0){U.preventDefault(),r(O,{...$0,content:m});return}}else{let $0=q1(V);if($0){U.preventDefault(),Q0(O.id,"todo",{content:m,checked:$0.checked});return}}}if(U.key==="Enter"&&!U.shiftKey&&O.type!=="code"){let V=C8((i.textContent??"").trim(),"Enter");if(V){if(U.preventDefault(),p0(O.type)&&V.type==="code"){t(O,V);return}r(O,V);return}U.preventDefault();let m=(i.textContent??"").trim()==="";if(p0(O.type)&&m&&!(O.children??[]).length){Q0(O.id,"p");return}let{before:$0,after:X0}=I8(i);O.content=$0,J0(O.id,p0(O.type)?O.type:"p",{content:X0})}else if(U.key==="Backspace"){if((i.textContent??"")==="")if(U.preventDefault(),O.type!=="p")Q0(O.id,"p");else{let V=E9(M,O.id);if(V)H0(O.id),requestAnimationFrame(()=>T0(V.id,!0))}else if(!R8()&&Xz(i))if(p0(O.type))U.preventDefault(),Q0(O.id,"p",{content:i9(O,i)});else{let V=E9(M,O.id);if(V&&V.type!=="code"&&V.type!=="table"&&V.type!=="divider"){U.preventDefault();let m=v1(V.content);V.content+=i9(O,i),H0(O.id),requestAnimationFrame(()=>{let $0=document.querySelector(`.block[data-bid="${V.id}"] .editable`);if($0){let X0=p9(V.content);if($0.innerHTML!==X0)$0.innerHTML=X0}_1(V.id,m)})}}}},R9=(U,O,i)=>{let{value:V,selectionStart:m,selectionEnd:$0}=i;if(U.key==="Tab"){if(U.preventDefault(),U.shiftKey){if(B9(M),NZ(M,O.id))x(),requestAnimationFrame(()=>T0(O.id)),h();return}document.execCommand("insertText",!1," ");return}if(U.key==="Enter"&&!U.shiftKey&&m===$0){let X0=V.lastIndexOf(`
109
- `,m-1)+1,b0=V.indexOf(`
110
- `,m),D0=b0===-1,a0=V.slice(X0,D0?void 0:b0).trim()==="";if(D0&&a0)U.preventDefault(),O.content=V.replace(/\n[ \t]*$/,""),J0(O.id,"p");return}if(U.key==="ArrowDown"&&m===$0&&V.indexOf(`
111
- `,m)===-1){U.preventDefault();let X0=N8(M,O.id);if(X0)T0(X0.id);else J0(O.id,"p");return}if(U.key==="ArrowUp"&&m===$0&&V.lastIndexOf(`
112
- `,m-1)===-1){U.preventDefault();let X0=E9(M,O.id);if(X0)T0(X0.id,!0);return}if(U.key==="Backspace"&&V===""){U.preventDefault();let X0=I0(M,O.id),b0=X0?.parentBlock;if(X0&&b0&&p0(b0.type)&&b0.content.trim()===""){if(X0.parent.splice(X0.index,1),X0.parent.length===0)delete b0.children;x(),requestAnimationFrame(()=>T0(b0.id)),h();return}Q0(O.id,"p")}},I9=(U,O)=>{U.stopPropagation(),O0(U,(i)=>z(s,{children:[z(g0,{children:"转换为"},void 0,!1,void 0,this),v8.filter((V)=>V.type!=="divider").map((V)=>z(e,{icon:V.ic,label:V.t,checked:O.type===V.type,onClick:()=>{Q0(O.id,V.type),i()}},V.type,!1,void 0,this)),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"copy",label:"复制块",onClick:()=>{let V=I0(M,O.id);if(V)V.parent.splice(V.index+1,0,_Z(O));x(),h(),i()}},void 0,!1,void 0,this),z(e,{icon:"trash",label:"删除块",danger:!0,onClick:()=>{H0(O.id),i()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},E=U0(null);if(y)return z("div",{class:"empty",children:"加载中…"},void 0,!1,void 0,this);let o=new Set(Z0),G0=(U,O=0)=>{let i=P8(U.filter((V)=>!k9(V)));return U.map((V)=>z(l3,{renderKey:K,block:V,depth:O,selected:o.has(V.id),number:V.type==="numbered"?i.get(V.id)??1:0,onInput:(m)=>k0(V,m),onPaste:(m,$0)=>y0(m,V,$0),onLangInput:(m)=>{V.lang=m,x(),h()},onKeyDown:(m,$0)=>s0(m,V,$0),onCodeInput:(m)=>{V.content=m,u("text:"+V.id),h()},onCodeKeyDown:(m,$0)=>R9(m,V,$0),onCellInput:(m,$0,X0)=>{if(!V.rows?.[m])return;V.rows[m][$0]=X0,u("table:"+V.id+":"+m+":"+$0),h()},onTableChange:()=>{x(),h()},onAdd:()=>J0(V.id),onMenu:(m)=>I9(m,V),onToggle:()=>{V.checked=!V.checked,x(),h()},dragRef:E,onReorder:(m,$0)=>{let X0=Z0;if(X0.length>1&&X0.includes(m)?B1(M,X0,V.id,$0):K1(M,m,V.id,$0))x(),h()},children:V.children?.length?G0(V.children,O+1):null},V.id,!1,void 0,this))};return z("div",{class:"doc"+(H==="source"?" source-mode":""),onMouseDown:(U)=>v0(U),onMouseUp:()=>f8(P),onKeyUp:(U)=>{if(U.shiftKey||U.key.startsWith("Arrow"))f8(P)},children:[z("div",{class:"doc-title",contentEditable:!0,onInput:(U)=>{F.current=U.target.textContent??"",u("title"),h()},onBlur:()=>{J()},onKeyDown:(U)=>{if(U.key==="Enter")if(U.preventDefault(),!M.length)J0(null);else T0(M[0].id)},dangerouslySetInnerHTML:{__html:F.current}},void 0,!1,void 0,this),z("div",{class:"doc-meta",children:[z("span",{children:[z(S,{name:"file",cls:"ico sm"},void 0,!1,void 0,this),_8(M)," 个块"]},void 0,!0,void 0,this),z("span",{children:"实时同步"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),H==="source"?z("textarea",{ref:G,class:"doc-source",spellcheck:!1,defaultValue:W.current,onInput:(U)=>{let O=U.currentTarget;W.current=O.value,M1(O),h()}},void 0,!1,void 0,this):G0(M),H==="blocks"&&M.length===0&&z("div",{class:"editable",style:{color:"var(--muted)",cursor:"text"},onClick:()=>J0(null),children:"点此书写,或输入 “/” 选择块类型…"},void 0,!1,void 0,this),A&&N.length>0&&(()=>{let i=innerHeight-(A.y+22)-8,V=A.y-8,m=i>=240||i>=V,$0=Math.min(A.x,innerWidth-270),X0=Math.min(m?i:V,Math.round(innerHeight*0.7)),b0=m?{left:$0,top:A.y+22,maxHeight:X0,minWidth:260}:{left:$0,bottom:innerHeight-A.y+6,maxHeight:X0,minWidth:260};return z("div",{class:"pop",style:b0,ref:f,children:[z(g0,{children:"基础块"},void 0,!1,void 0,this),N.map((D0,a0)=>z("button",{class:"item"+(a0===A.idx?" sel":""),onMouseDown:(H9)=>{H9.preventDefault(),j(D0)},children:[z("span",{class:"lico",children:z(S,{name:D0.ic,cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"meta",children:[z("span",{class:"t",children:D0.t},void 0,!1,void 0,this),z("span",{class:"d",children:D0.d},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},D0.type,!0,void 0,this))]},void 0,!0,void 0,this)})(),I&&!L&&z(Zz,{x:I.x,y:I.y,onCommand:q0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function l3({block:Z,number:J,depth:Q,renderKey:$,selected:q,onInput:X,onPaste:W,onLangInput:G,onKeyDown:F,onCodeInput:H,onCodeKeyDown:Y,onCellInput:K,onTableChange:w,onAdd:y,onMenu:B,onToggle:A,dragRef:v,onReorder:f,children:I}){let P=U0(null);Y0(()=>{if(P.current&&Z.type!=="code"){let C=p9(Z.content);if(P.current.innerHTML!==C)P.current.innerHTML=C}},[$,Z.type]);let L=p0(Z.type)&&Z.content.trim()===""&&Z.children?.[0]?.type==="code",_="block b-"+Z.type+(Z.type==="todo"&&Z.checked?" b-done":"")+(L?" list-code-host":"")+(q?" selected":"");return z("div",{class:"block-wrap"+(Q?" nested":""),children:[z("div",{class:_,"data-bid":Z.id,onDragOver:(C)=>{if(v.current&&v.current!==Z.id){if(C.preventDefault(),C.dataTransfer)C.dataTransfer.dropEffect="move";Fz(C.currentTarget,C)}},onDrop:(C)=>{if(!v.current)return;C.preventDefault();let g=C.currentTarget.classList.contains("drop-after")?"after":"before",T=v.current;v.current=null,S8(),f(T,g)},children:[z("div",{class:"gutter",children:[z("button",{title:"在下方插入",onClick:y,children:z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"grip",title:"拖拽移动 · 点击菜单",draggable:!0,onClick:B,onDragStart:(C)=>{if(v.current=Z.id,C.dataTransfer)C.dataTransfer.effectAllowed="move",C.dataTransfer.setData("text/plain",Z.id);C.currentTarget.closest(".block").classList.add("dragging")},onDragEnd:(C)=>{C.currentTarget.closest(".block").classList.remove("dragging"),S8()},children:z(S,{name:"grip",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z.type==="divider"?z("hr",{},void 0,!1,void 0,this):Z.type==="table"?z(s3,{block:Z,renderKey:$,onCellInput:K,onTableChange:w},void 0,!1,void 0,this):z(s,{children:[Z.type==="bullet"&&z("div",{class:"marker",children:"•"},void 0,!1,void 0,this),Z.type==="numbered"&&z("div",{class:"marker",children:[J,"."]},void 0,!0,void 0,this),Z.type==="todo"&&z("div",{class:"marker",children:z("input",{type:"checkbox",checked:!!Z.checked,onChange:A},void 0,!1,void 0,this)},void 0,!1,void 0,this),L?null:Z.type==="code"?z(o3,{block:Z,renderKey:$,onInput:H,onLangChange:G,onKeyDown:Y},void 0,!1,void 0,this):z("div",{ref:P,class:"editable",contentEditable:!0,"data-ph":n3(Z.type),"data-ph-hint":t3(Z.type)?"slash":"kind",onInput:(C)=>X(C.currentTarget),onPaste:(C)=>W(C,C.currentTarget),onKeyDown:(C)=>F(C,C.currentTarget)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),I]},void 0,!0,void 0,this)}var N1={h1:"标题 1",h2:"标题 2",h3:"标题 3",code:"输入代码…",quote:"引用"};function n3(Z){return N1[Z]??"输入文本,“/” 唤出命令"}function t3(Z){return!(Z in N1)}function o3({block:Z,renderKey:J,onInput:Q,onLangChange:$,onKeyDown:q}){let X=U0(null),W=U0(null),G=U0(null),[F,H]=D(!1),Y=(y)=>{if(W.current)W.current.innerHTML=r3(y,Z.lang);if(G.current){let A=y.split(`
113
- `).length,v="1";for(let f=2;f<=A;f++)v+=`
114
- `+f;G.current.textContent=v}let B=X.current;if(B)B.style.height="auto",B.style.height=B.scrollHeight+"px"};Y0(()=>{let y=X.current;if(y&&y.value!==Z.content)y.value=Z.content;Y(Z.content)},[J,Z.lang]);let K=Z.lang??"",w=O8.some((y)=>y.id===K);return z("div",{class:"codeblock",children:[z("div",{class:"code-body",children:[z("div",{ref:G,class:"code-gutter","aria-hidden":"true",children:"1"},void 0,!1,void 0,this),z("div",{class:"code-scroll",children:[z("pre",{class:"code-hl","aria-hidden":"true",children:z("code",{ref:W,class:"hljs"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("textarea",{ref:X,class:"code-input",rows:1,spellcheck:!1,wrap:"off",placeholder:"输入代码…",onInput:(y)=>{let B=y.currentTarget;Q(B.value),Y(B.value)},onKeyDown:(y)=>q(y,y.currentTarget),onScroll:(y)=>{let B=W.current?.parentElement;if(B)B.scrollLeft=y.currentTarget.scrollLeft}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"code-tools",children:[z("span",{class:"code-lang",children:[z("select",{value:K,onChange:(y)=>$(y.currentTarget.value),children:[!w&&z("option",{value:K,children:K||"纯文本"},void 0,!1,void 0,this),O8.map((y)=>z("option",{value:y.id,children:y.label},y.id,!1,void 0,this))]},void 0,!0,void 0,this),z(S,{name:"chevronDown",cls:"ico sm"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"code-copy"+(F?" ok":""),title:"复制代码",onClick:()=>{let y=X.current?.value??Z.content;navigator.clipboard?.writeText(y).then(()=>{H(!0),setTimeout(()=>H(!1),1400)}).catch(()=>{})},children:[z(S,{name:F?"check":"copy",cls:"ico sm"},void 0,!1,void 0,this),F?"已复制":"复制"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function s3({block:Z,renderKey:J,onCellInput:Q,onTableChange:$}){let q=Z.rows??[],X=q[0]?.length??0,W=Z.align??[],G=U0(null),F=U0([]);if(F.current.length!==X)F.current=Array.from({length:X},(P,L)=>F.current[L]??160);let H=()=>{Z.rows=[...q,Array(X).fill("")],$()},Y=()=>{Z.rows=q.map((P)=>[...P,""]),Z.align=[...W,null],$()},K=(P)=>{Z.rows=q.map((_)=>{let C=[..._];return C.splice(P,0,""),C});let L=[...W];L.splice(P,0,null),Z.align=L,$()},w=(P)=>{if(X<=1)return;Z.rows=q.map((L)=>L.filter((_,C)=>C!==P)),Z.align=W.filter((L,_)=>_!==P),$()},y=(P)=>{if(P===0||q.length<=2)return;Z.rows=q.filter((L,_)=>_!==P),$()},B=(P,L)=>{let _=Array.from({length:X},(C,g)=>W[g]??null);_[P]=L,Z.align=_,$()},A=(P,L)=>{let _=G.current?.querySelector(`.doc-td[data-r="${P}"][data-c="${L}"]`);if(!_)return!1;_.focus();let C=document.createRange();C.selectNodeContents(_),C.collapse(!1);let g=getSelection();return g?.removeAllRanges(),g?.addRange(C),!0},v=(P,L,_)=>{if(P.key==="Tab"){if(P.preventDefault(),P.shiftKey){if(_>0)A(L,_-1);else if(L>0)A(L-1,X-1)}else if(_<X-1)A(L,_+1);else if(L<q.length-1)A(L+1,0);else H(),requestAnimationFrame(()=>A(q.length,0));return}if(P.key==="Enter"){if(P.preventDefault(),L<q.length-1)A(L+1,_);else H(),requestAnimationFrame(()=>A(q.length,_));return}},f=(P,L)=>{P.preventDefault(),P.stopPropagation();let _=P.currentTarget,C=G.current?.querySelector(`col[data-tcol="${L}"]`),g=P.clientX,T=F.current[L]??160,u=T,c=0;_.classList.add("dragging"),document.body.classList.add("col-resizing");let n=()=>{if(c=0,C)C.style.width=u+"px"},d=(h)=>{if(u=Math.max(60,T+h.clientX-g),!c)c=requestAnimationFrame(n)},x=()=>{if(c)cancelAnimationFrame(c);if(C)C.style.width=u+"px";F.current[L]=u,removeEventListener("pointermove",d),removeEventListener("pointerup",x),removeEventListener("pointercancel",x),_.classList.remove("dragging"),document.body.classList.remove("col-resizing")};addEventListener("pointermove",d,{passive:!1}),addEventListener("pointerup",x),addEventListener("pointercancel",x)},I=(P,L)=>{P.preventDefault(),P.stopPropagation(),O0(P,(_)=>z(s,{children:[z(g0,{children:"对齐方式"},void 0,!1,void 0,this),z(e,{icon:"alignLeft",label:"左对齐",checked:(W[L]??null)===null||W[L]==="left",onClick:()=>{B(L,"left"),_()}},void 0,!1,void 0,this),z(e,{icon:"alignCenter",label:"居中",checked:W[L]==="center",onClick:()=>{B(L,"center"),_()}},void 0,!1,void 0,this),z(e,{icon:"alignRight",label:"右对齐",checked:W[L]==="right",onClick:()=>{B(L,"right"),_()}},void 0,!1,void 0,this),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"plus",label:"在左侧插入列",onClick:()=>{K(L),_()}},void 0,!1,void 0,this),z(e,{icon:"cornerUpRight",label:"在右侧插入列",onClick:()=>{K(L+1),_()}},void 0,!1,void 0,this),z(e,{icon:"trash",label:"删除列",danger:!0,onClick:()=>{w(L),_()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))};return z("div",{class:"doc-table-wrap",children:z("div",{class:"doc-table-scroll",children:z("div",{class:"doc-table-inner",children:[z("div",{class:"doc-table-row",children:[z("table",{ref:G,class:"doc-table",children:[z("colgroup",{children:Array.from({length:X},(P,L)=>z("col",{"data-tcol":L,style:{width:F.current[L]}},L,!1,void 0,this))},void 0,!1,void 0,this),z("tbody",{children:q.map((P,L)=>z("tr",{children:P.map((_,C)=>z("td",{class:L===0?"doc-th":void 0,children:[z(e3,{value:_,renderKey:J,r:L,c:C,align:W[C]??null,onInput:(g)=>Q(L,C,g),onKeyDown:(g)=>v(g,L,C)},void 0,!1,void 0,this),L===0&&z(s,{children:[z("button",{class:"doc-col-menu",title:"列选项",onMouseDown:(g)=>I(g,C),children:z(S,{name:"chevronDown",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{class:"doc-col-resizer",onPointerDown:(g)=>f(g,C)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),C===0&&L>0&&q.length>2&&z("button",{class:"doc-row-del",title:"删除行",onMouseDown:(g)=>{g.preventDefault(),g.stopPropagation(),y(L)},children:z(S,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},C,!0,void 0,this))},L,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"doc-table-addcol",title:"新增列",onMouseDown:(P)=>{P.preventDefault(),Y()},children:z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"doc-table-addrow",title:"新增行",onMouseDown:(P)=>{P.preventDefault(),H()},children:z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function e3({value:Z,renderKey:J,r:Q,c:$,align:q,onInput:X,onKeyDown:W}){let G=U0(null);return Y0(()=>{if(G.current){let F=p9(Z);if(G.current.innerHTML!==F)G.current.innerHTML=F}},[J]),z("div",{ref:G,class:"doc-td","data-r":Q,"data-c":$,contentEditable:!0,"data-ph":Q===0?"表头":"",style:q?{textAlign:q}:void 0,onInput:(F)=>X(c9(F.currentTarget.innerHTML)),onKeyDown:(F)=>W(F)},void 0,!1,void 0,this)}function Zz({x:Z,y:J,onCommand:Q}){let $=(q)=>(X)=>{X.preventDefault(),Q(q)};return z("div",{class:"pop",style:{left:Math.max(8,Math.min(Z,innerWidth-220)),top:J-46,minWidth:0,padding:3,display:"flex",gap:1},children:[["bold","bold"],["italic","italic"],["underline","underline"],["strikeThrough","strike"],["code","code"],["createLink","link"]].map(([q,X])=>z("button",{class:"item",style:{width:34,justifyContent:"center",padding:"7px 0"},onMouseDown:$(q),children:z(S,{name:X,cls:"ico sm"},void 0,!1,void 0,this)},q,!1,void 0,this))},void 0,!1,void 0,this)}function Jz(){let Z=getSelection();if(!Z||Z.isCollapsed)return;let J=Z.toString();document.execCommand("insertHTML",!1,`<code>${J.replace(/</g,"&lt;")}</code>`)}function B9(Z){document.querySelectorAll(".doc .block[data-bid]").forEach((J)=>Qz(Z,J))}function Qz(Z,J){let Q=J.matches(".block[data-bid]")?J:J.closest(".block[data-bid]"),$=Q?.getAttribute("data-bid"),q=$?I0(Z,$)?.block:null;if(!q||!Q)return;let X=Q.querySelector(".editable"),W=Q.querySelector(".code-input");if(X)q.content=i9(q,X);else if(W)q.content=W.value}function zz(Z){return(Z instanceof HTMLElement?Z:Z.parentElement)?.closest(".block[data-bid]")??null}function $z(){return document.activeElement?.closest?.(".doc .block[data-bid]")?.getAttribute("data-bid")??null}function b8(Z){document.querySelector(".doc")?.classList.toggle("selecting",Z)}function fZ(){getSelection()?.removeAllRanges(),document.activeElement?.blur?.(),b8(!0)}function f8(Z){let J=getSelection();if(!J||J.isCollapsed||!J.rangeCount)return Z(null);if(!J.anchorNode?.parentElement?.closest?.(".editable"))return Z(null);let $=J.getRangeAt(0),q=$.getBoundingClientRect(),X=q.width||q.height?q:$.getClientRects()[0];if(!X)return Z(null);Z({x:X.left,y:X.top})}function qz(Z){let J=getSelection()?.anchorNode?.parentElement?.closest?.(".editable"),$=J?.closest(".block")?.getAttribute("data-bid"),q=$?I0(Z,$)?.block:null;if(q&&J)q.content=i9(q,J)}function V8(Z,J={}){let Q={id:i0(),type:Z,content:J.content??""};if(Z==="todo")Q.checked=J.checked??!1;if(Z==="code")Q.lang=J.lang??"";if(Z==="numbered"&&J.start!=null&&J.start>1)Q.start=J.start;if(p0(Z)&&J.children?.length)Q.children=J.children;if(Z==="table")Q.rows=J.rows?J.rows.map(($)=>[...$]):k1(),Q.align=J.align?[...J.align]:Array(Q.rows[0].length).fill(null);return Q}function k1(){return[["",""],["",""]]}function i9(Z,J){return c9(J.innerHTML)}function R8(){let Z=getSelection();return!!Z&&!Z.isCollapsed}function Xz(Z){let J=getSelection();if(!J||!J.rangeCount||!J.isCollapsed)return!1;let Q=J.getRangeAt(0);if(!Z.contains(Q.startContainer))return!1;let $=document.createRange();return $.selectNodeContents(Z),$.setEnd(Q.startContainer,Q.startOffset),$.toString().length===0}function Wz(){let Z=getSelection();if(!Z||!Z.rangeCount)return{x:80,y:120};let J=Z.getRangeAt(0).getBoundingClientRect();return{x:J.left||80,y:J.top||120}}function Gz(Z){let J=getSelection();if(!J||!J.rangeCount)return{first:!0,last:!0};let Q=J.getRangeAt(0).getBoundingClientRect(),$=Z.getBoundingClientRect();if(!Q.height&&!Q.top)return{first:!0,last:!0};let q=parseFloat(getComputedStyle(Z).lineHeight)||Q.height||20;return{first:Q.top-$.top<q*0.5,last:$.bottom-Q.bottom<q*0.5}}function Hz(Z){let J=Z.textContent??"";if(J.trim()==="")return!0;let Q=getSelection();if(!Q||!Q.rangeCount||Q.isCollapsed)return!1;if(!Z.contains(Q.anchorNode)||!Z.contains(Q.focusNode))return!1;return Q.toString().length>=J.length}function I8(Z){let J=getSelection();if(!J||!J.rangeCount||!Z.contains(J.getRangeAt(0).startContainer))return{before:c9(Z.innerHTML),after:""};let Q=J.getRangeAt(0),$=(q)=>{let X=document.createRange();X.selectNodeContents(Z),q(X);let W=document.createElement("div");return W.appendChild(X.cloneContents()),c9(W.innerHTML)};return{before:$((q)=>q.setEnd(Q.startContainer,Q.startOffset)),after:$((q)=>q.setStart(Q.endContainer,Q.endOffset))}}function v1(Z){let J=document.createElement("div");return J.innerHTML=p9(Z),(J.textContent??"").length}function _1(Z,J){let Q=document.querySelector(`.block[data-bid="${Z}"] .editable`);if(!Q)return;Q.focus();let $=document.createTreeWalker(Q,NodeFilter.SHOW_TEXT),q=J,X=null;for(let F=$.nextNode();F;F=$.nextNode()){if(X=F,q<=F.data.length)break;q-=F.data.length}let W=document.createRange();if(X)W.setStart(X,Math.min(q,X.data.length));else W.selectNodeContents(Q);W.collapse(!0);let G=getSelection();G?.removeAllRanges(),G?.addRange(W)}function T0(Z,J=!1){let Q=`.block[data-bid="${Z}"] .editable, .block[data-bid="${Z}"] .code-input`,$=document.querySelector(Q);if(!$)return;if($.focus(),$ instanceof HTMLTextAreaElement){let W=J?$.value.length:0;$.setSelectionRange(W,W);return}let q=document.createRange();q.selectNodeContents($),q.collapse(!J);let X=getSelection();X?.removeAllRanges(),X?.addRange(q)}function M1(Z){Z.style.height="auto",Z.style.height=Z.scrollHeight+"px"}function S8(){document.querySelectorAll(".block.drop-before,.block.drop-after").forEach((Z)=>Z.classList.remove("drop-before","drop-after"))}function Fz(Z,J){S8();let Q=Z.getBoundingClientRect();Z.classList.add(J.clientY<Q.top+Q.height/2?"drop-before":"drop-after")}function f1(){let Z=localStorage.getItem("mh-theme");return Z==="light"||Z==="dark"||Z==="system"?Z:"system"}function V1(Z){localStorage.setItem("mh-theme",Z),document.documentElement.dataset.theme=Z}var Kz=[{value:"light",icon:"sun",name:"浅色",desc:"始终使用明亮界面"},{value:"dark",icon:"moon",name:"深色",desc:"始终使用暗色界面"},{value:"system",icon:"monitor",name:"跟随系统",desc:"随操作系统外观自动切换"}];function I1({onUpdatePending:Z}={}){let[J,Q]=D(f1()),$=(q)=>{V1(q),Q(q)};return z("div",{class:"set-page",children:[z("div",{class:"set-title",children:"设置"},void 0,!1,void 0,this),z("div",{class:"set-sub",children:"个性化你的 Metahub 工作区。"},void 0,!1,void 0,this),z("div",{class:"set-section",children:[z("div",{class:"set-section-head",children:"外观"},void 0,!1,void 0,this),z("div",{class:"set-section-desc",children:"选择界面的颜色主题。"},void 0,!1,void 0,this),z("div",{class:"theme-grid",children:Kz.map((q)=>z("button",{class:"theme-card"+(J===q.value?" sel":""),"aria-pressed":J===q.value,onClick:()=>$(q.value),children:[z("span",{class:"tc-check",children:z(S,{name:"check"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"tc-ico",children:z(S,{name:q.icon},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"tc-name",children:q.name},void 0,!1,void 0,this),z("span",{class:"tc-desc",children:q.desc},void 0,!1,void 0,this)]},q.value,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),typeof window<"u"&&window.metahubDesktop?.quicknote&&z(yz,{},void 0,!1,void 0,this),z(Bz,{},void 0,!1,void 0,this),z(Lz,{},void 0,!1,void 0,this),z(Yz,{onUpdatePending:Z},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function V9(Z,J){let Q=Z.replace(/^v/,"").split(".").map((q)=>parseInt(q,10)||0),$=J.replace(/^v/,"").split(".").map((q)=>parseInt(q,10)||0);for(let q=0;q<Math.max(Q.length,$.length);q++){let X=(Q[q]??0)-($[q]??0);if(X!==0)return X}return 0}function Yz({onUpdatePending:Z}){let J=typeof window<"u"?window.metahubDesktop?.coreUpdate:void 0,[Q,$]=D(null),[q,X]=D(null),[W,G]=D(null),[F,H]=D(null),[Y,K]=D("idle"),[w,y]=D("");Y0(()=>{a.version().then((L)=>X(L.version)).catch(()=>X(null)),(typeof window<"u"?window.metahubDesktop:void 0)?.appVersion?.().then($).catch(()=>$(null)),J?.installedVersion().then(G).catch(()=>G(null))},[]),Y0(()=>{if(Y==="idle"&&q&&W&&V9(W,q)>0)K("staged"),Z?.(!0)},[q,W]);let B=()=>{if(q&&W)return V9(W,q)>0?W:q;return W??q},A=()=>!!(q&&W&&V9(W,q)>0),v=async()=>{K("checking"),y("");try{let{latest:P}=await J.check(),L=B();if(P&&(!L||V9(P,L)>0))H(P),K("available"),Z?.(!0);else P0("已是最新版本"),K(A()?"staged":"idle")}catch(P){y(P.message),K("error")}},f=async()=>{K("downloading"),y("");try{let P=await J.download();if(P)G(P),K("staged"),Z?.(!0),P0(`已下载 v${P}`);else P0("已是最新版本"),K(A()?"staged":"idle")}catch(P){y(P.message),K("error")}},I=null;if(J)switch(Y){case"checking":I=z("span",{class:"ver-act","aria-disabled":"true",children:"检查中…"},void 0,!1,void 0,this);break;case"downloading":I=z("span",{class:"ver-act","aria-disabled":"true",children:"下载中…"},void 0,!1,void 0,this);break;case"available":I=z("span",{class:"ver-up",children:[z("span",{class:"ver-dot pulse"},void 0,!1,void 0,this),z("span",{children:["新版本 ",z("span",{class:"ver-num",children:F},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"ver-act accent",onClick:f,title:`下载并更新到 v${F}`,children:"下载"},void 0,!1,void 0,this)]},void 0,!0,void 0,this);break;case"staged":I=z("span",{class:"ver-up",children:[z("span",{class:"ver-dot pulse"},void 0,!1,void 0,this),z("span",{children:[z("span",{class:"ver-num",children:W},void 0,!1,void 0,this)," 待重启"]},void 0,!0,void 0,this),z("button",{class:"ver-act accent",onClick:()=>void J.restart(),title:`重启应用以更新到 v${W}`,children:"重启"},void 0,!1,void 0,this)]},void 0,!0,void 0,this);break;case"error":I=z("span",{class:"ver-up err",children:[z("span",{class:"ver-msg",children:"检查失败"},void 0,!1,void 0,this),z("button",{class:"ver-act",onClick:v,title:w||"重试",children:"重试"},void 0,!1,void 0,this)]},void 0,!0,void 0,this);break;default:I=z("button",{class:"ver-act",onClick:v,children:"检查更新"},void 0,!1,void 0,this)}return z("div",{class:"set-footer",children:[Q&&z("span",{children:["App ",z("span",{class:"ver-num",children:Q},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q&&q&&z("span",{class:"set-footer-sep",children:"·"},void 0,!1,void 0,this),q&&z("span",{children:["Core ",z("span",{class:"ver-num",children:q},void 0,!1,void 0,this)]},void 0,!0,void 0,this),I&&(q||Q)&&z("span",{class:"set-footer-sep",children:"·"},void 0,!1,void 0,this),I]},void 0,!0,void 0,this)}var T8="CommandOrControl+Shift+Space";function Uz(Z){if(["Control","Meta","Alt","Shift"].includes(Z.key))return null;let J=[];if(Z.metaKey||Z.ctrlKey)J.push("CommandOrControl");if(Z.altKey)J.push("Alt");if(Z.shiftKey)J.push("Shift");let Q=Z.key;if(Q===" ")Q="Space";else if(Q.startsWith("Arrow"))Q=Q.slice(5);else if(Q.length===1)Q=Q.toUpperCase();if(J.length===0)return null;return J.push(Q),J.join("+")}function R1(Z){let J=typeof window<"u"&&window.metahubDesktop?.platform==="darwin";return Z.replace("CommandOrControl",J?"⌘":"Ctrl").replace("Alt",J?"⌥":"Alt").replace("Shift",J?"⇧":"Shift").split("+").join(J?" ":"+")}function yz(){let Z=window.metahubDesktop.quicknote,[J,Q]=D(T8),[$,q]=D(!1),[X,W]=D(!1);Y0(()=>{Z.getSettings().then((Y)=>{Q(Y.shortcut),q(Y.alwaysOnTop)}).catch((Y)=>P0(`加载失败:${Y.message}`))},[]);let G=async(Y)=>{try{let K=await Z.setShortcut(Y);Q(K.shortcut),P0(`快捷键已设为 ${R1(K.shortcut)}`)}catch(K){P0(`设置失败:${K.message}`)}},F=(Y)=>{if(Y.preventDefault(),Y.key==="Escape"){W(!1);return}let K=Uz(Y);if(!K)return;W(!1),G(K)},H=async()=>{let Y=!$;q(Y);try{q(await Z.setAlwaysOnTop(Y))}catch(K){q(!Y),P0(`设置失败:${K.message}`)}};return z("div",{class:"set-section",children:[z("div",{class:"set-section-head",children:"快速笔记"},void 0,!1,void 0,this),z("div",{class:"set-section-desc",children:"用全局快捷键随时唤起小窗记录想法。小窗也可从菜单栏图标打开。"},void 0,!1,void 0,this),z("div",{class:"qn-set-row",children:[z("div",{class:"qn-set-main",children:[z("div",{class:"qn-set-name",children:"唤起快捷键"},void 0,!1,void 0,this),z("div",{class:"qn-set-desc",children:"点击下方按钮,然后按下你想用的组合键。"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"btn btn-secondary qn-shortcut"+(X?" capturing":""),onClick:()=>W(!0),onBlur:()=>W(!1),onKeyDown:X?F:void 0,children:X?"按下组合键…":R1(J)},void 0,!1,void 0,this),J!==T8&&z("button",{class:"btn btn-ghost",title:"重置默认",onClick:()=>void G(T8),children:"重置"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"qn-set-row",children:[z("div",{class:"qn-set-main",children:[z("div",{class:"qn-set-name",children:"默认始终置顶"},void 0,!1,void 0,this),z("div",{class:"qn-set-desc",children:"小窗浮在其他窗口之上;也可在小窗内用 \uD83D\uDCCC 按钮切换。"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"btn "+($?"btn-primary":"btn-secondary"),"aria-pressed":$,onClick:()=>void H(),children:$?"已开启":"已关闭"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function b1(Z){if(!Z)return"从未";return new Date(Z).toLocaleString()}function Bz(){let[Z,J]=D(null),Q=()=>a.listPeers().then(J).catch((H)=>P0(`加载失败:${H.message}`));Y0(()=>{Q()},[]);let $=async()=>{try{let H=await a.newPairingCode();d0(z(wz,{code:H.code,exp:H.exp},void 0,!1,void 0,this))}catch(H){P0(`生成失败:${H.message}`)}},q=()=>d0(z(Pz,{onDone:()=>{m0(),Q()}},void 0,!1,void 0,this)),X=async(H)=>{try{let Y=await a.syncPeer(H.url);P0(Y.ok?`已同步:推送 ${Y.pushed},拉取 ${Y.pulled}`:`同步失败:${Y.error}`),Q()}catch(Y){P0(`同步失败:${Y.message}`)}},W=async(H)=>{await a.updatePeer(H.url,{enabled:!H.enabled}).catch((Y)=>P0(Y.message)),Q()},G=async(H)=>{if(!await x0({title:"移除同步设备",message:`确定移除 ${H.url}?将停止与该设备的数据同步。`,confirmLabel:"移除",danger:!0}))return;await a.removePeer(H.url).catch((K)=>P0(K.message)),Q()},F=(H,Y)=>O0(H,(K)=>z(s,{children:[z(e,{icon:"share",label:"立即同步",onClick:()=>{K(),X(Y)}},void 0,!1,void 0,this),z(e,{icon:Y.enabled?"eyeOff":"check",label:Y.enabled?"禁用":"启用",onClick:()=>{K(),W(Y)}},void 0,!1,void 0,this),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"trash",label:"移除",danger:!0,onClick:()=>{K(),G(Y)}},void 0,!1,void 0,this)]},void 0,!0,void 0,this));return z("div",{class:"set-section",children:[z("div",{class:"set-section-head",children:"同步设备"},void 0,!1,void 0,this),z("div",{class:"set-section-desc",children:"与其他设备配对,自动双向同步数据。在对方设备生成配对码,然后在此添加。"},void 0,!1,void 0,this),z("div",{class:"peer-actions",children:[z("button",{class:"btn btn-primary",onClick:q,children:[z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)," 添加设备"]},void 0,!0,void 0,this),z("button",{class:"btn btn-secondary",onClick:$,children:[z(S,{name:"link",cls:"ico sm"},void 0,!1,void 0,this)," 生成本机配对码"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"peer-list",children:Z==null?z("div",{class:"muted",children:"加载中…"},void 0,!1,void 0,this):Z.length===0?z("div",{class:"muted",children:"还没有配对的设备。"},void 0,!1,void 0,this):Z.map((H)=>z("div",{class:"peer-row",children:[z("span",{class:"peer-dot"+(H.enabled?H.last_status==="error"?" err":" on":" off")},void 0,!1,void 0,this),z("div",{class:"peer-main",children:[z("div",{class:"peer-url",children:H.label||H.url},void 0,!1,void 0,this),z("div",{class:"peer-sub",children:[H.enabled?"已启用":"已禁用"," · 最近同步 ",b1(H.last_sync_at),H.last_status==="error"&&H.last_error?` · 错误:${H.last_error}`:""]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"btn btn-ghost peer-menu",onClick:(Y)=>F(Y,H),children:z(S,{name:"dots",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},H.url,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Lz(){let[Z,J]=D(null),Q=()=>a.listGrants().then(J).catch((q)=>P0(`加载失败:${q.message}`));Y0(()=>{Q()},[]);let $=async(q)=>{if(!await x0({title:"吊销凭据",message:`吊销后,持有此凭据的设备${q.peer_url?`(${q.peer_url})`:""}将无法再同步进本机。`,confirmLabel:"吊销",danger:!0}))return;await a.revokeGrant(q.token).catch((W)=>P0(W.message)),Q()};return z("div",{class:"set-section",children:[z("div",{class:"set-section-head",children:"已授权设备"},void 0,!1,void 0,this),z("div",{class:"set-section-desc",children:"本机签发、允许其他设备同步进来的凭据。吊销即断开对方的入站访问。"},void 0,!1,void 0,this),z("div",{class:"peer-list",children:Z==null?z("div",{class:"muted",children:"加载中…"},void 0,!1,void 0,this):Z.length===0?z("div",{class:"muted",children:"还没有签发任何凭据。"},void 0,!1,void 0,this):Z.map((q)=>z("div",{class:"peer-row",children:[z("span",{class:"peer-dot on"},void 0,!1,void 0,this),z("div",{class:"peer-main",children:[z("div",{class:"peer-url",children:q.peer_url||"(未知地址)"},void 0,!1,void 0,this),z("div",{class:"peer-sub",children:[q.token.slice(0,8),"… · 签发于 ",b1(q.created_at)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"btn btn-ghost peer-menu",title:"吊销",onClick:()=>$(q),children:z(S,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},q.token,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function wz({code:Z,exp:J}){let[Q,$]=D(Math.max(0,Math.round((J-Date.now())/1000)));Y0(()=>{let W=setInterval(()=>$(Math.max(0,Math.round((J-Date.now())/1000))),1000);return()=>clearInterval(W)},[J]);let q=Math.floor(Q/60),X=String(Q%60).padStart(2,"0");return z(t0,{title:"本机配对码",sub:"在另一台设备上输入此服务器地址和下面的配对码即可配对。配对码一次性使用。",footer:z("button",{class:"btn btn-primary",onClick:m0,children:"完成"},void 0,!1,void 0,this),children:[z("div",{class:"pair-code",children:Z},void 0,!1,void 0,this),z("div",{class:"muted",style:{textAlign:"center",marginTop:8},children:Q>0?`${q}:${X} 后过期`:"已过期,请重新生成"},void 0,!1,void 0,this),z("button",{class:"btn btn-secondary",style:{width:"100%",marginTop:12},onClick:()=>{navigator.clipboard?.writeText(Z),P0("已复制配对码")},children:[z(S,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this)," 复制"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function Pz({onDone:Z}){let[J,Q]=D(""),[$,q]=D(""),[X,W]=D(location.origin),[G,F]=D(!1),H=async()=>{if(!J.trim()||!$.trim()){P0("地址和配对码必填");return}F(!0);try{let Y=await a.addPeerByPairing({url:J.trim(),code:$.trim(),self_url:X.trim()||void 0});await a.syncPeer(Y.url).catch(()=>{}),P0(`已配对 ${Y.url}`),Z()}catch(Y){P0(`配对失败:${Y.message}`),F(!1)}};return z(t0,{title:"添加同步设备",sub:"输入对方 Metahub 服务器的地址,以及它生成的一次性配对码。",footer:z(s,{children:[z("button",{class:"btn btn-secondary",onClick:m0,disabled:G,children:"取消"},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:H,disabled:G,children:G?"配对中…":"配对"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[z("div",{class:"field-label",children:"对方服务器地址"},void 0,!1,void 0,this),z("input",{class:"text-input",autofocus:!0,placeholder:"http://192.168.1.10:7777",value:J,onInput:(Y)=>Q(Y.target.value)},void 0,!1,void 0,this),z("div",{class:"field-label",children:"配对码"},void 0,!1,void 0,this),z("input",{class:"text-input",placeholder:"对方「生成本机配对码」得到的码",value:$,onInput:(Y)=>q(Y.target.value),onKeyDown:(Y)=>Y.key==="Enter"&&H()},void 0,!1,void 0,this),z("div",{class:"field-label",children:"本机可达地址(可选)"},void 0,!1,void 0,this),z("input",{class:"text-input",placeholder:"留空则仅本机主动同步",value:X,onInput:(Y)=>W(Y.target.value)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var a9=(Z)=>location.origin+"/sites/"+Z+"/",Cz=(Z)=>(/\.([a-z0-9]+)$/i.exec(Z)?.[1]??"").toLowerCase(),T1=(Z)=>Z.startsWith("image/");function g1(Z){let J=Number(Z.split("-")[0]);if(!Number.isFinite(J)||J<=0)return"—";return new Date(J).toISOString().slice(0,10)}function Az(Z){let J=Cz(Z.path);if(["html","htm","js","mjs","css","json","xml"].includes(J))return"code";if(T1(Z.content_type))return"file";if(["md","txt"].includes(J))return"text";return"file"}function d9(Z){navigator.clipboard?.writeText(Z).catch(()=>{}),P0("已复制")}function x1(){let[Z,J]=D(null),[Q,$]=D(null),[q,X]=D(null),W=()=>a.listSites().then((H)=>{J(H),$((Y)=>Y?H.find((K)=>K.id===Y.id)??null:null)}).catch((H)=>P0(`加载失败:${H.message}`));Y0(()=>{W()},[]);let G=()=>d0(z(Oz,{onCreated:(H)=>{W(),$(H)}},void 0,!1,void 0,this)),F=(H,Y,K)=>{O0(H,(w)=>z(s,{children:[z(e,{icon:"externalLink",label:"复制访问地址",onClick:()=>{w(),d9(a9(Y.name))}},void 0,!1,void 0,this),z(e,{icon:"settings",label:"修改标题…",onClick:async()=>{w();let y=await z9({title:"修改标题",label:"标题",value:Y.title??Y.name});if(y==null)return;try{await a.updateSite(Y.id,{title:y})}catch(B){return P0(B.message)}W()}},void 0,!1,void 0,this),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"trash",label:"删除站点",danger:!0,onClick:async()=>{if(w(),!await x0({title:"删除站点?",message:`「${Y.name}」及其 ${Y.file_count} 个文件将被删除。`,confirmLabel:"删除",danger:!0}))return;try{await a.deleteSite(Y.id)}catch(B){return P0(B.message)}if(K)$(null);W()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))};return z("div",{class:"db",children:[z("div",{class:"db-head",children:[z("div",{class:"db-icon",children:"\uD83C\uDF10"},void 0,!1,void 0,this),z("div",{children:[z("div",{class:"db-title",children:"站点管理"},void 0,!1,void 0,this),z("div",{class:"db-desc",children:"静态文件站点 · 通过 /sites/<name>/ 对外提供,随同步无冲突复制"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"toolbar",children:[z("div",{class:"spacer",style:{flex:1}},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:G,children:[z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建站点"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Z==null?z("div",{class:"muted",style:{padding:20},children:"加载中…"},void 0,!1,void 0,this):Z.length===0?z("div",{class:"site-empty",children:[z("div",{class:"ei",children:"\uD83C\uDF10"},void 0,!1,void 0,this),z("div",{class:"et",children:"还没有站点"},void 0,!1,void 0,this),z("div",{class:"ed",children:"站点是一个命名文件桶,发布后可通过 /sites/<name>/ 直接访问。"},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:G,children:[z(S,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建站点"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):z(s,{children:[z("div",{class:"sites-grid",children:Z.map((H)=>z("div",{class:"site-card",onClick:()=>$(H),children:[z("div",{class:"site-card-head",children:[z("span",{class:"si",children:z(S,{name:"globe"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{class:"site-card-id",children:[z("div",{class:"slug",children:H.name},void 0,!1,void 0,this),z("div",{class:"ttl"+(H.title?"":" muted"),children:H.title||"未命名站点"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"site-addr",title:"点击复制访问地址",onClick:(Y)=>{Y.stopPropagation(),d9(a9(H.name))},children:[z(S,{name:"link",cls:"ico sm"},void 0,!1,void 0,this),z("span",{children:a9(H.name)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"site-card-meta",children:[z("span",{children:[z("b",{children:H.file_count},void 0,!1,void 0,this)," 文件"]},void 0,!0,void 0,this),z("span",{class:"dot",children:"·"},void 0,!1,void 0,this),z("span",{children:g1(H.created_hlc)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"site-card-foot",children:[z("button",{class:"btn btn-secondary",style:{flex:1},onClick:(Y)=>{Y.stopPropagation(),X(H)},children:[z(S,{name:"globe",cls:"ico sm"},void 0,!1,void 0,this),"访问"]},void 0,!0,void 0,this),z("button",{class:"iconbtn",title:"更多",onClick:(Y)=>{Y.stopPropagation(),F(Y,H)},children:z(S,{name:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},H.id,!0,void 0,this))},void 0,!1,void 0,this),z("div",{class:"gridfoot",children:[z("span",{children:["共 ",Z.length," 个站点"]},void 0,!0,void 0,this),z("span",{children:[Z.reduce((H,Y)=>H+Y.file_count,0)," 个文件"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q&&z(vz,{site:Q,onClose:()=>$(null),onVisit:()=>X(Q),onMenu:(H)=>F(H,Q,!0),onChanged:W},void 0,!1,void 0,this),q&&z(_z,{site:q,onClose:()=>X(null)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Oz({onCreated:Z}){let[J,Q]=D(""),[$,q]=D(""),X=async()=>{let W=J.trim().toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"");if(!W)return P0("请填写站点名称");try{let G=await a.createSite({name:W,title:$.trim()||void 0});m0(),P0(`已创建站点「${W}」`),Z(G)}catch(G){P0(G.message)}};return z(t0,{title:"新建站点",sub:"创建一个命名文件桶,随同步无冲突复制。",footer:z(s,{children:[z("button",{class:"btn btn-secondary",onClick:m0,children:"取消"},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:X,children:"创建"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[z("div",{class:"field-label",children:"名称(slug)"},void 0,!1,void 0,this),z("input",{class:"text-input",autofocus:!0,value:J,placeholder:"例如:docs、demo、status",onInput:(W)=>Q(W.target.value),onKeyDown:(W)=>{if(W.key==="Enter")X()}},void 0,!1,void 0,this),z("div",{class:"field-label",children:"标题(可选)"},void 0,!1,void 0,this),z("input",{class:"text-input",value:$,placeholder:"人类可读的标题",onInput:(W)=>q(W.target.value),onKeyDown:(W)=>{if(W.key==="Enter")X()}},void 0,!1,void 0,this),z("div",{class:"muted",style:{fontSize:12,marginTop:10},children:["将通过 ",z("span",{style:{fontFamily:"var(--mono)"},children:"/sites/<名称>/"},void 0,!1,void 0,this)," 对外提供。"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function vz({site:Z,onClose:J,onVisit:Q,onMenu:$,onChanged:q}){let[X,W]=D(null),G=U0(null),{open:F,close:H}=qZ(J),Y=()=>a.listSiteFiles(Z.id).then(W).catch((B)=>P0(B.message));Y0(()=>{let B=!1;return W(null),a.listSiteFiles(Z.id).then((A)=>!B&&W(A)).catch((A)=>!B&&P0(A.message)),()=>{B=!0}},[Z.id]);let K=async(B)=>{let A=B.target,v=Array.from(A.files??[]);if(A.value="",!v.length)return;let f=0;try{for(let I of v)await a.uploadSiteFile(Z.id,I.name,I),f++;P0(`已上传 ${f} 个文件`)}catch(I){P0(`已上传 ${f}/${v.length} 个,其余失败:${I.message}`)}finally{Y(),q()}},w=async(B)=>{if(!await x0({title:"删除文件?",message:`「${B.path}」将从站点「${Z.name}」中删除。`,confirmLabel:"删除",danger:!0}))return;try{await a.deleteSiteFile(Z.id,B.path)}catch(v){return P0(v.message)}Y(),q()},y=a9(Z.name);return z(s,{children:[z("div",{class:"scrim"+(F?" open":""),onClick:H},void 0,!1,void 0,this),z("div",{class:"peek"+(F?" open":""),children:[z("div",{class:"peek-head",children:[z("button",{class:"iconbtn",onClick:H,children:z(S,{name:"x"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{style:{flex:1,display:"flex",alignItems:"center",gap:8,minWidth:0,fontWeight:600,fontSize:14},children:[z(S,{name:"globe",cls:"ico sm"},void 0,!1,void 0,this),z("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:Z.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"btn btn-secondary",onClick:()=>G.current?.click(),children:[z(S,{name:"upload",cls:"ico sm"},void 0,!1,void 0,this),"上传文件"]},void 0,!0,void 0,this),z("button",{class:"iconbtn",title:"更多",onClick:(B)=>$(B),children:z(S,{name:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("input",{ref:G,type:"file",multiple:!0,style:{display:"none"},onChange:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"peek-body",children:[z("h2",{style:{margin:"0 0 20px"},children:Z.title||Z.name},void 0,!1,void 0,this),z("div",{class:"acc-link",children:[z("span",{class:"url",children:y},void 0,!1,void 0,this),z("button",{title:"复制地址",onClick:()=>d9(y),children:z(S,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"accent",title:"访问站点",onClick:Q,children:z(S,{name:"globe",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"site-meta",children:[z("span",{children:[z("b",{children:X?.length??Z.file_count},void 0,!1,void 0,this)," 个文件"]},void 0,!0,void 0,this),z("span",{children:["创建于 ",g1(Z.created_hlc)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"files-head",children:[z("span",{children:"文件"},void 0,!1,void 0,this),z("span",{children:X?.length??""},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X==null?z("div",{class:"muted",children:"加载中…"},void 0,!1,void 0,this):X.length===0?z("div",{class:"site-empty",style:{marginTop:4},children:[z("div",{class:"ei",children:"\uD83D\uDCC1"},void 0,!1,void 0,this),z("div",{class:"et",children:"站点还没有文件"},void 0,!1,void 0,this),z("div",{class:"ed",children:"上传文件后即可通过站点地址访问。"},void 0,!1,void 0,this),z("button",{class:"btn btn-secondary",onClick:()=>G.current?.click(),children:[z(S,{name:"upload",cls:"ico sm"},void 0,!1,void 0,this),"上传文件"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):z("div",{children:X.map((B)=>z("div",{class:"filerow",onClick:()=>d0(z(S1,{site:Z,file:B},void 0,!1,void 0,this)),children:[z("span",{class:"fi",children:z(S,{name:Az(B),cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"fpath",children:B.path},void 0,!1,void 0,this),z("span",{class:"enc-badge"+(B.encoding==="blob"?" blob":""),children:B.encoding},void 0,!1,void 0,this),z("div",{class:"facts",children:[z("button",{title:"预览",onClick:(A)=>{A.stopPropagation(),d0(z(S1,{site:Z,file:B},void 0,!1,void 0,this))},children:z(S,{name:"eye",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{title:"复制路径",onClick:(A)=>{A.stopPropagation(),d9("/sites/"+Z.name+"/"+B.path)},children:z(S,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"del",title:"删除",onClick:(A)=>{A.stopPropagation(),w(B)},children:z(S,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},B.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function S1({site:Z,file:J}){let Q="/sites/"+Z.name+"/"+J.path,[$,q]=D(null),X=T1(J.content_type),W=!X&&(J.encoding==="utf8"||/text\/|json|javascript|xml/.test(J.content_type));return Y0(()=>{if(!W)return;fetch(Q).then((G)=>G.text()).then(q).catch(()=>q("(无法加载内容)"))},[Q]),z(t0,{title:J.path,sub:Q,width:680,footer:z(s,{children:[z("button",{class:"btn btn-secondary",onClick:()=>d9(Q),children:"复制路径"},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:m0,children:"关闭"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[z("div",{style:{display:"flex",gap:10,flexWrap:"wrap",alignItems:"center",color:"var(--muted)",fontSize:12,marginBottom:12},children:[z("span",{children:J.content_type},void 0,!1,void 0,this),z("span",{class:"enc-badge"+(J.encoding==="blob"?" blob":""),children:J.encoding},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X?z("img",{src:Q,style:{maxWidth:"100%",borderRadius:"var(--radius)",border:"1px solid var(--line)"}},void 0,!1,void 0,this):W?$==null?z("div",{class:"muted",children:"加载中…"},void 0,!1,void 0,this):z("div",{class:"preview-box",children:$},void 0,!1,void 0,this):z("div",{class:"preview-bin",children:[z("div",{class:"pi",children:"\uD83D\uDCE6"},void 0,!1,void 0,this),z("div",{class:"pt",children:"二进制文件 · 在新标签打开查看"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function _z({site:Z,onClose:J}){Y0(()=>{let $=(q)=>{if(q.key==="Escape")J()};return addEventListener("keydown",$),()=>removeEventListener("keydown",$)},[]);let Q="/sites/"+Z.name+"/";return z("div",{class:"spv-scrim open",onClick:($)=>{if($.target===$.currentTarget)J()},children:z("div",{class:"spv",children:[z("div",{class:"spv-chrome",children:[z("div",{class:"spv-dots",children:[z("i",{},void 0,!1,void 0,this),z("i",{},void 0,!1,void 0,this),z("i",{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"spv-url",children:[z(S,{name:"lock",cls:"ico sm"},void 0,!1,void 0,this),z("span",{children:a9(Z.name)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"spv-btn",title:"在新标签打开",onClick:()=>window.open(Q,"_blank"),children:[z(S,{name:"externalLink",cls:"ico sm"},void 0,!1,void 0,this),"新标签"]},void 0,!0,void 0,this),z("button",{class:"spv-btn icon",title:"关闭",onClick:J,children:z(S,{name:"x"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("iframe",{class:"spv-frame",src:Q,sandbox:"allow-scripts allow-same-origin"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}var j1="mh-quicknote-last",D1="mh-quicknote-parent",h1="Quick Notes";function Mz(Z,J){return(J.created_hlc??"").localeCompare(Z.created_hlc??"")}async function Nz(){let Z=localStorage.getItem(D1);if(Z)try{return await a.getDocument(Z),Z}catch{}let $=(await a.listDocuments()).find((q)=>q.parent_id==null&&q.title===h1)?.id??(await a.createDocument({title:h1})).id;return localStorage.setItem(D1,$),$}function m1(){let[Z,J]=D(null),[Q,$]=D([]),[q,X]=D(null),[W,G]=D(""),[F,H]=D(!1),Y=U0(null),K=typeof window<"u"?window.metahubDesktop?.quicknote:void 0,w=F9(async(P)=>{let L=(await a.listDocumentsByParent(P)).sort(Mz);return $(L),L},[]),y=F9(async(P)=>{let L=await a.createDocument({title:"",parent_id:P});return await w(P),L.id},[w]);Y0(()=>{(async()=>{try{let P=await Nz();J(P);let L=await w(P),_=localStorage.getItem(j1),C=_&&L.some((g)=>g.id===_)&&_||L[0]?.id||await y(P);X(C)}catch(P){G(String(P.message))}})()},[w,y]),Y0(()=>{if(q)localStorage.setItem(j1,q)},[q]),Y0(()=>{K?.getAlwaysOnTop().then(H).catch(()=>{})},[K]),Y0(()=>{if(!K)return;let P=(L)=>{if(L.key==="Escape")K.hide()};return addEventListener("keydown",P),()=>removeEventListener("keydown",P)},[K]);let B=async()=>{if(!Z)return;try{X(await y(Z))}catch(P){G(String(P.message))}},A=async()=>{if(!K)return;let P=!F;H(P);try{H(await K.setAlwaysOnTop(P))}catch{H(!P)}},v=async()=>{if(!q||!Z)return;if(!await x0({title:"删除笔记?",message:"该快速笔记将被删除。",confirmLabel:"删除",danger:!0}))return;await a.deleteDocument(q);let L=await w(Z);X(L[0]?.id??await y(Z))},f=(P)=>{O0(P,(L)=>z(s,{children:[z(g0,{children:"快速笔记"},void 0,!1,void 0,this),Q.length===0&&z("div",{class:"lbl",children:"还没有笔记"},void 0,!1,void 0,this),Q.map((_)=>z(e,{icon:"file",label:_.title||"无标题",checked:_.id===q,onClick:()=>{L(),X(_.id)}},_.id,!1,void 0,this)),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"plus",label:"新建笔记",onClick:()=>{L(),B()}},void 0,!1,void 0,this),q&&z(e,{icon:"trash",label:"删除当前笔记",danger:!0,onClick:()=>{L(),v()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),{minWidth:220})},I=Q.find((P)=>P.id===q)?.title;return z("div",{class:"qn",children:[z("div",{class:"qn-bar",children:[z("span",{class:"qn-brand",children:I||"快速笔记"},void 0,!1,void 0,this),z("div",{class:"qn-actions",children:[z("button",{class:"iconbtn",title:"新建笔记",onClick:()=>void B(),children:z(S,{name:"plus"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"iconbtn",title:"笔记列表",onClick:f,children:z(S,{name:"list"},void 0,!1,void 0,this)},void 0,!1,void 0,this),K&&z("button",{class:"iconbtn"+(F?" active":""),title:F?"取消置顶":"始终置顶",onClick:()=>void A(),children:z(S,{name:"pin"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W&&z("div",{class:"error-bar",onClick:()=>G(""),children:["⚠ ",W,"(点击关闭)"]},void 0,!0,void 0,this),z("div",{class:"qn-body",children:q?z(VZ,{docId:q,onTitleChange:()=>Z&&void w(Z),onError:G,onHandle:(P)=>Y.current=P},q,!1,void 0,this):z("div",{class:"empty",children:z("div",{children:"加载中…"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),z(XZ,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var kz=/[",\r\n]/;function fz(Z){return kz.test(Z)?`"${Z.replace(/"/g,'""')}"`:Z}function u1(Z){return Z.map((J)=>J.map(fz).join(",")).join(`
115
- `)}function g8(Z,J){let Q=J.startsWith(".")?J:"."+J,$=Z.trim().replace(/[\\/:*?"<>|\x00-\x1f]/g,"-").replace(/\s+/g," ").replace(/^\.+$/,"").slice(0,90)||"untitled";return $.toLowerCase().endsWith(Q.toLowerCase())?$:$+Q}function x8(Z,J,Q){let $=URL.createObjectURL(new Blob([J],{type:Q})),q=document.createElement("a");q.href=$,q.download=Z,document.body.appendChild(q),q.click(),q.remove(),setTimeout(()=>URL.revokeObjectURL($),0)}function E1(Z,J){let Q=["id",...Z.map((q)=>q.name)],$=J.map((q)=>[q.id,...Z.map((X)=>Vz(q.values[X.name]))]);return u1([Q,...$])}function Vz(Z){if(Z==null)return"";if(typeof Z==="boolean")return Z?"true":"false";if(typeof Z==="object")return JSON.stringify(Z);return String(Z)}function Rz(){let[Z,J]=D([]),[Q,$]=D([]),[q,X]=D({kind:"empty"}),[W,G]=D(""),[F,H]=D(!1),[Y,K]=D(!1),[w,y]=D(268),[B,A]=D("blocks"),[v,f]=D(!1),I=U0(null),P=F9((d)=>G(d),[]),L=F9((d)=>{I.current=d},[]),_=F9(async()=>{let[d,x]=await Promise.all([a.listDatabases(),a.listDocuments()]);J(d),$(x)},[]);Y0(()=>{_().catch((d)=>P(String(d.message)))},[_]),Y0(()=>{let d=typeof window<"u"?window.metahubDesktop?.coreUpdate:void 0;if(!d)return;Promise.all([a.version().then((x)=>x.version).catch(()=>null),d.installedVersion().catch(()=>null)]).then(([x,h])=>{if(x&&h&&V9(h,x)>0)f(!0)})},[]);let C=(d)=>{X(d),H(!1)},g=()=>a.createDocument({title:""}).then((d)=>{_(),C({kind:"doc",id:d.id})}).catch((d)=>P(String(d.message))),T=q.kind==="db"?Z.find((d)=>d.id===q.id):void 0,u=q.kind==="doc"?Q.find((d)=>d.id===q.id):void 0,c=q.kind==="doc"?q.id:null;Y0(()=>{A("blocks")},[c]);let n=(d)=>{if(q.kind==="doc"&&u)O0(d,(x)=>z(s,{children:[z(e,{icon:"code",label:B==="source"?"块方式显示":"代码方式显示",checked:B==="source",onClick:()=>{x(),I.current?.setMode(B==="source"?"blocks":"source")}},void 0,!1,void 0,this),z(e,{icon:"download",label:"导出 Markdown",onClick:()=>{x();let h=I.current?.snapshotMarkdown();I.current?.flushSave(),(h==null?a.getDocument(u.id).then((R)=>R.body??""):Promise.resolve(h)).then((R)=>x8(g8(u.title||u.id,".md"),R,"text/markdown;charset=utf-8")).catch((R)=>P(String(R.message)))}},void 0,!1,void 0,this),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"settings",label:"重命名…",onClick:async()=>{x();let h=await z9({title:"重命名文档",value:u.title});if(h)await a.updateDocument(u.id,{title:h}),_()}},void 0,!1,void 0,this),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"trash",label:"删除文档",danger:!0,onClick:async()=>{if(x(),await x0({title:"删除文档?",message:`「${u.title||"无标题"}」将被删除。`,confirmLabel:"删除",danger:!0}))await a.deleteDocument(u.id),X({kind:"empty"}),_()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this));else if(q.kind==="db"&&T)O0(d,(x)=>z(s,{children:[z(e,{icon:"download",label:"导出 CSV",onClick:()=>{x(),Promise.all([a.listProperties(T.id),a.listRecords(T.id)]).then(([h,K0])=>x8(g8(T.name||T.id,".csv"),E1(h,K0),"text/csv;charset=utf-8")).catch((h)=>P(String(h.message)))}},void 0,!1,void 0,this),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"settings",label:"重命名…",onClick:async()=>{x();let h=await z9({title:"重命名数据库",value:T.name});if(h&&h!==T.name)await a.updateDatabase(T.id,{name:h}),_()}},void 0,!1,void 0,this),z(N0,{},void 0,!1,void 0,this),z(e,{icon:"trash",label:"删除数据库",danger:!0,onClick:async()=>{if(x(),await x0({title:"删除数据库?",message:`「${T.name}」及其所有记录将被永久删除。`,confirmLabel:"删除",danger:!0}))await a.deleteDatabase(T.id),X({kind:"empty"}),_()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))};return z(s,{children:[z(K4,{databases:Z,docs:Q,activeKind:q.kind,activeId:"id"in q?q.id:void 0,width:w,collapsed:Y,onResize:y,onOpenDb:(d)=>C({kind:"db",id:d}),onOpenDoc:(d)=>C({kind:"doc",id:d}),onSearch:(d)=>C({kind:"search",q:d}),onCollapse:()=>K(!0),onOpenSettings:()=>C({kind:"settings"}),settingsActive:q.kind==="settings",onOpenSites:()=>C({kind:"sites"}),sitesActive:q.kind==="sites",updatePending:v,reloadNav:_,onError:P,afterDelete:(d,x)=>{if("id"in q&&q.id===x)X({kind:"empty"})}},void 0,!1,void 0,this),z(bz,{open:F},void 0,!1,void 0,this),z("div",{class:"main",children:[z("div",{class:"topbar"+(q.kind==="empty"?" bare":""),children:[z("button",{class:"iconbtn hamburger"+(Y?" show-collapsed":""),title:Y?"展开侧栏":"菜单",onClick:()=>Y?K(!1):H(!0),children:z(S,{name:"panelLeft"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{class:"crumb",children:[q.kind==="doc"&&z(s,{children:[z("span",{class:"emoji",children:z(S,{name:"file",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{children:u?.title||"无标题"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q.kind==="db"&&z(s,{children:[z("span",{class:"emoji",children:T?.icon||"\uD83D\uDDC2️"},void 0,!1,void 0,this),z("span",{children:T?.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q.kind==="search"&&z("span",{children:["搜索:“",q.q,"”"]},void 0,!0,void 0,this),q.kind==="settings"&&z(s,{children:[z("span",{class:"emoji",children:z(S,{name:"settings",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{children:"设置"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q.kind==="sites"&&z(s,{children:[z("span",{class:"emoji",children:z(S,{name:"globe",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{children:"站点管理"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),(q.kind==="doc"||q.kind==="db")&&z(s,{children:[z("button",{class:"btn btn-ghost",children:[z(S,{name:"share",cls:"ico sm"},void 0,!1,void 0,this),"分享"]},void 0,!0,void 0,this),z("button",{class:"iconbtn",onClick:n,children:z(S,{name:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W&&z("div",{class:"error-bar",onClick:()=>G(""),children:["⚠ ",W,"(点击关闭)"]},void 0,!0,void 0,this),z("div",{class:"content",children:[q.kind==="empty"&&z(Iz,{onNewDoc:g},void 0,!1,void 0,this),q.kind==="db"&&T&&z(M4,{db:T,reloadNav:_,onError:P},T.id,!1,void 0,this),q.kind==="doc"&&z(VZ,{docId:q.id,onTitleChange:_,onError:P,onModeChange:A,onHandle:L},q.id,!1,void 0,this),q.kind==="search"&&z(Sz,{q:q.q,onOpenDoc:(d)=>C({kind:"doc",id:d}),onOpenDb:(d)=>C({kind:"db",id:d})},void 0,!1,void 0,this),q.kind==="settings"&&z(I1,{onUpdatePending:f},void 0,!1,void 0,this),q.kind==="sites"&&z(x1,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"backdrop"+(F?" show":""),onClick:()=>H(!1)},void 0,!1,void 0,this),z(XZ,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Iz({onNewDoc:Z}){return z("div",{class:"empty",children:[z("svg",{class:"estate-art",viewBox:"0 0 220 190",fill:"none","aria-hidden":"true",children:[z("ellipse",{class:"kg-ground ground",cx:"110",cy:"176",rx:"62",ry:"8"},void 0,!1,void 0,this),z("circle",{class:"kg-glow fill-soft",cx:"116",cy:"88",r:"42"},void 0,!1,void 0,this),z("g",{class:"kg-plant",children:[z("path",{class:"kg-stem stroke-a draw",pathLength:"100",d:"M110 134 C110 117 108 106 113 92 C116 83 122 77 128 72"},void 0,!1,void 0,this),z("g",{class:"kg-leaf l1",children:z("g",{class:"kg-grow",children:z("path",{class:"fill-a",d:"M108 108 C90 100 86 88 88 80 C102 80 111 90 108 108 Z"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("g",{class:"kg-leaf l2",children:z("g",{class:"kg-grow",children:z("path",{class:"fill-a",d:"M118 90 C133 83 144 86 150 94 C139 105 125 104 118 90 Z"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("g",{class:"kg-leaf l3",children:z("g",{class:"kg-grow",children:z("path",{class:"fill-a",d:"M128 72 C128 57 136 48 146 45 C150 58 144 69 128 72 Z"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("rect",{class:"kg-cardB fill-soft",x:"76",y:"124",width:"68",height:"44",rx:"8",transform:"rotate(7 110 146)"},void 0,!1,void 0,this),z("g",{class:"kg-cardA",children:[z("rect",{class:"fill-surface stroke",x:"66",y:"128",width:"76",height:"46",rx:"9",transform:"rotate(-5 104 151)"},void 0,!1,void 0,this),z("rect",{class:"fill-a",x:"74",y:"136",width:"18",height:"18",rx:"5",transform:"rotate(-5 104 151)"},void 0,!1,void 0,this),z("rect",{class:"fill-soft",x:"98",y:"139",width:"34",height:"6",rx:"3",transform:"rotate(-5 104 151)"},void 0,!1,void 0,this),z("rect",{class:"fill-soft",x:"98",y:"150",width:"24",height:"6",rx:"3",transform:"rotate(-5 104 151)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("circle",{class:"kg-particle p1 fill-a",cx:"44",cy:"62",r:"2.6"},void 0,!1,void 0,this),z("circle",{class:"kg-particle p2 fill-soft",cx:"178",cy:"74",r:"3"},void 0,!1,void 0,this),z("circle",{class:"kg-particle p3 fill-a",cx:"40",cy:"120",r:"2"},void 0,!1,void 0,this),z("circle",{class:"kg-particle p4 fill-soft",cx:"182",cy:"126",r:"2.4"},void 0,!1,void 0,this),z("circle",{class:"kg-particle p5 fill-a",cx:"150",cy:"44",r:"2.2"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("p",{class:"estate-title",children:"空空如也"},void 0,!1,void 0,this),z("p",{class:"estate-hint",children:"从左侧选择一个数据库或文档,或新建一个开始。"},void 0,!1,void 0,this),z("button",{class:"estate-link",onClick:Z,children:"+ 新建文档"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function bz({open:Z}){return Y0(()=>{let J=document.querySelector(".sidebar");if(J)J.classList.toggle("open",Z)},[Z]),null}function Sz({q:Z,onOpenDoc:J,onOpenDb:Q}){let[$,q]=D(null);return Y0(()=>{q(null),a.search(Z).then(q).catch(()=>q([]))},[Z]),z("div",{class:"db",children:[z("div",{class:"db-title",style:{marginBottom:14},children:["搜索:“",Z,"”"]},void 0,!0,void 0,this),$===null&&z("p",{class:"muted",children:"搜索中…"},void 0,!1,void 0,this),$?.length===0&&z("p",{class:"muted",children:"没有匹配结果。"},void 0,!1,void 0,this),$?.map((X)=>z("div",{class:"error-bar",style:{background:"var(--surface)",color:"var(--fg)",margin:"0 0 8px"},onClick:()=>X.type==="document"?J(X.id):X.database_id&&Q(X.database_id),children:[z("strong",{children:X.title||X.id},void 0,!1,void 0,this)," ",z("span",{class:"muted",children:X.type},void 0,!1,void 0,this),z("div",{class:"muted",dangerouslySetInnerHTML:{__html:X.snippet}},void 0,!1,void 0,this)]},X.id,!0,void 0,this))]},void 0,!0,void 0,this)}if(typeof window<"u"&&window.metahubDesktop){if(document.body.classList.add("desktop"),window.metahubDesktop.platform==="darwin")document.body.classList.add("desktop-mac")}if(location.hash==="#quick"&&typeof window<"u"&&window.metahubDesktop)document.body.classList.add("quicknote"),DZ(z(m1,{},void 0,!1,void 0,this),document.getElementById("app"));else DZ(z(Rz,{},void 0,!1,void 0,this),document.getElementById("app"));
108
+ `:Q}function u$(Z){return Z.replace(/`([^`]+)`/g,"$1").replace(/\*\*([^*]+)\*\*/g,"$1").replace(/(\*|_)([^*_]+)\1/g,"$2").replace(/~~([^~]+)~~/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").trim()}function E$({blocks:Z}){let J=s0(Z).filter((W)=>W.type==="h1"||W.type==="h2"||W.type==="h3").map((W)=>({id:W.id,level:Number(W.type.slice(1)),text:u$(W.content)||"无标题"})),[Q,$]=b(null),X=J.map((W)=>W.id).join("|");if(r(()=>{if(!J.length)return;let W=document.querySelector(".content"),G=0,K=()=>{let Y=Math.max(W?W.getBoundingClientRect().top:0,0)+100,C=J[0].id;for(let L of J){let B=document.querySelector(`.block[data-bid="${L.id}"]`);if(!B)continue;if(B.getBoundingClientRect().top-Y<=1)C=L.id;else break}$(C)},H=()=>{if(G)return;G=requestAnimationFrame(()=>{G=0,K()})};K();let F=new IntersectionObserver(K,{root:W,rootMargin:"-90px 0px -70% 0px",threshold:[0,1]});for(let Y of J){let C=document.querySelector(`.block[data-bid="${Y.id}"]`);if(C)F.observe(C)}return W?.addEventListener("scroll",H,{passive:!0}),window.addEventListener("scroll",H,{passive:!0}),()=>{if(F.disconnect(),W?.removeEventListener("scroll",H),window.removeEventListener("scroll",H),G)cancelAnimationFrame(G)}},[X]),!J.length)return null;let q=(W)=>{document.querySelector(`.block[data-bid="${W}"]`)?.scrollIntoView({behavior:"smooth",block:"start"})};return z("nav",{class:"doc-toc","aria-label":"文档目录",children:J.map((W)=>z("button",{class:"toc-row lvl-"+W.level+(W.id===Q?" active":""),title:W.text,onClick:()=>q(W.id),children:[z("span",{class:"toc-tick"},void 0,!1,void 0,this),z("span",{class:"toc-label",children:W.text},void 0,!1,void 0,this)]},W.id,!0,void 0,this))},void 0,!1,void 0,this)}function q1({docId:Z,onError:J,onModeChange:Q,onHandle:$}){let X=H0([]),q=H0(""),W=H0(null),G=H0(""),[K,H]=b("blocks"),[F,Y]=b(0),[C,L]=b(!0),[B,M]=b(null),k=H0(null),[T,O]=b(null),[P,_]=b(null),A=H0(),y=H0(null),x=H0(!1),v=H0(0),E=H0(Promise.resolve()),[J0,l]=b(!1),A0=H0(null),[o,B0]=b(null),[K0,I]=b(0),[V,g]=b(0),j=H0(0),e=H0([]),X0=H0([]),W0=H0({past:[],future:[],present:null,lastKey:null,lastTime:0}),P0=()=>({blocks:structuredClone(X.current),title:G.current,focusId:E7()}),k0=(U)=>{let w=W0.current;if(!w.present){w.present=P0(),w.lastKey=U,w.lastTime=Date.now();return}let m=Date.now();if(U&&U===w.lastKey&&m-w.lastTime<600){w.present=P0(),w.lastTime=m;return}if(w.past.push(w.present),w.past.length>200)w.past.shift();w.present=P0(),w.future=[],w.lastKey=U,w.lastTime=m},p=(U)=>{if(X.current=structuredClone(U.blocks),G.current=U.title,_(null),Y((w)=>w+1),z0(),U.focusId)requestAnimationFrame(()=>E0(U.focusId,!0))},s=()=>{let U=W0.current;if(!U.past.length)return;if(U.present)U.future.push(U.present);let w=U.past.pop();U.present=w,U.lastKey=null,p(w)},Y0=()=>{let U=W0.current;if(!U.future.length)return;if(U.present)U.past.push(U.present);let w=U.future.pop();U.present=w,U.lastKey=null,p(w)},U0=()=>{k0(null),Y((U)=>U+1)},h0=()=>{L(!0),M(null),l(!1),W0.current={past:[],future:[],present:null,lastKey:null,lastTime:0},u.getDocument(Z).then((U)=>{G.current=U.title??"",q.current=U.body??"",X.current=HZ(U.body),y.current=U.version??null,x.current=!1,L(!1),U0()}).catch((U)=>J(String(U.message)))};r(()=>{return h0(),()=>clearTimeout(A.current)},[Z]),r(()=>{let U=(w)=>{if(!x.current)return;w.preventDefault(),w.returnValue=""};return window.addEventListener("beforeunload",U),()=>window.removeEventListener("beforeunload",U)},[]),r(()=>{let U=(w)=>{if(!w.detail?.datasets?.some((R)=>R==="documents"||R==="doc_blocks"))return;(async()=>{try{if(x.current)await h();let R=await u.getDocument(Z);if(R.version!=null&&R.version===y.current)return;let i=E7(),$0=i?s0(X.current).findIndex((v0)=>v0.id===i):-1,G0=i?$1(i):null;if(G.current=R.title??"",q.current=R.body??"",X.current=HZ(R.body),y.current=R.version??null,x.current=!1,l(!1),Y((v0)=>v0+1),$0>=0)requestAnimationFrame(()=>{let v0=s0(X.current),m0=v0[Math.min($0,v0.length-1)];if(m0)X1(m0.id,G0??0)});Z0("已合并其他设备的修改")}catch{}})()};return document.addEventListener(M9,U),()=>document.removeEventListener(M9,U)},[Z]);let z0=()=>{x.current=!0,clearTimeout(A.current),A.current=setTimeout(c,700)},N=()=>{if(K==="source")return q.current=W.current?.value??q.current,q.current;return o9(X.current),P7(X.current)},S=(U={})=>u.updateDocument(Z,{title:G.current,body:N(),...U.force||y.current==null||B9()?{}:{if_match:y.current}}).then((w)=>{y.current=w.version??null,x.current=!1,v.current=0,l(!1)}).catch((w)=>{if(w instanceof L9&&w.code==="stale"){l(!0);return}J(String(w.message)),v.current=Math.min(Math.max(v.current*2,1000),30000),clearTimeout(A.current),A.current=setTimeout(c,v.current)}),c=(U={})=>E.current=E.current.then(()=>S(U)),h=async()=>{clearTimeout(A.current),await c()},q0=(U)=>{if(U===K)return;if(U==="source"){q.current=N(),M(null),O(null),_(null),H("source"),Q?.("source"),requestAnimationFrame(()=>{if(W.current)W.current.value=q.current,c7(W.current),W.current.focus()});return}q.current=W.current?.value??q.current,X.current=HZ(q.current),H("blocks"),Q?.("blocks"),Y((w)=>w+1),requestAnimationFrame(()=>{let w=s0(X.current)[0];if(w)E0(w.id)})};r(()=>{return $?.({getMode:()=>K,setMode:q0,snapshotMarkdown:N,flushSave:h,reload:h0}),()=>$?.(null)},[$,K]);let D=X.current,L0=P?R7(D,P.anchorId,P.focusId):[],d=(U,w="p",m={})=>{let R=sZ(w,m);if(!U)D.push(R);else{let i=j0(D,U);if(i)i.parent.splice(i.index+1,0,R);else D.push(R)}return U0(),requestAnimationFrame(()=>E0(R.id)),z0(),R},S0=(U,w,m={})=>{let i=j0(D,U)?.block;if(!i)return;let $0=m.content===void 0||m.content===i.content?$1(U):null,G0=l0(w)?i.children:void 0;if(W8(i,w,m),G0?.length)i.children=G0;else delete i.children;if(U0(),w!=="divider"&&w!=="table")requestAnimationFrame(()=>$0!=null?X1(U,$0):E0(U));z0()},T0=(U)=>{if(!Z1(D,U))return;U0(),z0()},C0=(U,w)=>{U.content=UZ(U,w),k0("text:"+U.id);let m=w.textContent??"";if(m.startsWith("/")){let R=Q2();M((i)=>({blockId:U.id,x:R.x,y:R.y,query:m.slice(1),idx:i?.blockId===U.id?i.idx:0}))}else if(B)M(null);z0()},I9=(U,w,m)=>{let R=U.clipboardData?.getData("text/html"),$0=(R?B7(R):U.clipboardData?.getData("text/plain")??"").replace(/\r\n?/g,`
109
+ `);if(!$0.trim())return;U.preventDefault();let G0=HZ($0);if(!G0.length)return;let v0=j0(D,w.id);if(!v0)return;let{before:m0,after:z9}=_8(m);if(G0.length===1&&G0[0].type==="p"&&(m0.trim()!==""||z9.trim()!=="")){w.content=m0+G0[0].content+z9;let PJ=p7(m0+G0[0].content);U0(),z0(),requestAnimationFrame(()=>M8(w.id,PJ));return}let C9=[...G0],wZ=z9.trim()!==""?sZ("p",{content:z9}):null;if(wZ)C9.push(wZ);if(m0.trim()===""&&!v0.block.children?.length)v0.parent.splice(v0.index,1,...C9);else w.content=m0,v0.parent.splice(v0.index+1,0,...C9);U0(),z0();let yJ=wZ??C9[C9.length-1];requestAnimationFrame(()=>E0(yJ.id,!wZ))},r0=B?Y8.filter((U)=>(U.t+U.type+U.d).toLowerCase().includes(B.query.toLowerCase())):[],f9=(U)=>{if(!B)return;S0(B.blockId,U.type),M(null)},b9=(U,w)=>{S0(U.id,w.type,w),M(null)},a=(U,w)=>{U.content="",U.children??=[];let m=sZ(w.type,w);U.children.unshift(m),M(null),U0(),requestAnimationFrame(()=>E0(m.id)),z0()},Q0=(U)=>{o9(D);let w=$1(U);if(!y8(D,U))return;U0(),requestAnimationFrame(()=>w!=null?X1(U,w):E0(U)),z0()},y0=(U)=>{o9(D);let w=$1(U);if(!P8(D,U))return;U0(),requestAnimationFrame(()=>w!=null?X1(U,w):E0(U)),z0()},N0=async(U)=>{if(U==="createLink"){let w=getSelection(),m=w&&w.rangeCount?w.getRangeAt(0).cloneRange():null;if(!m||m.collapsed)return;O(null);let R=(await q9({title:"插入链接",label:"链接地址",placeholder:"https://…"}))?.trim();if(!R)return;m.startContainer.parentElement?.closest?.(".editable")?.focus();let $0=getSelection();$0?.removeAllRanges(),$0?.addRange(m),document.execCommand("createLink",!1,R)}else if(U==="code")o$();else document.execCommand(U,!1,void 0);e$(D),z0(),C8(O)},g0=()=>_(null),o0=()=>{let U=s0(D);if(!U.length)return;z1(),_({anchorId:U[0].id,focusId:U[U.length-1].id})},yZ=(U)=>{o9(D);let w=T7(D,U);if(g0(),U0(),w)requestAnimationFrame(()=>E0(w,!0));z0()},G1=(U,w)=>{if(o9(D),!(w==="indent"?f7(D,U):b7(D,U)).length)return;U0(),z0()},XJ=(U)=>{o9(D);let w=V7(D,U);if(w.length)_({anchorId:w[0],focusId:w[w.length-1]});U0(),z0()},qJ=(U)=>{let w=I7(D,U);if(w)navigator.clipboard?.writeText(w).catch(()=>{})},f8=(U)=>{if(U.target?.closest?.(".doc-source"))return;let m=U.metaKey||U.ctrlKey;if(m&&(U.key==="z"||U.key==="Z")){if(U.preventDefault(),U.shiftKey)Y0();else s();return}if(m&&U.key==="y"){U.preventDefault(),Y0();return}if(!P)return;let R=L0;if(!R.length)return;if(U.key==="Escape"){U.preventDefault();let i=P.anchorId;g0(),E0(i,!0);return}if(U.key==="Tab"){U.preventDefault(),G1(R,U.shiftKey?"outdent":"indent");return}if(U.key==="Backspace"||U.key==="Delete"){U.preventDefault(),yZ(R);return}if(m&&U.key==="d"){U.preventDefault(),XJ(R);return}if(m&&(U.key==="c"||U.key==="x")){if(U.preventDefault(),qJ(R),U.key==="x")yZ(R);return}if(m&&U.key==="a"){U.preventDefault(),o0();return}if(U.key==="ArrowDown"||U.key==="ArrowUp"){U.preventDefault();let i=s0(D),$0=i.findIndex((G0)=>G0.id===P.focusId);if($0<0)return;if(U.shiftKey){let G0=U.key==="ArrowDown"?Math.min($0+1,i.length-1):Math.max($0-1,0);_({anchorId:P.anchorId,focusId:i[G0].id})}else{let G0=U.key==="ArrowDown"?R[R.length-1]:R[0];g0(),E0(G0,U.key==="ArrowDown")}return}if(U.key.length===1&&!m){let i=R[R.length-1];g0(),E0(i,!0)}},PZ=H0(null),WJ=(U)=>{if(U.button!==0)return;let w=U.target;if(w.closest(".gutter")||w.closest(".pop")||w.closest(".doc-col-resizer")||w.closest("input, button, select, a"))return;let R=s$(U.target)?.getAttribute("data-bid")??null;if(!R){let $0=w.classList.contains("doc")?w:null;if(K==="blocks"&&$0){let G0=$0.querySelectorAll(".block"),v0=G0.length?G0[G0.length-1]:$0.querySelector(".doc-meta"),m0=v0?v0.getBoundingClientRect().bottom:0;if(U.clientY>m0){U.preventDefault();let z9=D[D.length-1];if(z9&&n9(z9))E0(z9.id,!0);else d(null);return}}g0();return}if(U.shiftKey&&P){U.preventDefault(),z1(),_({anchorId:P.anchorId,focusId:R});return}if(!!w.closest(".editable, .code-input, .doc-td")){if(PZ.current={anchorId:R,started:!1,sx:U.clientX,sy:U.clientY,mode:"text"},P)g0()}else U.preventDefault(),z1(),_({anchorId:R,focusId:R}),PZ.current={anchorId:R,started:!0,sx:U.clientX,sy:U.clientY,mode:"block"}};r(()=>{let U=(m)=>{let R=PZ.current;if(!R)return;let $0=document.elementFromPoint(m.clientX,m.clientY)?.closest(".block[data-bid]")?.getAttribute("data-bid")??null;if(R.mode==="text"){if($0&&$0!==R.anchorId)R.mode="block",z1(),_({anchorId:R.anchorId,focusId:$0});return}if(!R.started&&Math.abs(m.clientX-R.sx)+Math.abs(m.clientY-R.sy)<4)return;if(R.started=!0,A8(!0),$0)_({anchorId:R.anchorId,focusId:$0})},w=()=>{PZ.current=null,A8(!1)};return window.addEventListener("mousemove",U),window.addEventListener("mouseup",w),()=>{window.removeEventListener("mousemove",U),window.removeEventListener("mouseup",w)}},[]);let b8=H0(f8);b8.current=f8,r(()=>{let U=(w)=>b8.current(w);return document.addEventListener("keydown",U,!0),()=>document.removeEventListener("keydown",U,!0)},[]),r(()=>{if(!B)return;k.current?.querySelector(".item.sel")?.scrollIntoView({block:"nearest"})},[B?.idx,B?.blockId]),r(()=>{if(!B)return;let U=()=>M(null);return document.addEventListener("focusout",U),()=>document.removeEventListener("focusout",U)},[!!B]);let GJ=(U,w,m)=>{if(U.isComposing||U.keyCode===229)return;if(B&&B.blockId===w.id){if(U.key==="ArrowDown"){U.preventDefault(),M({...B,idx:Math.min(B.idx+1,r0.length-1)});return}if(U.key==="ArrowUp"){U.preventDefault(),M({...B,idx:Math.max(B.idx-1,0)});return}if(U.key==="Enter"){U.preventDefault();let R=r0[B.idx];if(R)f9(R);return}if(U.key==="Escape"){M(null);return}}if((U.metaKey||U.ctrlKey)&&(U.key==="a"||U.key==="A")){if($2(m))U.preventDefault(),o0();return}if(U.key==="Tab"){U.preventDefault(),(U.shiftKey?y0:Q0)(w.id);return}if((U.key==="ArrowUp"||U.key==="ArrowDown")&&!U.shiftKey&&!O8()){let R=z2(m);if(U.key==="ArrowUp"&&R.first){let i=KZ(D,w.id);if(i){U.preventDefault(),E0(i.id,!0);return}}else if(U.key==="ArrowDown"&&R.last){let i=L8(D,w.id);if(i){U.preventDefault(),E0(i.id);return}}}if(U.key===" "&&!O8()&&(w.type==="p"||w.type==="bullet")){let{before:R,after:i}=_8(m);if(w.type==="p"){let $0=H8(R+" "," ");if($0){U.preventDefault(),b9(w,{...$0,content:i});return}}else{let $0=C7(R);if($0){U.preventDefault(),S0(w.id,"todo",{content:i,checked:$0.checked});return}}}if(U.key==="Enter"&&!U.shiftKey&&w.type!=="code"){let R=H8((m.textContent??"").trim(),"Enter");if(R){if(U.preventDefault(),l0(w.type)&&R.type==="code"){a(w,R);return}b9(w,R);return}U.preventDefault();let i=(m.textContent??"").trim()==="";if(l0(w.type)&&i&&!(w.children??[]).length){S0(w.id,"p");return}let{before:$0,after:G0}=_8(m);w.content=$0,d(w.id,l0(w.type)?w.type:"p",{content:G0})}else if(U.key==="Backspace"){if((m.textContent??"")==="")if(U.preventDefault(),w.type!=="p")S0(w.id,"p");else{let R=KZ(D,w.id);if(R)T0(w.id),requestAnimationFrame(()=>E0(R.id,!0))}else if(!O8()&&J2(m))if(l0(w.type))U.preventDefault(),S0(w.id,"p",{content:UZ(w,m)});else{let R=KZ(D,w.id);if(R&&R.type!=="code"&&R.type!=="table"&&R.type!=="divider"){U.preventDefault();let i=p7(R.content);R.content+=UZ(w,m),T0(w.id),requestAnimationFrame(()=>{let $0=document.querySelector(`.block[data-bid="${R.id}"] .editable`);if($0){let G0=YZ(R.content);if($0.innerHTML!==G0)$0.innerHTML=G0}M8(R.id,i)})}}}},HJ=(U,w,m)=>{if(U.isComposing||U.keyCode===229)return;let{value:R,selectionStart:i,selectionEnd:$0}=m;if(U.key==="Tab"){if(U.preventDefault(),U.shiftKey){y0(w.id);return}document.execCommand("insertText",!1," ");return}if(U.key==="ArrowDown"&&i===$0&&R.indexOf(`
110
+ `,i)===-1){U.preventDefault();let G0=L8(D,w.id);if(G0)E0(G0.id);else d(w.id,"p");return}if(U.key==="ArrowUp"&&i===$0&&R.lastIndexOf(`
111
+ `,i-1)===-1){U.preventDefault();let G0=KZ(D,w.id);if(G0)E0(G0.id,!0);return}if(U.key==="Backspace"&&R===""){U.preventDefault();let G0=j0(D,w.id),v0=G0?.parentBlock;if(G0&&v0&&l0(v0.type)&&v0.content.trim()===""){if(G0.parent.splice(G0.index,1),G0.parent.length===0)delete v0.children;U0(),requestAnimationFrame(()=>E0(v0.id)),z0();return}S0(w.id,"p")}},KJ=(U,w)=>{U.stopPropagation(),R0(U,(m)=>z(n,{children:[z(u0,{children:"转换为"},void 0,!1,void 0,this),Y8.filter((R)=>R.type!=="divider").map((R)=>z(t,{icon:R.ic,label:R.t,checked:w.type===R.type,onClick:()=>{S0(w.id,R.type,{content:w.content}),m()}},R.type,!1,void 0,this)),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"copy",label:"复制块",onClick:()=>{let R=j0(D,w.id);if(R)R.parent.splice(R.index+1,0,eZ(w));U0(),z0(),m()}},void 0,!1,void 0,this),z(t,{icon:"trash",label:"删除块",danger:!0,onClick:()=>{T0(w.id),m()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},FJ=H0(null),YJ=(U)=>{let w=U.parentElement;while(w){let m=getComputedStyle(w).overflowY;if((m==="auto"||m==="scroll")&&w.scrollHeight>w.clientHeight)return w;w=w.parentElement}return null},g8=(U)=>{if(K==="source"){let w=W.current,m=X0.current[U];if(!w||!m)return;w.setSelectionRange(m[0],m[1]);let R=w.value.slice(0,m[0]).split(`
112
+ `).length-1,i=getComputedStyle(w),$0=parseFloat(i.lineHeight)||20,G0=(parseFloat(i.paddingTop)||0)+R*$0,v0=YJ(w);if(v0){let m0=w.getBoundingClientRect().top-v0.getBoundingClientRect().top+v0.scrollTop;v0.scrollTo({top:Math.max(0,m0+G0-v0.clientHeight/2),behavior:"smooth"})}else{let m0=w.getBoundingClientRect().top+window.scrollY;window.scrollTo({top:Math.max(0,m0+G0-innerHeight/2),behavior:"smooth"})}}else{let w=e.current,m=w[U]??null;if(u7(w,m),m){let R=m.startContainer;(R.nodeType===3?R.parentElement:R)?.scrollIntoView({block:"center",inline:"nearest",behavior:"smooth"})}}};r(()=>{if(!o){Q1(),e.current=[],X0.current=[],g(0);return}let U={caseSensitive:o.caseSensitive,wholeWord:o.wholeWord},w=setTimeout(()=>{let m;if(K==="source"){let i=W.current?.value??q.current;X0.current=w8(i,o.term,U),e.current=[],Q1(),m=X0.current.length}else{let i=A0.current;e.current=i?m7(i,o.term,U):[],X0.current=[],m=e.current.length}let R=m?Math.min(j.current,m-1):0;j.current=R,I(R),g(m),g8(R)},110);return()=>clearTimeout(w)},[o,F,K]),r(()=>()=>Q1(),[]),r(()=>{let U=(w)=>{if((w.metaKey||w.ctrlKey)&&!w.altKey&&w.key.toLowerCase()==="f")w.preventDefault(),B0((m)=>m??{term:"",caseSensitive:!1,wholeWord:!1}),requestAnimationFrame(()=>{let m=A0.current?.parentElement?.querySelector(".find-bar input")??document.querySelector(".find-bar input");m?.focus(),m?.select()})};return window.addEventListener("keydown",U),()=>window.removeEventListener("keydown",U)},[]);let UJ=(U)=>{let w=K==="source"?X0.current.length:e.current.length;if(!w)return;let m=(j.current+U+w)%w;j.current=m,I(m),g8(m)},BJ=()=>B0(null);if(C)return z("div",{class:"empty",children:"加载中…"},void 0,!1,void 0,this);let LJ=new Set(L0),x8=(U,w=0)=>{let m=G8(U.filter((R)=>!n9(R)));return U.map((R)=>z(p$,{renderKey:F,block:R,depth:w,selected:LJ.has(R.id),number:R.type==="numbered"?m.get(R.id)??1:0,onInput:(i)=>C0(R,i),onPaste:(i,$0)=>I9(i,R,$0),onLangInput:(i)=>{R.lang=i,U0(),z0()},onKeyDown:(i,$0)=>GJ(i,R,$0),onCodeInput:(i)=>{R.content=i,k0("text:"+R.id),z0()},onCodeKeyDown:(i,$0)=>HJ(i,R,$0),onCellInput:(i,$0,G0)=>{if(!R.rows?.[i])return;R.rows[i][$0]=G0,k0("table:"+R.id+":"+i+":"+$0),z0()},onTableChange:()=>{U0(),z0()},onAdd:()=>d(R.id),onMenu:(i)=>KJ(i,R),onToggle:()=>{R.checked=!R.checked,U0(),z0()},dragRef:FJ,onReorder:(i,$0)=>{let G0=L0;if(G0.length>1&&G0.includes(i)?S7(D,G0,R.id,$0):k7(D,i,R.id,$0))U0(),z0()},children:R.children?.length?x8(R.children,w+1):null},R.id,!1,void 0,this))};return z(n,{children:[K==="blocks"&&z(E$,{blocks:D},F,!1,void 0,this),o&&z(n$,{term:o.term,caseSensitive:o.caseSensitive,wholeWord:o.wholeWord,idx:K0,total:V,onTerm:(U)=>{j.current=0,B0((w)=>w?{...w,term:U}:w)},onToggleCase:()=>B0((U)=>U?{...U,caseSensitive:!U.caseSensitive}:U),onToggleWord:()=>B0((U)=>U?{...U,wholeWord:!U.wholeWord}:U),onStep:UJ,onClose:BJ},void 0,!1,void 0,this),z("div",{ref:A0,class:"doc"+(K==="source"?" source-mode":""),onMouseDown:(U)=>WJ(U),onMouseUp:()=>C8(O),onKeyUp:(U)=>{if(U.shiftKey||U.key.startsWith("Arrow"))C8(O)},children:[J0&&z("div",{class:"doc-conflict",role:"alert",children:[z("span",{class:"doc-conflict-msg",children:"文档已被其他端修改,自动保存已暂停。"},void 0,!1,void 0,this),z("button",{class:"btn btn-secondary",onClick:()=>h0(),children:"载入最新(弃本地改动)"},void 0,!1,void 0,this),z("button",{class:"btn btn-danger",onClick:()=>void c({force:!0}),children:"用本地版本覆盖"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"doc-title",contentEditable:!0,onInput:(U)=>{G.current=U.target.textContent??"",k0("title"),z0()},onKeyDown:(U)=>{if(U.isComposing||U.keyCode===229)return;if(U.key==="Enter")if(U.preventDefault(),!D.length)d(null);else E0(D[0].id)},dangerouslySetInnerHTML:{__html:G.current}},void 0,!1,void 0,this),z("div",{class:"doc-meta",children:[z("span",{children:[z(f,{name:"file",cls:"ico sm"},void 0,!1,void 0,this),U8(D)," 个块"]},void 0,!0,void 0,this),z("span",{children:"实时同步"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K==="source"?z("textarea",{ref:W,class:"doc-source",spellcheck:!1,defaultValue:q.current,onInput:(U)=>{let w=U.currentTarget;q.current=w.value,c7(w),z0()}},void 0,!1,void 0,this):x8(D),K==="blocks"&&D.length===0&&z("div",{class:"editable",style:{color:"var(--muted)",cursor:"text"},onClick:()=>d(null),children:"点此书写,或输入 “/” 选择块类型…"},void 0,!1,void 0,this),B&&r0.length>0&&(()=>{let m=innerHeight-(B.y+22)-8,R=B.y-8,i=m>=240||m>=R,$0=Math.min(B.x,innerWidth-270),G0=Math.min(i?m:R,Math.round(innerHeight*0.7)),v0=i?{left:$0,top:B.y+22,maxHeight:G0,minWidth:260}:{left:$0,bottom:innerHeight-B.y+6,maxHeight:G0,minWidth:260};return z("div",{class:"pop",style:v0,ref:k,children:[z(u0,{children:"基础块"},void 0,!1,void 0,this),r0.map((m0,z9)=>z("button",{class:"item"+(z9===B.idx?" sel":""),onMouseDown:(C9)=>{C9.preventDefault(),f9(m0)},children:[z("span",{class:"lico",children:z(f,{name:m0.ic,cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"meta",children:[z("span",{class:"t",children:m0.t},void 0,!1,void 0,this),z("span",{class:"d",children:m0.d},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},m0.type,!0,void 0,this))]},void 0,!0,void 0,this)})(),T&&!P&&z(r$,{x:T.x,y:T.y,onCommand:N0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function p$({block:Z,number:J,depth:Q,renderKey:$,selected:X,onInput:q,onPaste:W,onLangInput:G,onKeyDown:K,onCodeInput:H,onCodeKeyDown:F,onCellInput:Y,onTableChange:C,onAdd:L,onMenu:B,onToggle:M,dragRef:k,onReorder:T,children:O}){let P=H0(null);r(()=>{let y=P.current;if(y&&Z.type!=="code"){let x=YZ(Z.content);if(y.innerHTML!==x&&V9(y.innerHTML)!==Z.content)y.innerHTML=x}},[$,Z.type]);let _=l0(Z.type)&&Z.content.trim()===""&&Z.children?.[0]?.type==="code",A="block b-"+Z.type+(Z.type==="todo"&&Z.checked?" b-done":"")+(_?" list-code-host":"")+(X?" selected":"");return z("div",{class:"block-wrap"+(Q?" nested":""),children:[z("div",{class:A,"data-bid":Z.id,onDragOver:(y)=>{if(k.current&&k.current!==Z.id){if(y.preventDefault(),y.dataTransfer)y.dataTransfer.dropEffect="move";X2(y.currentTarget,y)}},onDrop:(y)=>{if(!k.current)return;y.preventDefault();let x=y.currentTarget.classList.contains("drop-after")?"after":"before",v=k.current;k.current=null,i7(),T(v,x)},children:[z("div",{class:"gutter",children:[z("button",{title:"在下方插入",onClick:L,children:z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"grip",title:"拖拽移动 · 点击菜单",draggable:!0,onClick:B,onDragStart:(y)=>{if(k.current=Z.id,y.dataTransfer)y.dataTransfer.effectAllowed="move",y.dataTransfer.setData("text/plain",Z.id);y.currentTarget.closest(".block").classList.add("dragging")},onDragEnd:(y)=>{y.currentTarget.closest(".block").classList.remove("dragging"),i7()},children:z(f,{name:"grip",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z.type==="divider"?z("hr",{},void 0,!1,void 0,this):Z.type==="table"?z(a$,{block:Z,renderKey:$,onCellInput:Y,onTableChange:C},void 0,!1,void 0,this):z(n,{children:[Z.type==="bullet"&&z("div",{class:"marker",children:"•"},void 0,!1,void 0,this),Z.type==="numbered"&&z("div",{class:"marker",children:[J,"."]},void 0,!0,void 0,this),Z.type==="todo"&&z("div",{class:"marker",children:z("input",{type:"checkbox",checked:!!Z.checked,onChange:M},void 0,!1,void 0,this)},void 0,!1,void 0,this),_?null:Z.type==="code"?z(d$,{block:Z,renderKey:$,onInput:H,onLangChange:G,onKeyDown:F},void 0,!1,void 0,this):z("div",{ref:P,class:"editable",contentEditable:!0,"data-ph":c$(Z.type),"data-ph-hint":i$(Z.type)?"slash":"kind",onInput:(y)=>q(y.currentTarget),onPaste:(y)=>W(y,y.currentTarget),onKeyDown:(y)=>K(y,y.currentTarget)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),O]},void 0,!0,void 0,this)}var d7={h1:"标题 1",h2:"标题 2",h3:"标题 3",code:"输入代码…",quote:"引用"};function c$(Z){return d7[Z]??"输入文本,“/” 唤出命令"}function i$(Z){return!(Z in d7)}function d$({block:Z,renderKey:J,onInput:Q,onLangChange:$,onKeyDown:X}){let q=H0(null),W=H0(null),G=H0(null),[K,H]=b(!1),F=(L)=>{if(W.current)W.current.innerHTML=m$(L,Z.lang);if(G.current){let M=L.split(`
113
+ `).length,k="1";for(let T=2;T<=M;T++)k+=`
114
+ `+T;G.current.textContent=k}let B=q.current;if(B)B.style.height="auto",B.style.height=B.scrollHeight+"px"};r(()=>{let L=q.current;if(L&&L.value!==Z.content)L.value=Z.content;F(Z.content)},[J,Z.lang]);let Y=Z.lang??"",C=F8.some((L)=>L.id===Y);return z("div",{class:"codeblock",children:[z("div",{class:"code-body",children:[z("div",{ref:G,class:"code-gutter","aria-hidden":"true",children:"1"},void 0,!1,void 0,this),z("div",{class:"code-scroll",children:[z("pre",{class:"code-hl","aria-hidden":"true",children:z("code",{ref:W,class:"hljs"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("textarea",{ref:q,class:"code-input",rows:1,spellcheck:!1,wrap:"off",placeholder:"输入代码…",onInput:(L)=>{let B=L.currentTarget;Q(B.value),F(B.value)},onKeyDown:(L)=>X(L,L.currentTarget),onScroll:(L)=>{let B=W.current?.parentElement;if(B)B.scrollLeft=L.currentTarget.scrollLeft}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"code-tools",children:[z("span",{class:"code-lang",children:[z("select",{value:Y,onChange:(L)=>$(L.currentTarget.value),children:[!C&&z("option",{value:Y,children:Y||"纯文本"},void 0,!1,void 0,this),F8.map((L)=>z("option",{value:L.id,children:L.label},L.id,!1,void 0,this))]},void 0,!0,void 0,this),z(f,{name:"chevronDown",cls:"ico sm"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"code-copy"+(K?" ok":""),title:"复制代码",onClick:()=>{let L=q.current?.value??Z.content;navigator.clipboard?.writeText(L).then(()=>{H(!0),setTimeout(()=>H(!1),1400)}).catch(()=>{})},children:[z(f,{name:K?"check":"copy",cls:"ico sm"},void 0,!1,void 0,this),K?"已复制":"复制"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function a$({block:Z,renderKey:J,onCellInput:Q,onTableChange:$}){let X=Z.rows??[],q=X[0]?.length??0,W=Z.align??[],G=H0(null),K=H0([]);if(K.current.length!==q)K.current=Array.from({length:q},(P,_)=>K.current[_]??160);let H=()=>{Z.rows=[...X,Array(q).fill("")],$()},F=()=>{Z.rows=X.map((P)=>[...P,""]),Z.align=[...W,null],$()},Y=(P)=>{Z.rows=X.map((A)=>{let y=[...A];return y.splice(P,0,""),y});let _=[...W];_.splice(P,0,null),Z.align=_,$()},C=(P)=>{if(q<=1)return;Z.rows=X.map((_)=>_.filter((A,y)=>y!==P)),Z.align=W.filter((_,A)=>A!==P),$()},L=(P)=>{if(P===0||X.length<=2)return;Z.rows=X.filter((_,A)=>A!==P),$()},B=(P,_)=>{let A=Array.from({length:q},(y,x)=>W[x]??null);A[P]=_,Z.align=A,$()},M=(P,_)=>{let A=G.current?.querySelector(`.doc-td[data-r="${P}"][data-c="${_}"]`);if(!A)return!1;A.focus();let y=document.createRange();y.selectNodeContents(A),y.collapse(!1);let x=getSelection();return x?.removeAllRanges(),x?.addRange(y),!0},k=(P,_,A)=>{if(P.isComposing||P.keyCode===229)return;if(P.key==="Tab"){if(P.preventDefault(),P.shiftKey){if(A>0)M(_,A-1);else if(_>0)M(_-1,q-1)}else if(A<q-1)M(_,A+1);else if(_<X.length-1)M(_+1,0);else H(),requestAnimationFrame(()=>M(X.length,0));return}if(P.key==="Enter"){if(P.preventDefault(),_<X.length-1)M(_+1,A);else H(),requestAnimationFrame(()=>M(X.length,A));return}},T=(P,_)=>{P.preventDefault(),P.stopPropagation(),xZ(P,{col:G.current?.querySelector(`col[data-tcol="${_}"]`)??null,startWidth:K.current[_]??160,min:60,onDone:(A)=>{K.current[_]=A}})},O=(P,_)=>{P.preventDefault(),P.stopPropagation(),R0(P,(A)=>z(n,{children:[z(u0,{children:"对齐方式"},void 0,!1,void 0,this),z(t,{icon:"alignLeft",label:"左对齐",checked:(W[_]??null)===null||W[_]==="left",onClick:()=>{B(_,"left"),A()}},void 0,!1,void 0,this),z(t,{icon:"alignCenter",label:"居中",checked:W[_]==="center",onClick:()=>{B(_,"center"),A()}},void 0,!1,void 0,this),z(t,{icon:"alignRight",label:"右对齐",checked:W[_]==="right",onClick:()=>{B(_,"right"),A()}},void 0,!1,void 0,this),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"plus",label:"在左侧插入列",onClick:()=>{Y(_),A()}},void 0,!1,void 0,this),z(t,{icon:"cornerUpRight",label:"在右侧插入列",onClick:()=>{Y(_+1),A()}},void 0,!1,void 0,this),z(t,{icon:"trash",label:"删除列",danger:!0,onClick:()=>{C(_),A()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))};return z("div",{class:"doc-table-wrap",children:z("div",{class:"doc-table-scroll",children:z("div",{class:"doc-table-inner",children:[z("div",{class:"doc-table-row",children:[z("table",{ref:G,class:"doc-table",children:[z("colgroup",{children:Array.from({length:q},(P,_)=>z("col",{"data-tcol":_,style:{width:K.current[_]}},_,!1,void 0,this))},void 0,!1,void 0,this),z("tbody",{children:X.map((P,_)=>z("tr",{children:P.map((A,y)=>z("td",{class:_===0?"doc-th":void 0,children:[z(l$,{value:A,renderKey:J,r:_,c:y,align:W[y]??null,onInput:(x)=>Q(_,y,x),onKeyDown:(x)=>k(x,_,y)},void 0,!1,void 0,this),_===0&&z(n,{children:[z("button",{class:"doc-col-menu",title:"列选项",onMouseDown:(x)=>O(x,y),children:z(f,{name:"chevronDown",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{class:"doc-col-resizer",onPointerDown:(x)=>T(x,y)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),y===0&&_>0&&X.length>2&&z("button",{class:"doc-row-del",title:"删除行",onMouseDown:(x)=>{x.preventDefault(),x.stopPropagation(),L(_)},children:z(f,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},y,!0,void 0,this))},_,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"doc-table-addcol",title:"新增列",onMouseDown:(P)=>{P.preventDefault(),F()},children:z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"doc-table-addrow",title:"新增行",onMouseDown:(P)=>{P.preventDefault(),H()},children:z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function l$({value:Z,renderKey:J,r:Q,c:$,align:X,onInput:q,onKeyDown:W}){let G=H0(null);return r(()=>{let K=G.current;if(K){let H=YZ(Z);if(K.innerHTML!==H&&V9(K.innerHTML)!==Z)K.innerHTML=H}},[J]),z("div",{ref:G,class:"doc-td","data-r":Q,"data-c":$,contentEditable:!0,"data-ph":Q===0?"表头":"",style:X?{textAlign:X}:void 0,onInput:(K)=>q(V9(K.currentTarget.innerHTML)),onKeyDown:(K)=>W(K)},void 0,!1,void 0,this)}function n$({term:Z,caseSensitive:J,wholeWord:Q,idx:$,total:X,onTerm:q,onToggleCase:W,onToggleWord:G,onStep:K,onClose:H}){let F=(Y)=>Y.preventDefault();return z("div",{class:"find-bar",role:"search",children:[z(f,{name:"search",cls:"ico sm find-ico"},void 0,!1,void 0,this),z("input",{type:"text",placeholder:"在文档中查找",value:Z,autoFocus:!0,onInput:(Y)=>q(Y.currentTarget.value),onKeyDown:(Y)=>{if(Y.key==="Enter")Y.preventDefault(),K(Y.shiftKey?-1:1);else if(Y.key==="Escape")Y.preventDefault(),H()}},void 0,!1,void 0,this),z("span",{class:"find-count",children:X?`${$+1} / ${X}`:Z?"无结果":""},void 0,!1,void 0,this),z("button",{class:"find-opt"+(J?" on":""),title:"区分大小写",onMouseDown:F,onClick:W,children:"Aa"},void 0,!1,void 0,this),z("button",{class:"find-opt"+(Q?" on":""),title:"全词匹配",onMouseDown:F,onClick:G,children:"全词"},void 0,!1,void 0,this),z("button",{class:"find-nav",title:"上一个 (Shift+Enter)",disabled:!X,onMouseDown:F,onClick:()=>K(-1),children:z(f,{name:"chevronDown",cls:"ico sm find-prev"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"find-nav",title:"下一个 (Enter)",disabled:!X,onMouseDown:F,onClick:()=>K(1),children:z(f,{name:"chevronDown",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"find-nav find-close",title:"关闭 (Esc)",onClick:H,children:z(f,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function r$({x:Z,y:J,onCommand:Q}){let $=(X)=>(q)=>{q.preventDefault(),Q(X)};return z("div",{class:"pop",style:{left:Math.max(8,Math.min(Z,innerWidth-220)),top:J-46,minWidth:0,padding:3,display:"flex",gap:1},children:[["bold","bold"],["italic","italic"],["underline","underline"],["strikeThrough","strike"],["code","code"],["createLink","link"]].map(([X,q])=>z("button",{class:"item",style:{width:34,justifyContent:"center",padding:"7px 0"},onMouseDown:$(X),children:z(f,{name:q,cls:"ico sm"},void 0,!1,void 0,this)},X,!1,void 0,this))},void 0,!1,void 0,this)}function o$(){let Z=getSelection();if(!Z||Z.isCollapsed)return;document.execCommand("insertHTML",!1,`<code>${FZ(Z.toString())}</code>`)}function o9(Z){document.querySelectorAll(".doc .block[data-bid]").forEach((J)=>t$(Z,J))}function t$(Z,J){let Q=J.matches(".block[data-bid]")?J:J.closest(".block[data-bid]"),$=Q?.getAttribute("data-bid"),X=$?j0(Z,$)?.block:null;if(!X||!Q)return;let q=Q.querySelector(".editable"),W=Q.querySelector(".code-input");if(q)X.content=UZ(X,q);else if(W)X.content=W.value}function s$(Z){return(Z instanceof HTMLElement?Z:Z.parentElement)?.closest(".block[data-bid]")??null}function E7(){return document.activeElement?.closest?.(".doc .block[data-bid]")?.getAttribute("data-bid")??null}function A8(Z){document.querySelector(".doc")?.classList.toggle("selecting",Z)}function z1(){getSelection()?.removeAllRanges(),document.activeElement?.blur?.(),A8(!0)}function C8(Z){let J=getSelection();if(!J||J.isCollapsed||!J.rangeCount)return Z(null);if(!J.anchorNode?.parentElement?.closest?.(".editable"))return Z(null);let $=J.getRangeAt(0),X=$.getBoundingClientRect(),q=X.width||X.height?X:$.getClientRects()[0];if(!q)return Z(null);Z({x:q.left,y:q.top})}function e$(Z){let J=getSelection()?.anchorNode?.parentElement?.closest?.(".editable"),$=J?.closest(".block")?.getAttribute("data-bid"),X=$?j0(Z,$)?.block:null;if(X&&J)X.content=UZ(X,J)}function UZ(Z,J){return V9(J.innerHTML)}function O8(){let Z=getSelection();return!!Z&&!Z.isCollapsed}function Z2(Z){let J=getSelection();if(!J||!J.rangeCount)return 0;let Q=J.getRangeAt(0);if(!Z.contains(Q.startContainer))return 0;let $=document.createRange();return $.selectNodeContents(Z),$.setEnd(Q.startContainer,Q.startOffset),$.toString().length}function $1(Z){let J=document.querySelector(`.block[data-bid="${Z}"]`),Q=document.activeElement;if(!J||!Q||!J.contains(Q))return null;if(Q instanceof HTMLTextAreaElement)return Q.selectionStart;let $=J.querySelector(".editable");return $?Z2($):null}function X1(Z,J){let Q=document.querySelector(`.block[data-bid="${Z}"] .code-input`);if(Q){Q.focus();let $=Math.min(J,Q.value.length);Q.setSelectionRange($,$);return}M8(Z,J)}function J2(Z){let J=getSelection();if(!J||!J.rangeCount||!J.isCollapsed)return!1;let Q=J.getRangeAt(0);if(!Z.contains(Q.startContainer))return!1;let $=document.createRange();return $.selectNodeContents(Z),$.setEnd(Q.startContainer,Q.startOffset),$.toString().length===0}function Q2(){let Z=getSelection();if(!Z||!Z.rangeCount)return{x:80,y:120};let J=Z.getRangeAt(0).getBoundingClientRect();return{x:J.left||80,y:J.top||120}}function z2(Z){let J=getSelection();if(!J||!J.rangeCount)return{first:!0,last:!0};let Q=J.getRangeAt(0).getBoundingClientRect(),$=Z.getBoundingClientRect();if(!Q.height&&!Q.top)return{first:!0,last:!0};let X=parseFloat(getComputedStyle(Z).lineHeight)||Q.height||20;return{first:Q.top-$.top<X*0.5,last:$.bottom-Q.bottom<X*0.5}}function $2(Z){let J=Z.textContent??"";if(J.trim()==="")return!0;let Q=getSelection();if(!Q||!Q.rangeCount||Q.isCollapsed)return!1;if(!Z.contains(Q.anchorNode)||!Z.contains(Q.focusNode))return!1;return Q.toString().length>=J.length}function _8(Z){let J=getSelection();if(!J||!J.rangeCount||!Z.contains(J.getRangeAt(0).startContainer))return{before:V9(Z.innerHTML),after:""};let Q=J.getRangeAt(0),$=(X)=>{let q=document.createRange();q.selectNodeContents(Z),X(q);let W=document.createElement("div");return W.appendChild(q.cloneContents()),V9(W.innerHTML)};return{before:$((X)=>X.setEnd(Q.startContainer,Q.startOffset)),after:$((X)=>X.setStart(Q.endContainer,Q.endOffset))}}function p7(Z){let J=document.createElement("div");return J.innerHTML=YZ(Z),(J.textContent??"").length}function M8(Z,J){let Q=document.querySelector(`.block[data-bid="${Z}"] .editable`);if(!Q)return;Q.focus();let $=document.createTreeWalker(Q,NodeFilter.SHOW_TEXT),X=J,q=null;for(let K=$.nextNode();K;K=$.nextNode()){if(q=K,X<=K.data.length)break;X-=K.data.length}let W=document.createRange();if(q)W.setStart(q,Math.min(X,q.data.length));else W.selectNodeContents(Q);W.collapse(!0);let G=getSelection();G?.removeAllRanges(),G?.addRange(W)}function E0(Z,J=!1){let Q=`.block[data-bid="${Z}"] .editable, .block[data-bid="${Z}"] .code-input`,$=document.querySelector(Q);if(!$)return;if($.focus(),$ instanceof HTMLTextAreaElement){let W=J?$.value.length:0;$.setSelectionRange(W,W);return}let X=document.createRange();X.selectNodeContents($),X.collapse(!J);let q=getSelection();q?.removeAllRanges(),q?.addRange(X)}function c7(Z){Z.style.height="auto",Z.style.height=Z.scrollHeight+"px"}var i7=$9;function X2(Z,J){v1(Z,J,"y")}function N8(){let Z=localStorage.getItem("mh-theme");return Z==="light"||Z==="dark"||Z==="system"?Z:"system"}function v8(){let Z=N8(),J=Z==="dark"||Z!=="light"&&matchMedia("(prefers-color-scheme: dark)").matches;document.documentElement.dataset.resolved=J?"dark":"light"}function a7(Z){localStorage.setItem("mh-theme",Z),v8(),W1()}function W1(){let Z=document.getElementById("theme-color-meta");if(!Z)return;let J=document.body.classList.contains("mobile")&&!document.body.classList.contains("mobile-content"),Q=getComputedStyle(document.documentElement).getPropertyValue(J?"--sidebar":"--bg").trim();if(Q)Z.setAttribute("content",Q)}function S9(Z,J){let Q=Z.replace(/^v/,"").split(".").map((X)=>parseInt(X,10)||0),$=J.replace(/^v/,"").split(".").map((X)=>parseInt(X,10)||0);for(let X=0;X<Math.max(Q.length,$.length);X++){let q=(Q[X]??0)-($[X]??0);if(q!==0)return q}return 0}var q2=[{value:"light",icon:"sun",name:"浅色",desc:"始终使用明亮界面"},{value:"dark",icon:"moon",name:"深色",desc:"始终使用暗色界面"},{value:"system",icon:"monitor",name:"跟随系统",desc:"随操作系统外观自动切换"}];function n7({onUpdatePending:Z}={}){let[J,Q]=b(N8()),$=(X)=>{a7(X),Q(X)};return z("div",{class:"set-page",children:[z("div",{class:"set-title",children:"设置"},void 0,!1,void 0,this),z("div",{class:"set-sub",children:"个性化你的 Metahub 工作区。"},void 0,!1,void 0,this),z("div",{class:"set-section",children:[z("div",{class:"set-section-head",children:"外观"},void 0,!1,void 0,this),z("div",{class:"set-section-desc",children:"选择界面的颜色主题。"},void 0,!1,void 0,this),z("div",{class:"theme-grid",children:q2.map((X)=>z("button",{class:"theme-card"+(J===X.value?" sel":""),"aria-pressed":J===X.value,onClick:()=>$(X.value),children:[z("span",{class:"tc-check",children:z(f,{name:"check"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"tc-ico",children:z(f,{name:X.icon},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"tc-name",children:X.name},void 0,!1,void 0,this),z("span",{class:"tc-desc",children:X.desc},void 0,!1,void 0,this)]},X.value,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),typeof window<"u"&&window.metahubDesktop?.quicknote&&z(F2,{},void 0,!1,void 0,this),z(G2,{},void 0,!1,void 0,this),z(Y2,{},void 0,!1,void 0,this),z(U2,{},void 0,!1,void 0,this),z(H2,{onUpdatePending:Z},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function W2(){if(typeof Worker>"u"||typeof navigator>"u")return"此浏览器不支持 Web Worker。";if(!window.isSecureContext)return"需要 HTTPS(安全上下文)。当前是 http:// 访问,浏览器不开放离线所需的 OPFS 与 Service Worker——给服务器配置 TLS(--tls-cert/--tls-key,或 Caddy / Tailscale Serve 反代;iPhone 需要受信任的证书),或在本机用 localhost 访问。";if(!navigator.storage?.getDirectory)return"此浏览器不支持 OPFS 本地存储(需要 Safari 17+ / Chrome / Firefox 较新版本)。";return null}function G2(){let Z=W2(),[J,Q]=b(bZ()),[$,X]=b(K4()),[q,W]=b(!1),[G,K]=b(null);r(()=>fZ((L)=>X({...L})),[]),r(()=>{if(!J||!navigator.storage?.estimate)return;let L=!0,B=()=>navigator.storage.estimate().then((k)=>{if(L&&k.usage!=null)K((k.usage/1024/1024).toFixed(1))});B();let M=fZ(()=>void B());return()=>{L=!1,M()}},[J]);let H=async()=>{if(!await b0({title:"重置本地副本",message:"将删除此浏览器里的全部本地数据(服务器数据不受影响),并停用离线副本。未同步的本地修改会丢失——建议先「立即同步」。",confirmLabel:"删除并重置",danger:!0}))return;W(!0);try{await L4(),Q(!1),Z0("本地副本已重置")}catch(B){Z0(`重置失败:${B.message}`)}finally{W(!1)}},F=async()=>{W(!0);try{await U4(),Q(!0),Z0("离线副本已启用,正在下载数据…")}catch(L){Z0(`启用失败:${L.message}`)}finally{W(!1)}},Y=async()=>{if(!await b0({title:"停用离线副本",message:"此浏览器将恢复纯在线模式。已下载的本地数据保留在浏览器里,重新启用后从断点续传。",confirmLabel:"停用",danger:!0}))return;W(!0);try{await B4(),Q(!1),Z0("已停用离线副本")}finally{W(!1)}},C=()=>{if(!J)return"未启用 — 此浏览器为纯在线客户端,断网不可用。";if($.state==="error")return`副本异常(已自动回退在线模式):${$.error??"未知错误"}`;if($.state==="hydrating")return`正在下载数据… 已接收 ${$.hydrated??0} 条变更`;if($.lastSync){let L=R8($.lastSync.at);return $.lastSync.ok?`本地优先已生效 · 上次同步 ${L}(推送 ${$.lastSync.pushed} / 拉取 ${$.lastSync.pulled})`:`上次同步失败(${L}):${$.lastSync.error??""} — 本地读写不受影响,恢复网络后自动重试`}return"等待首次同步…"};if(Z)return z("div",{class:"set-section",children:[z("div",{class:"set-section-head",children:"离线副本"},void 0,!1,void 0,this),z("div",{class:"set-section-desc",children:"让此浏览器持有完整的本地数据副本:弱网/离线也能查看和编辑全部内容,恢复连接后自动同步。"},void 0,!1,void 0,this),z("div",{class:"peer-sub",children:["⚠ 当前环境不可用:",Z]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);return z("div",{class:"set-section",children:[z("div",{class:"set-section-head",children:"离线副本"},void 0,!1,void 0,this),z("div",{class:"set-section-desc",children:"让此浏览器持有完整的本地数据副本:弱网/离线也能查看和编辑全部内容,恢复连接后自动同步。 启用即与服务器配对,凭据可在「已授权设备」中单独吊销。"},void 0,!1,void 0,this),z("div",{class:"peer-actions",children:J?z(n,{children:[z("button",{class:"btn btn-secondary",disabled:q,onClick:()=>D9(),children:[z(f,{name:"share",cls:"ico sm"},void 0,!1,void 0,this)," 立即同步"]},void 0,!0,void 0,this),z("button",{class:"btn btn-ghost",disabled:q,onClick:Y,children:"停用"},void 0,!1,void 0,this),z("button",{class:"btn btn-ghost",disabled:q,onClick:H,children:"重置本地副本"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):z("button",{class:"btn btn-primary",disabled:q,onClick:F,children:[z(f,{name:"check",cls:"ico sm"},void 0,!1,void 0,this)," ",q?"启用中…":"启用离线副本"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z("div",{class:"peer-sub",style:"margin-top:8px",children:[C(),J&&$.node?` · 节点 ${$.node}`:"",J&&G?` · 本地占用 ${G} MB`:""]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function H2({onUpdatePending:Z}){let J=typeof window<"u"?window.metahubDesktop?.coreUpdate:void 0,[Q,$]=b(null),[X,q]=b(null),[W,G]=b(null),[K,H]=b(null),[F,Y]=b("idle"),[C,L]=b("");r(()=>{u.version().then((_)=>q(_.version)).catch(()=>q(null)),(typeof window<"u"?window.metahubDesktop:void 0)?.appVersion?.().then($).catch(()=>$(null)),J?.installedVersion().then(G).catch(()=>G(null))},[]),r(()=>{if(F==="idle"&&X&&W&&S9(W,X)>0)Y("staged"),Z?.(!0)},[X,W]);let B=()=>{if(X&&W)return S9(W,X)>0?W:X;return W??X},M=()=>!!(X&&W&&S9(W,X)>0),k=async()=>{Y("checking"),L("");try{let{latest:P}=await J.check(),_=B();if(P&&(!_||S9(P,_)>0))H(P),Y("available"),Z?.(!0);else Z0("已是最新版本"),Y(M()?"staged":"idle")}catch(P){L(P.message),Y("error")}},T=async()=>{Y("downloading"),L("");try{let P=await J.download();if(P)G(P),Y("staged"),Z?.(!0),Z0(`已下载 v${P}`);else Z0("已是最新版本"),Y(M()?"staged":"idle")}catch(P){L(P.message),Y("error")}},O=null;if(J)switch(F){case"checking":O=z("span",{class:"ver-act","aria-disabled":"true",children:"检查中…"},void 0,!1,void 0,this);break;case"downloading":O=z("span",{class:"ver-act","aria-disabled":"true",children:"下载中…"},void 0,!1,void 0,this);break;case"available":O=z("span",{class:"ver-up",children:[z("span",{class:"ver-dot pulse"},void 0,!1,void 0,this),z("span",{children:["新版本 ",z("span",{class:"ver-num",children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"ver-act accent",onClick:T,title:`下载并更新到 v${K}`,children:"下载"},void 0,!1,void 0,this)]},void 0,!0,void 0,this);break;case"staged":O=z("span",{class:"ver-up",children:[z("span",{class:"ver-dot pulse"},void 0,!1,void 0,this),z("span",{children:[z("span",{class:"ver-num",children:W},void 0,!1,void 0,this)," 待重启"]},void 0,!0,void 0,this),z("button",{class:"ver-act accent",onClick:()=>void J.restart(),title:`重启应用以更新到 v${W}`,children:"重启"},void 0,!1,void 0,this)]},void 0,!0,void 0,this);break;case"error":O=z("span",{class:"ver-up err",children:[z("span",{class:"ver-msg",children:"检查失败"},void 0,!1,void 0,this),z("button",{class:"ver-act",onClick:k,title:C||"重试",children:"重试"},void 0,!1,void 0,this)]},void 0,!0,void 0,this);break;default:O=z("button",{class:"ver-act",onClick:k,children:"检查更新"},void 0,!1,void 0,this)}return z("div",{class:"set-footer",children:[Q&&z("span",{children:["App ",z("span",{class:"ver-num",children:Q},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q&&X&&z("span",{class:"set-footer-sep",children:"·"},void 0,!1,void 0,this),X&&z("span",{children:["Core ",z("span",{class:"ver-num",children:X},void 0,!1,void 0,this)]},void 0,!0,void 0,this),O&&(X||Q)&&z("span",{class:"set-footer-sep",children:"·"},void 0,!1,void 0,this),O]},void 0,!0,void 0,this)}var k8="CommandOrControl+Shift+Space";function K2(Z){if(["Control","Meta","Alt","Shift"].includes(Z.key))return null;let J=[];if(Z.metaKey||Z.ctrlKey)J.push("CommandOrControl");if(Z.altKey)J.push("Alt");if(Z.shiftKey)J.push("Shift");let Q=Z.key;if(Q===" ")Q="Space";else if(Q.startsWith("Arrow"))Q=Q.slice(5);else if(Q.length===1)Q=Q.toUpperCase();if(J.length===0)return null;return J.push(Q),J.join("+")}function l7(Z){let J=typeof window<"u"&&window.metahubDesktop?.platform==="darwin";return Z.replace("CommandOrControl",J?"⌘":"Ctrl").replace("Alt",J?"⌥":"Alt").replace("Shift",J?"⇧":"Shift").split("+").join(J?" ":"+")}function F2(){let Z=window.metahubDesktop.quicknote,[J,Q]=b(k8),[$,X]=b(!1),[q,W]=b(!1);r(()=>{Z.getSettings().then((F)=>{Q(F.shortcut),X(F.alwaysOnTop)}).catch((F)=>Z0(`加载失败:${F.message}`))},[]);let G=async(F)=>{try{let Y=await Z.setShortcut(F);Q(Y.shortcut),Z0(`快捷键已设为 ${l7(Y.shortcut)}`)}catch(Y){Z0(`设置失败:${Y.message}`)}},K=(F)=>{if(F.preventDefault(),F.key==="Escape"){W(!1);return}let Y=K2(F);if(!Y)return;W(!1),G(Y)},H=async()=>{let F=!$;X(F);try{X(await Z.setAlwaysOnTop(F))}catch(Y){X(!F),Z0(`设置失败:${Y.message}`)}};return z("div",{class:"set-section",children:[z("div",{class:"set-section-head",children:"快速笔记"},void 0,!1,void 0,this),z("div",{class:"set-section-desc",children:"用全局快捷键随时唤起小窗记录想法。小窗也可从菜单栏图标打开。"},void 0,!1,void 0,this),z("div",{class:"qn-set-row",children:[z("div",{class:"qn-set-main",children:[z("div",{class:"qn-set-name",children:"唤起快捷键"},void 0,!1,void 0,this),z("div",{class:"qn-set-desc",children:"点击下方按钮,然后按下你想用的组合键。"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"btn btn-secondary qn-shortcut"+(q?" capturing":""),onClick:()=>W(!0),onBlur:()=>W(!1),onKeyDown:q?K:void 0,children:q?"按下组合键…":l7(J)},void 0,!1,void 0,this),J!==k8&&z("button",{class:"btn btn-ghost",title:"重置默认",onClick:()=>void G(k8),children:"重置"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"qn-set-row",children:[z("div",{class:"qn-set-main",children:[z("div",{class:"qn-set-name",children:"默认始终置顶"},void 0,!1,void 0,this),z("div",{class:"qn-set-desc",children:"小窗浮在其他窗口之上;也可在小窗内用 \uD83D\uDCCC 按钮切换。"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"btn "+($?"btn-primary":"btn-secondary"),"aria-pressed":$,onClick:()=>void H(),children:$?"已开启":"已关闭"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function R8(Z){if(!Z)return"从未";return new Date(Z).toLocaleString()}function Y2(){let[Z,J]=b(null),Q=()=>u.listPeers().then(J).catch((H)=>Z0(`加载失败:${H.message}`));r(()=>{Q()},[]);let $=async()=>{try{let H=await u.newPairingCode();Z9(z(B2,{code:H.code,exp:H.exp},void 0,!1,void 0,this))}catch(H){Z0(`生成失败:${H.message}`)}},X=()=>Z9(z(L2,{onDone:()=>{i0(),Q()}},void 0,!1,void 0,this)),q=async(H)=>{try{let F=await u.syncPeer(H.url);Z0(F.ok?`已同步:推送 ${F.pushed},拉取 ${F.pulled}`:`同步失败:${F.error}`),Q()}catch(F){Z0(`同步失败:${F.message}`)}},W=async(H)=>{await u.updatePeer(H.url,{enabled:!H.enabled}).catch((F)=>Z0(F.message)),Q()},G=async(H)=>{if(!await b0({title:"移除同步设备",message:`确定移除 ${H.url}?将停止与该设备的数据同步。`,confirmLabel:"移除",danger:!0}))return;await u.removePeer(H.url).catch((Y)=>Z0(Y.message)),Q()},K=(H,F)=>R0(H,(Y)=>z(n,{children:[z(t,{icon:"share",label:"立即同步",onClick:()=>{Y(),q(F)}},void 0,!1,void 0,this),z(t,{icon:F.enabled?"eyeOff":"check",label:F.enabled?"禁用":"启用",onClick:()=>{Y(),W(F)}},void 0,!1,void 0,this),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"trash",label:"移除",danger:!0,onClick:()=>{Y(),G(F)}},void 0,!1,void 0,this)]},void 0,!0,void 0,this));return z("div",{class:"set-section",children:[z("div",{class:"set-section-head",children:"同步设备"},void 0,!1,void 0,this),z("div",{class:"set-section-desc",children:"与其他设备配对,自动双向同步数据。在对方设备生成配对码,然后在此添加。"},void 0,!1,void 0,this),z("div",{class:"peer-actions",children:[z("button",{class:"btn btn-primary",onClick:X,children:[z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)," 添加设备"]},void 0,!0,void 0,this),z("button",{class:"btn btn-secondary",onClick:$,children:[z(f,{name:"link",cls:"ico sm"},void 0,!1,void 0,this)," 生成本机配对码"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"peer-list",children:Z==null?z("div",{class:"muted",children:"加载中…"},void 0,!1,void 0,this):Z.length===0?z("div",{class:"muted",children:"还没有配对的设备。"},void 0,!1,void 0,this):Z.map((H)=>z("div",{class:"peer-row",children:[z("span",{class:"peer-dot"+(H.enabled?H.last_status==="error"?" err":" on":" off")},void 0,!1,void 0,this),z("div",{class:"peer-main",children:[z("div",{class:"peer-url",children:H.label||H.url},void 0,!1,void 0,this),z("div",{class:"peer-sub",children:[H.enabled?"已启用":"已禁用"," · 最近同步 ",R8(H.last_sync_at),H.last_status==="error"&&H.last_error?` · 错误:${H.last_error}`:""]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"btn btn-ghost peer-menu",onClick:(F)=>K(F,H),children:z(f,{name:"dots",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},H.url,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function U2(){let[Z,J]=b(null),Q=()=>u.listGrants().then(J).catch((X)=>Z0(`加载失败:${X.message}`));r(()=>{Q()},[]);let $=async(X)=>{if(!await b0({title:"吊销凭据",message:`吊销后,持有此凭据的设备${X.peer_url?`(${X.peer_url})`:""}将无法再同步进本机。`,confirmLabel:"吊销",danger:!0}))return;await u.revokeGrant(X.token).catch((W)=>Z0(W.message)),Q()};return z("div",{class:"set-section",children:[z("div",{class:"set-section-head",children:"已授权设备"},void 0,!1,void 0,this),z("div",{class:"set-section-desc",children:"本机签发、允许其他设备同步进来的凭据。吊销即断开对方的入站访问。"},void 0,!1,void 0,this),z("div",{class:"peer-list",children:Z==null?z("div",{class:"muted",children:"加载中…"},void 0,!1,void 0,this):Z.length===0?z("div",{class:"muted",children:"还没有签发任何凭据。"},void 0,!1,void 0,this):Z.map((X)=>z("div",{class:"peer-row",children:[z("span",{class:"peer-dot on"},void 0,!1,void 0,this),z("div",{class:"peer-main",children:[z("div",{class:"peer-url",children:X.peer_url||"(未知地址)"},void 0,!1,void 0,this),z("div",{class:"peer-sub",children:[X.token.slice(0,8),"… · 签发于 ",R8(X.created_at)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"btn btn-ghost peer-menu",title:"吊销",onClick:()=>$(X),children:z(f,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},X.token,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function B2({code:Z,exp:J}){let[Q,$]=b(Math.max(0,Math.round((J-Date.now())/1000)));r(()=>{let W=setInterval(()=>$(Math.max(0,Math.round((J-Date.now())/1000))),1000);return()=>clearInterval(W)},[J]);let X=Math.floor(Q/60),q=String(Q%60).padStart(2,"0");return z(X9,{title:"本机配对码",sub:"在另一台设备上输入此服务器地址和下面的配对码即可配对。配对码一次性使用。",footer:z("button",{class:"btn btn-primary",onClick:i0,children:"完成"},void 0,!1,void 0,this),children:[z("div",{class:"pair-code",children:Z},void 0,!1,void 0,this),z("div",{class:"muted",style:{textAlign:"center",marginTop:8},children:Q>0?`${X}:${q} 后过期`:"已过期,请重新生成"},void 0,!1,void 0,this),z("button",{class:"btn btn-secondary",style:{width:"100%",marginTop:12},onClick:()=>{navigator.clipboard?.writeText(Z),Z0("已复制配对码")},children:[z(f,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this)," 复制"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function L2({onDone:Z}){let[J,Q]=b(""),[$,X]=b(""),[q,W]=b(location.origin),[G,K]=b(!1),H=async()=>{if(!J.trim()||!$.trim()){Z0("地址和配对码必填");return}K(!0);try{let F=await u.addPeerByPairing({url:J.trim(),code:$.trim(),self_url:q.trim()||void 0});await u.syncPeer(F.url).catch(()=>{}),Z0(`已配对 ${F.url}`),Z()}catch(F){Z0(`配对失败:${F.message}`),K(!1)}};return z(X9,{title:"添加同步设备",sub:"输入对方 Metahub 服务器的地址,以及它生成的一次性配对码。",footer:z(n,{children:[z("button",{class:"btn btn-secondary",onClick:i0,disabled:G,children:"取消"},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:H,disabled:G,children:G?"配对中…":"配对"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[z("div",{class:"field-label",children:"对方服务器地址"},void 0,!1,void 0,this),z("input",{class:"text-input",autofocus:!0,placeholder:"http://192.168.1.10:7777",value:J,onInput:(F)=>Q(F.target.value)},void 0,!1,void 0,this),z("div",{class:"field-label",children:"配对码"},void 0,!1,void 0,this),z("input",{class:"text-input",placeholder:"对方「生成本机配对码」得到的码",value:$,onInput:(F)=>X(F.target.value),onKeyDown:(F)=>F.key==="Enter"&&H()},void 0,!1,void 0,this),z("div",{class:"field-label",children:"本机可达地址(可选)"},void 0,!1,void 0,this),z("input",{class:"text-input",placeholder:"留空则仅本机主动同步",value:q,onInput:(F)=>W(F.target.value)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var BZ=(Z)=>location.origin+"/sites/"+Z+"/",y2=(Z)=>(/\.([a-z0-9]+)$/i.exec(Z)?.[1]??"").toLowerCase(),o7=(Z)=>Z.startsWith("image/");function t7(Z){let J=Number(Z.split("-")[0]);if(!Number.isFinite(J)||J<=0)return"—";return new Date(J).toISOString().slice(0,10)}function P2(Z){let J=y2(Z.path);if(["html","htm","js","mjs","css","json","xml"].includes(J))return"code";if(o7(Z.content_type))return"file";if(["md","txt"].includes(J))return"text";return"file"}function LZ(Z){navigator.clipboard?.writeText(Z).catch(()=>{}),Z0("已复制")}function s7(){let[Z,J]=b(null),[Q,$]=b(null),[X,q]=b(null),W=()=>u.listSites().then((H)=>{J(H),$((F)=>F?H.find((Y)=>Y.id===F.id)??null:null)}).catch((H)=>Z0(`加载失败:${H.message}`));r(()=>{W()},[]);let G=()=>Z9(z(w2,{onCreated:(H)=>{W(),$(H)}},void 0,!1,void 0,this)),K=(H,F,Y)=>{R0(H,(C)=>z(n,{children:[z(t,{icon:"externalLink",label:"复制访问地址",onClick:()=>{C(),LZ(BZ(F.name))}},void 0,!1,void 0,this),z(t,{icon:"settings",label:"修改标题…",onClick:async()=>{C();let L=await q9({title:"修改标题",label:"标题",value:F.title??F.name});if(L==null)return;try{await u.updateSite(F.id,{title:L})}catch(B){return Z0(B.message)}W()}},void 0,!1,void 0,this),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"trash",label:"删除站点",danger:!0,onClick:async()=>{if(C(),!await b0({title:"删除站点?",message:`「${F.name}」及其 ${F.file_count} 个文件将被删除。`,confirmLabel:"删除",danger:!0}))return;try{await u.deleteSite(F.id)}catch(B){return Z0(B.message)}if(Y)$(null);W()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))};return z("div",{class:"db",children:[z("div",{class:"db-head",children:[z("div",{class:"db-icon",children:"\uD83C\uDF10"},void 0,!1,void 0,this),z("div",{children:[z("div",{class:"db-title",children:"站点管理"},void 0,!1,void 0,this),z("div",{class:"db-desc",children:"静态文件站点 · 通过 /sites/<name>/ 对外提供,随同步无冲突复制"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"toolbar",children:[z("div",{class:"spacer",style:{flex:1}},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:G,children:[z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建站点"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Z==null?z("div",{class:"muted",style:{padding:20},children:"加载中…"},void 0,!1,void 0,this):Z.length===0?z("div",{class:"site-empty",children:[z("div",{class:"ei",children:"\uD83C\uDF10"},void 0,!1,void 0,this),z("div",{class:"et",children:"还没有站点"},void 0,!1,void 0,this),z("div",{class:"ed",children:"站点是一个命名文件桶,发布后可通过 /sites/<name>/ 直接访问。"},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:G,children:[z(f,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建站点"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):z(n,{children:[z("div",{class:"sites-grid",children:Z.map((H)=>z("div",{class:"site-card",onClick:()=>$(H),children:[z("div",{class:"site-card-head",children:[z("span",{class:"si",children:z(f,{name:"globe"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{class:"site-card-id",children:[z("div",{class:"slug",children:H.name},void 0,!1,void 0,this),z("div",{class:"ttl"+(H.title?"":" muted"),children:H.title||"未命名站点"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"site-addr",title:"点击复制访问地址",onClick:(F)=>{F.stopPropagation(),LZ(BZ(H.name))},children:[z(f,{name:"link",cls:"ico sm"},void 0,!1,void 0,this),z("span",{children:BZ(H.name)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"site-card-meta",children:[z("span",{children:[z("b",{children:H.file_count},void 0,!1,void 0,this)," 文件"]},void 0,!0,void 0,this),z("span",{class:"dot",children:"·"},void 0,!1,void 0,this),z("span",{children:t7(H.created_hlc)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"site-card-foot",children:[z("button",{class:"btn btn-secondary",style:{flex:1},onClick:(F)=>{F.stopPropagation(),q(H)},children:[z(f,{name:"globe",cls:"ico sm"},void 0,!1,void 0,this),"访问"]},void 0,!0,void 0,this),z("button",{class:"iconbtn",title:"更多",onClick:(F)=>{F.stopPropagation(),K(F,H)},children:z(f,{name:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},H.id,!0,void 0,this))},void 0,!1,void 0,this),z("div",{class:"gridfoot",children:[z("span",{children:["共 ",Z.length," 个站点"]},void 0,!0,void 0,this),z("span",{children:[Z.reduce((H,F)=>H+F.file_count,0)," 个文件"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q&&z(C2,{site:Q,onClose:()=>$(null),onVisit:()=>q(Q),onMenu:(H)=>K(H,Q,!0),onChanged:W},void 0,!1,void 0,this),X&&z(O2,{site:X,onClose:()=>q(null)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function w2({onCreated:Z}){let[J,Q]=b(""),[$,X]=b(""),q=async()=>{let W=J.trim().toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"");if(!W)return Z0("请填写站点名称");try{let G=await u.createSite({name:W,title:$.trim()||void 0});i0(),Z0(`已创建站点「${W}」`),Z(G)}catch(G){Z0(G.message)}};return z(X9,{title:"新建站点",sub:"创建一个命名文件桶,随同步无冲突复制。",footer:z(n,{children:[z("button",{class:"btn btn-secondary",onClick:i0,children:"取消"},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:q,children:"创建"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[z("div",{class:"field-label",children:"名称(slug)"},void 0,!1,void 0,this),z("input",{class:"text-input",autofocus:!0,value:J,placeholder:"例如:docs、demo、status",onInput:(W)=>Q(W.target.value),onKeyDown:(W)=>{if(W.key==="Enter")q()}},void 0,!1,void 0,this),z("div",{class:"field-label",children:"标题(可选)"},void 0,!1,void 0,this),z("input",{class:"text-input",value:$,placeholder:"人类可读的标题",onInput:(W)=>X(W.target.value),onKeyDown:(W)=>{if(W.key==="Enter")q()}},void 0,!1,void 0,this),z("div",{class:"muted",style:{fontSize:12,marginTop:10},children:["将通过 ",z("span",{style:{fontFamily:"var(--mono)"},children:"/sites/<名称>/"},void 0,!1,void 0,this)," 对外提供。"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function C2({site:Z,onClose:J,onVisit:Q,onMenu:$,onChanged:X}){let[q,W]=b(null),G=H0(null),{open:K,close:H}=N9(J),F=()=>u.listSiteFiles(Z.id).then(W).catch((B)=>Z0(B.message));r(()=>{let B=!1;return W(null),u.listSiteFiles(Z.id).then((M)=>!B&&W(M)).catch((M)=>!B&&Z0(M.message)),()=>{B=!0}},[Z.id]);let Y=async(B)=>{let M=B.target,k=Array.from(M.files??[]);if(M.value="",!k.length)return;let T=0;try{for(let O of k)await u.uploadSiteFile(Z.id,O.name,O),T++;Z0(`已上传 ${T} 个文件`)}catch(O){Z0(`已上传 ${T}/${k.length} 个,其余失败:${O.message}`)}finally{F(),X()}},C=async(B)=>{if(!await b0({title:"删除文件?",message:`「${B.path}」将从站点「${Z.name}」中删除。`,confirmLabel:"删除",danger:!0}))return;try{await u.deleteSiteFile(Z.id,B.path)}catch(k){return Z0(k.message)}F(),X()},L=BZ(Z.name);return z(n,{children:[z("div",{class:"scrim"+(K?" open":""),onClick:H},void 0,!1,void 0,this),z("div",{class:"peek"+(K?" open":""),children:[z("div",{class:"peek-head",children:[z("button",{class:"iconbtn",onClick:H,children:z(f,{name:"x"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{style:{flex:1,display:"flex",alignItems:"center",gap:8,minWidth:0,fontWeight:600,fontSize:14},children:[z(f,{name:"globe",cls:"ico sm"},void 0,!1,void 0,this),z("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:Z.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"btn btn-secondary",onClick:()=>G.current?.click(),children:[z(f,{name:"upload",cls:"ico sm"},void 0,!1,void 0,this),"上传文件"]},void 0,!0,void 0,this),z("button",{class:"iconbtn",title:"更多",onClick:(B)=>$(B),children:z(f,{name:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("input",{ref:G,type:"file",multiple:!0,style:{display:"none"},onChange:Y},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"peek-body",children:[z("h2",{style:{margin:"0 0 20px"},children:Z.title||Z.name},void 0,!1,void 0,this),z("div",{class:"acc-link",children:[z("span",{class:"url",children:L},void 0,!1,void 0,this),z("button",{title:"复制地址",onClick:()=>LZ(L),children:z(f,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"accent",title:"访问站点",onClick:Q,children:z(f,{name:"globe",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"site-meta",children:[z("span",{children:[z("b",{children:q?.length??Z.file_count},void 0,!1,void 0,this)," 个文件"]},void 0,!0,void 0,this),z("span",{children:["创建于 ",t7(Z.created_hlc)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"files-head",children:[z("span",{children:"文件"},void 0,!1,void 0,this),z("span",{children:q?.length??""},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q==null?z("div",{class:"muted",children:"加载中…"},void 0,!1,void 0,this):q.length===0?z("div",{class:"site-empty",style:{marginTop:4},children:[z("div",{class:"ei",children:"\uD83D\uDCC1"},void 0,!1,void 0,this),z("div",{class:"et",children:"站点还没有文件"},void 0,!1,void 0,this),z("div",{class:"ed",children:"上传文件后即可通过站点地址访问。"},void 0,!1,void 0,this),z("button",{class:"btn btn-secondary",onClick:()=>G.current?.click(),children:[z(f,{name:"upload",cls:"ico sm"},void 0,!1,void 0,this),"上传文件"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):z("div",{children:q.map((B)=>z("div",{class:"filerow",onClick:()=>Z9(z(r7,{site:Z,file:B},void 0,!1,void 0,this)),children:[z("span",{class:"fi",children:z(f,{name:P2(B),cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"fpath",children:B.path},void 0,!1,void 0,this),z("span",{class:"enc-badge"+(B.encoding==="blob"?" blob":""),children:B.encoding},void 0,!1,void 0,this),z("div",{class:"facts",children:[z("button",{title:"预览",onClick:(M)=>{M.stopPropagation(),Z9(z(r7,{site:Z,file:B},void 0,!1,void 0,this))},children:z(f,{name:"eye",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{title:"复制路径",onClick:(M)=>{M.stopPropagation(),LZ("/sites/"+Z.name+"/"+B.path)},children:z(f,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"del",title:"删除",onClick:(M)=>{M.stopPropagation(),C(B)},children:z(f,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},B.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function r7({site:Z,file:J}){let Q="/sites/"+Z.name+"/"+J.path,[$,X]=b(null),q=o7(J.content_type),W=!q&&(J.encoding==="utf8"||/text\/|json|javascript|xml/.test(J.content_type));return r(()=>{if(!W)return;fetch(Q).then((G)=>G.text()).then(X).catch(()=>X("(无法加载内容)"))},[Q]),z(X9,{title:J.path,sub:Q,width:680,footer:z(n,{children:[z("button",{class:"btn btn-secondary",onClick:()=>LZ(Q),children:"复制路径"},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:i0,children:"关闭"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[z("div",{style:{display:"flex",gap:10,flexWrap:"wrap",alignItems:"center",color:"var(--muted)",fontSize:12,marginBottom:12},children:[z("span",{children:J.content_type},void 0,!1,void 0,this),z("span",{class:"enc-badge"+(J.encoding==="blob"?" blob":""),children:J.encoding},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q?z("img",{src:Q,style:{maxWidth:"100%",borderRadius:"var(--radius)",border:"1px solid var(--line)"}},void 0,!1,void 0,this):W?$==null?z("div",{class:"muted",children:"加载中…"},void 0,!1,void 0,this):z("div",{class:"preview-box",children:$},void 0,!1,void 0,this):z("div",{class:"preview-bin",children:[z("div",{class:"pi",children:"\uD83D\uDCE6"},void 0,!1,void 0,this),z("div",{class:"pt",children:"二进制文件 · 在新标签打开查看"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function O2({site:Z,onClose:J}){r(()=>{let $=(X)=>{if(X.key==="Escape")J()};return addEventListener("keydown",$),()=>removeEventListener("keydown",$)},[]);let Q="/sites/"+Z.name+"/";return z("div",{class:"spv-scrim open",onClick:($)=>{if($.target===$.currentTarget)J()},children:z("div",{class:"spv",children:[z("div",{class:"spv-chrome",children:[z("div",{class:"spv-dots",children:[z("i",{},void 0,!1,void 0,this),z("i",{},void 0,!1,void 0,this),z("i",{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"spv-url",children:[z(f,{name:"lock",cls:"ico sm"},void 0,!1,void 0,this),z("span",{children:BZ(Z.name)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"spv-btn",title:"在新标签打开",onClick:()=>window.open(Q,"_blank"),children:[z(f,{name:"externalLink",cls:"ico sm"},void 0,!1,void 0,this),"新标签"]},void 0,!0,void 0,this),z("button",{class:"spv-btn icon",title:"关闭",onClick:J,children:z(f,{name:"x"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("iframe",{class:"spv-frame",src:Q,sandbox:"allow-scripts allow-same-origin"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function T8(Z){switch(Z.kind){case"db":return`#/db/${encodeURIComponent(Z.id)}`;case"doc":return`#/doc/${encodeURIComponent(Z.id)}`;case"search":return`#/search?q=${encodeURIComponent(Z.q)}`;case"settings":return"#/settings";case"sites":return"#/sites";case"empty":return"#/"}}function V8(Z){if(!Z.startsWith("#/"))return{kind:"empty"};let[J="",Q=""]=Z.slice(2).split("?",2),[$,X=""]=J.split("/",2);try{if($==="db"&&X)return{kind:"db",id:decodeURIComponent(X)};if($==="doc"&&X)return{kind:"doc",id:decodeURIComponent(X)};if($==="search"){let q=new URLSearchParams(Q).get("q");if(q)return{kind:"search",q}}if($==="settings")return{kind:"settings"};if($==="sites")return{kind:"sites"}}catch{}return{kind:"empty"}}var e7="mh-quicknote-last",ZJ="mh-quicknote-parent",JJ="Quick Notes";function _2(Z,J){return(J.created_hlc??"").localeCompare(Z.created_hlc??"")}async function A2(){let Z=localStorage.getItem(ZJ);if(Z)try{return await u.getDocument(Z),Z}catch{}let $=(await u.listDocuments()).find((X)=>X.parent_id==null&&X.title===JJ)?.id??(await u.createDocument({title:JJ})).id;return localStorage.setItem(ZJ,$),$}function QJ(){let[Z,J]=b(null),[Q,$]=b([]),[X,q]=b(null),[W,G]=b(""),[K,H]=b(!1),F=H0(null),Y=typeof window<"u"?window.metahubDesktop?.quicknote:void 0,C=O9(async(P)=>{let _=(await u.listDocumentsByParent(P)).sort(_2);return $(_),_},[]);r(()=>{if(!Z)return;let P,_=()=>{clearTimeout(P),P=setTimeout(()=>void C(Z),80)};return document.addEventListener(e0,_),()=>{clearTimeout(P),document.removeEventListener(e0,_)}},[Z,C]);let L=O9(async(P)=>{let _=await u.createDocument({title:"",parent_id:P});return await C(P),_.id},[C]);r(()=>{(async()=>{try{let P=await A2();J(P);let _=await C(P),A=localStorage.getItem(e7),y=A&&_.some((x)=>x.id===A)&&A||_[0]?.id||await L(P);q(y)}catch(P){G(String(P.message))}})()},[C,L]),r(()=>{if(X)localStorage.setItem(e7,X)},[X]),r(()=>{Y?.getAlwaysOnTop().then(H).catch(()=>{})},[Y]),r(()=>{if(!Y)return;let P=(_)=>{if(_.key==="Escape")Y.hide()};return addEventListener("keydown",P),()=>removeEventListener("keydown",P)},[Y]);let B=async()=>{if(!Z)return;try{q(await L(Z))}catch(P){G(String(P.message))}},M=async()=>{if(!Y)return;let P=!K;H(P);try{H(await Y.setAlwaysOnTop(P))}catch{H(!P)}},k=async()=>{if(!X||!Z)return;if(!await b0({title:"删除笔记?",message:"该快速笔记将被删除。",confirmLabel:"删除",danger:!0}))return;await u.deleteDocument(X);let _=await C(Z);q(_[0]?.id??await L(Z))},T=(P)=>{R0(P,(_)=>z(n,{children:[z(u0,{children:"快速笔记"},void 0,!1,void 0,this),Q.length===0&&z("div",{class:"lbl",children:"还没有笔记"},void 0,!1,void 0,this),Q.map((A)=>z(t,{icon:"file",label:A.title||"无标题",checked:A.id===X,onClick:()=>{_(),q(A.id)}},A.id,!1,void 0,this)),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"plus",label:"新建笔记",onClick:()=>{_(),B()}},void 0,!1,void 0,this),X&&z(t,{icon:"trash",label:"删除当前笔记",danger:!0,onClick:()=>{_(),k()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),{minWidth:220})},O=Q.find((P)=>P.id===X)?.title;return z("div",{class:"qn",children:[z("div",{class:"qn-bar",children:[z("span",{class:"qn-brand",children:O||"快速笔记"},void 0,!1,void 0,this),z("div",{class:"qn-actions",children:[z("button",{class:"iconbtn",title:"新建笔记",onClick:()=>void B(),children:z(f,{name:"plus"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"iconbtn",title:"笔记列表",onClick:T,children:z(f,{name:"list"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Y&&z("button",{class:"iconbtn"+(K?" active":""),title:K?"取消置顶":"始终置顶",onClick:()=>void M(),children:z(f,{name:"pin"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W&&z("div",{class:"error-bar",onClick:()=>G(""),children:["⚠ ",W,"(点击关闭)"]},void 0,!0,void 0,this),z("div",{class:"qn-body",children:X?z(q1,{docId:X,onError:G,onHandle:(P)=>F.current=P},X,!1,void 0,this):z("div",{class:"empty",children:z("div",{children:"加载中…"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),z(DZ,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var M2=/[",\r\n]/;function N2(Z){return M2.test(Z)?`"${Z.replace(/"/g,'""')}"`:Z}function zJ(Z){return Z.map((J)=>J.map(N2).join(",")).join(`
115
+ `)}function S8(Z,J){let Q=J.startsWith(".")?J:"."+J,$=Z.trim().replace(/[\\/:*?"<>|\x00-\x1f]/g,"-").replace(/\s+/g," ").replace(/^\.+$/,"").slice(0,90)||"untitled";return $.toLowerCase().endsWith(Q.toLowerCase())?$:$+Q}function I8(Z,J,Q){let $=URL.createObjectURL(new Blob([J],{type:Q})),X=document.createElement("a");X.href=$,X.download=Z,document.body.appendChild(X),X.click(),X.remove(),setTimeout(()=>URL.revokeObjectURL($),0)}function $J(Z,J){let Q=["id",...Z.map((X)=>X.name)],$=J.map((X)=>[X.id,...Z.map((q)=>v2(X.cells[q.id]))]);return zJ([Q,...$])}function v2(Z){if(Z==null)return"";if(typeof Z==="boolean")return Z?"true":"false";if(typeof Z==="object")return JSON.stringify(Z);return String(Z)}function k2(){let[Z,J]=b(()=>typeof window<"u"&&window.matchMedia(jZ).matches);return r(()=>{let Q=window.matchMedia(jZ),$=()=>J(Q.matches);return Q.addEventListener("change",$),()=>Q.removeEventListener("change",$)},[]),Z}function R2(){let[Z,J]=b([]),[Q,$]=b([]),[X,q]=b(()=>V8(location.hash)),[W,G]=b(""),[K,H]=b(!1),[F,Y]=b(268),[C,L]=b("blocks"),[B,M]=b(!1),[k,T]=b(!1),[O,P]=b(!1),[_,A]=b(!1),y=H0(null),x=k2(),v=O9((p)=>G(p),[]),E=O9((p)=>{y.current=p},[]),J0=O9(async()=>{let[p,s]=await Promise.all([u.listDatabases(),u.listDocuments()]);J(p),$(s),M(!0)},[]);r(()=>{J0().catch((p)=>v(String(p.message)))},[J0]),r(()=>{let p,s=()=>{clearTimeout(p),p=setTimeout(()=>J0().catch((Y0)=>v(String(Y0.message))),80)};return document.addEventListener(e0,s),()=>{clearTimeout(p),document.removeEventListener(e0,s)}},[J0,v]),r(()=>{y4()},[]),r(()=>{if(typeof navigator>"u"||!("serviceWorker"in navigator))return;if(!window.isSecureContext)return;let p=navigator.serviceWorker.controller!=null,s=!1;navigator.serviceWorker.register("/sw.js").catch((U0)=>{console.warn("[webui] service worker registration failed —",U0)});let Y0=()=>{if(!p||s)return;s=!0,Z0("界面已更新,刷新页面生效")};return navigator.serviceWorker.addEventListener("controllerchange",Y0),()=>navigator.serviceWorker.removeEventListener("controllerchange",Y0)},[]);let[l,A0]=b(typeof navigator<"u"&&!navigator.onLine);r(()=>{let p=()=>A0(!1),s=()=>A0(!0);return window.addEventListener("online",p),window.addEventListener("offline",s),()=>{window.removeEventListener("online",p),window.removeEventListener("offline",s)}},[]),r(()=>{let p=typeof window<"u"?window.metahubDesktop?.coreUpdate:void 0;if(!p)return;Promise.all([u.version().then((s)=>s.version).catch(()=>null),p.installedVersion().catch(()=>null)]).then(([s,Y0])=>{if(s&&Y0&&S9(Y0,s)>0)T(!0)})},[]);let o=(p,s)=>{let Y0=T8(p);if(location.hash!==Y0)history[s?.replace?"replaceState":"pushState"](null,"",Y0);q(p)};r(()=>{if(location.hash&&!location.hash.startsWith("#/"))history.replaceState(null,"","#/");let p=()=>q(V8(location.hash));return window.addEventListener("hashchange",p),()=>window.removeEventListener("hashchange",p)},[]);let B0=()=>u.createDocument({title:""}).then((p)=>o({kind:"doc",id:p.id})).catch((p)=>v(String(p.message))),K0=X.kind==="db"?Z.find((p)=>p.id===X.id):void 0,I=X.kind==="doc"?Q.find((p)=>p.id===X.id):void 0,V=X.kind==="doc"?X.id:null,g=X.kind==="db"?X.id:null;r(()=>{L("blocks"),P(!1)},[V]),r(()=>{A(!1)},[g]);let j=X.kind!=="empty",e=H0(0);r(()=>{let p=x&&j;if(p&&!document.body.classList.contains("mobile-content"))e.current=window.scrollY;if(document.body.classList.toggle("mobile",x),document.body.classList.toggle("mobile-content",p),W1(),x)window.scrollTo(0,p?0:e.current)},[x,j,X]),r(()=>{let p=(s)=>{if((s.metaKey||s.ctrlKey)&&s.key.toLowerCase()==="k")s.preventDefault(),document.querySelector(".sb-search input")?.focus()};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[]),r(()=>{let p=window.matchMedia("(prefers-color-scheme: dark)"),s=()=>{v8(),W1()};return p.addEventListener("change",s),()=>p.removeEventListener("change",s)},[]);let X0=(p)=>{let s=y.current?.snapshotMarkdown();y.current?.flushSave(),(s==null?u.getDocument(p.id).then((U0)=>U0.body??""):Promise.resolve(s)).then((U0)=>I8(S8(p.title||p.id,".md"),U0,"text/markdown;charset=utf-8")).catch((U0)=>v(String(U0.message)))},W0=(p)=>{Promise.all([u.listProperties(p.id),u.listRecords(p.id)]).then(([s,Y0])=>I8(S8(p.name||p.id,".csv"),$J(s,Y0),"text/csv;charset=utf-8")).catch((s)=>v(String(s.message)))},P0=(p)=>{R0(p,(s)=>z(n,{children:[z(t,{icon:"link",label:"复制链接",onClick:()=>{s(),navigator.clipboard.writeText(location.origin+location.pathname+T8(X)).then(()=>Z0("链接已复制")).catch((Y0)=>v(String(Y0.message)))}},void 0,!1,void 0,this),X.kind==="doc"&&I&&z(t,{icon:"download",label:"导出 Markdown",onClick:()=>{s(),X0(I)}},void 0,!1,void 0,this),X.kind==="db"&&K0&&z(t,{icon:"download",label:"导出 CSV",onClick:()=>{s(),W0(K0)}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},k0=(p)=>{if(X.kind==="doc"&&I)R0(p,(s)=>z(n,{children:[z(t,{icon:"code",label:C==="source"?"块方式显示":"代码方式显示",checked:C==="source",onClick:()=>{s(),y.current?.setMode(C==="source"?"blocks":"source")}},void 0,!1,void 0,this),z(t,{icon:"copy",label:"创建副本",onClick:async()=>{s(),y.current?.flushSave();try{let Y0=await u.duplicateDocument(I.id,{title:`${I.title||"无标题"} 副本`});o({kind:"doc",id:Y0.id}),Z0("已创建副本")}catch(Y0){v(String(Y0.message))}}},void 0,!1,void 0,this),z(t,{icon:"history",label:"版本历史",onClick:()=>{s(),y.current?.flushSave(),P(!0)}},void 0,!1,void 0,this),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"settings",label:"重命名…",onClick:async()=>{s();let Y0=await q9({title:"重命名文档",value:I.title});if(Y0)await u.updateDocument(I.id,{title:Y0})}},void 0,!1,void 0,this),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"trash",label:"删除文档",danger:!0,onClick:async()=>{if(s(),await b0({title:"删除文档?",message:`「${I.title||"无标题"}」将被删除。`,confirmLabel:"删除",danger:!0}))await u.deleteDocument(I.id),o({kind:"empty"},{replace:!0})}},void 0,!1,void 0,this)]},void 0,!0,void 0,this));else if(X.kind==="db"&&K0)R0(p,(s)=>z(n,{children:[z(t,{icon:"copy",label:"创建副本",onClick:async()=>{s();try{let Y0=await u.duplicateDatabase(K0.id,{name:`${K0.name} 副本`});o({kind:"db",id:Y0.id}),Z0("已创建副本")}catch(Y0){v(String(Y0.message))}}},void 0,!1,void 0,this),z(t,{icon:"history",label:"最近动态",onClick:()=>{s(),A(!0)}},void 0,!1,void 0,this),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"settings",label:"重命名…",onClick:async()=>{s();let Y0=await q9({title:"重命名数据库",value:K0.name});if(Y0&&Y0!==K0.name)await u.updateDatabase(K0.id,{name:Y0})}},void 0,!1,void 0,this),z(f0,{},void 0,!1,void 0,this),z(t,{icon:"trash",label:"删除数据库",danger:!0,onClick:async()=>{if(s(),await b0({title:"删除数据库?",message:`「${K0.name}」及其所有记录将被永久删除。`,confirmLabel:"删除",danger:!0}))await u.deleteDatabase(K0.id),o({kind:"empty"},{replace:!0})}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))};return z(n,{children:[z(C4,{databases:Z,docs:Q,view:X,navigate:o,width:F,collapsed:K,onResize:Y,onCollapse:()=>H(!0),updatePending:k,onError:v},void 0,!1,void 0,this),z("div",{class:"main",children:[z("div",{class:"topbar"+(X.kind==="empty"?" bare":""),children:[z("button",{class:"iconbtn hamburger"+(K?" show-collapsed":""),title:x?"返回":K?"展开侧栏":"菜单",onClick:()=>x?o({kind:"empty"}):H(!1),children:z(f,{name:x?"arrowLeft":"panelLeft"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{class:"crumb",children:[X.kind==="doc"&&z(n,{children:[z("span",{class:"emoji",children:z(f,{name:"file",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{children:I?.title||"无标题"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X.kind==="db"&&z(n,{children:[z("span",{class:"emoji",children:K0?.icon||"\uD83D\uDDC2️"},void 0,!1,void 0,this),z("span",{children:K0?.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X.kind==="search"&&z("span",{children:["搜索:“",X.q,"”"]},void 0,!0,void 0,this),X.kind==="settings"&&z(n,{children:[z("span",{class:"emoji",children:z(f,{name:"settings",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{children:"设置"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X.kind==="sites"&&z(n,{children:[z("span",{class:"emoji",children:z(f,{name:"globe",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{children:"站点管理"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),(X.kind==="doc"||X.kind==="db")&&z(n,{children:[z("button",{class:"btn btn-ghost",onClick:P0,children:[z(f,{name:"share",cls:"ico sm"},void 0,!1,void 0,this),"分享"]},void 0,!0,void 0,this),z("button",{class:"iconbtn",onClick:k0,children:z(f,{name:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),l&&z("div",{class:"offline-bar",children:B9()?"⚡ 离线 — 本地副本模式:可正常查看和编辑全部内容,恢复连接后自动同步":"⚡ 离线 — 可浏览已缓存的内容,修改会失败;恢复网络后自动恢复"},void 0,!1,void 0,this),W&&z("div",{class:"error-bar",onClick:()=>G(""),children:["⚠ ",W,"(点击关闭)"]},void 0,!0,void 0,this),z("div",{class:"content",children:[X.kind==="empty"&&z(T2,{onNewDoc:B0},void 0,!1,void 0,this),X.kind==="db"&&K0&&z(j4,{db:K0,onError:v},K0.id,!1,void 0,this),X.kind==="db"&&!K0&&z("div",{class:"empty",children:B?"数据库不存在或已被删除。":"加载中…"},void 0,!1,void 0,this),X.kind==="doc"&&z(q1,{docId:X.id,onError:v,onModeChange:L,onHandle:E},X.id,!1,void 0,this),X.kind==="search"&&z(S2,{q:X.q,onOpenDoc:(p)=>o({kind:"doc",id:p}),onOpenDb:(p)=>o({kind:"db",id:p})},void 0,!1,void 0,this),X.kind==="settings"&&z(n7,{onUpdatePending:T},void 0,!1,void 0,this),X.kind==="sites"&&z(s7,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),O&&X.kind==="doc"&&z(k4,{docId:X.id,onClose:()=>P(!1),onReverted:()=>y.current?.reload()},void 0,!1,void 0,this),_&&X.kind==="db"&&z(R4,{dbId:X.id,onClose:()=>A(!1)},void 0,!1,void 0,this),z(DZ,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function T2({onNewDoc:Z}){return z("div",{class:"empty",children:[z("svg",{class:"estate-art",viewBox:"0 0 220 190",fill:"none","aria-hidden":"true",children:[z("ellipse",{class:"kg-ground ground",cx:"110",cy:"176",rx:"62",ry:"8"},void 0,!1,void 0,this),z("circle",{class:"kg-glow fill-soft",cx:"116",cy:"88",r:"42"},void 0,!1,void 0,this),z("g",{class:"kg-plant",children:[z("path",{class:"kg-stem stroke-a draw",pathLength:"100",d:"M110 134 C110 117 108 106 113 92 C116 83 122 77 128 72"},void 0,!1,void 0,this),z("g",{class:"kg-leaf l1",children:z("g",{class:"kg-grow",children:z("path",{class:"fill-a",d:"M108 108 C90 100 86 88 88 80 C102 80 111 90 108 108 Z"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("g",{class:"kg-leaf l2",children:z("g",{class:"kg-grow",children:z("path",{class:"fill-a",d:"M118 90 C133 83 144 86 150 94 C139 105 125 104 118 90 Z"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("g",{class:"kg-leaf l3",children:z("g",{class:"kg-grow",children:z("path",{class:"fill-a",d:"M128 72 C128 57 136 48 146 45 C150 58 144 69 128 72 Z"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("rect",{class:"kg-cardB fill-soft",x:"76",y:"124",width:"68",height:"44",rx:"8",transform:"rotate(7 110 146)"},void 0,!1,void 0,this),z("g",{class:"kg-cardA",children:[z("rect",{class:"fill-surface stroke",x:"66",y:"128",width:"76",height:"46",rx:"9",transform:"rotate(-5 104 151)"},void 0,!1,void 0,this),z("rect",{class:"fill-a",x:"74",y:"136",width:"18",height:"18",rx:"5",transform:"rotate(-5 104 151)"},void 0,!1,void 0,this),z("rect",{class:"fill-soft",x:"98",y:"139",width:"34",height:"6",rx:"3",transform:"rotate(-5 104 151)"},void 0,!1,void 0,this),z("rect",{class:"fill-soft",x:"98",y:"150",width:"24",height:"6",rx:"3",transform:"rotate(-5 104 151)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("circle",{class:"kg-particle p1 fill-a",cx:"44",cy:"62",r:"2.6"},void 0,!1,void 0,this),z("circle",{class:"kg-particle p2 fill-soft",cx:"178",cy:"74",r:"3"},void 0,!1,void 0,this),z("circle",{class:"kg-particle p3 fill-a",cx:"40",cy:"120",r:"2"},void 0,!1,void 0,this),z("circle",{class:"kg-particle p4 fill-soft",cx:"182",cy:"126",r:"2.4"},void 0,!1,void 0,this),z("circle",{class:"kg-particle p5 fill-a",cx:"150",cy:"44",r:"2.2"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("p",{class:"estate-title",children:"空空如也"},void 0,!1,void 0,this),z("p",{class:"estate-hint",children:"从左侧选择一个数据库或文档,或新建一个开始。"},void 0,!1,void 0,this),z("button",{class:"estate-link",onClick:Z,children:"+ 新建文档"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function V2({text:Z}){let J=Z.split(/\[([^\[\]]*)\]/g);return z(n,{children:J.map((Q,$)=>$%2?z("mark",{children:Q},$,!1,void 0,this):Q)},void 0,!1,void 0,this)}function S2({q:Z,onOpenDoc:J,onOpenDb:Q}){let[$,X]=b(null);return r(()=>{X(null),u.search(Z).then(X).catch(()=>X([]))},[Z]),z("div",{class:"db",children:[z("div",{class:"db-title",style:{marginBottom:14},children:["搜索:“",Z,"”"]},void 0,!0,void 0,this),$===null&&z("p",{class:"muted",children:"搜索中…"},void 0,!1,void 0,this),$?.length===0&&z("p",{class:"muted",children:"没有匹配结果。"},void 0,!1,void 0,this),$?.map((q)=>z("div",{class:"search-hit",onClick:()=>q.type==="document"?J(q.id):q.database_id&&Q(q.database_id),children:[z("strong",{children:q.title||q.id},void 0,!1,void 0,this)," ",z("span",{class:"muted",children:q.type==="document"?"文档":"记录"},void 0,!1,void 0,this),z("div",{class:"muted",children:z(V2,{text:q.snippet},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},q.id,!0,void 0,this))]},void 0,!0,void 0,this)}if(typeof window<"u"&&window.metahubDesktop){if(document.body.classList.add("desktop"),window.metahubDesktop.platform==="darwin")document.body.classList.add("desktop-mac")}if(location.hash==="#quick"&&typeof window<"u"&&window.metahubDesktop)document.body.classList.add("quicknote"),P1(z(QJ,{},void 0,!1,void 0,this),document.getElementById("app"));else P1(z(R2,{},void 0,!1,void 0,this),document.getElementById("app"));