diffprism 0.41.0 → 0.41.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin.js
CHANGED
|
@@ -822,7 +822,7 @@ async function fetchStatus(httpPort) {
|
|
|
822
822
|
return await response.json();
|
|
823
823
|
}
|
|
824
824
|
function printStatus(status, httpPort) {
|
|
825
|
-
const version = true ? "0.41.
|
|
825
|
+
const version = true ? "0.41.1" : "0.0.0-dev";
|
|
826
826
|
console.log(`
|
|
827
827
|
DiffPrism v${version}
|
|
828
828
|
`);
|
|
@@ -862,7 +862,7 @@ async function defaultAction() {
|
|
|
862
862
|
|
|
863
863
|
// cli/src/index.ts
|
|
864
864
|
var program = new Command();
|
|
865
|
-
program.name("diffprism").description("Local-first code review tool for agent-generated changes").version(true ? "0.41.
|
|
865
|
+
program.name("diffprism").description("Local-first code review tool for agent-generated changes").version(true ? "0.41.1" : "0.0.0-dev");
|
|
866
866
|
program.action(defaultAction);
|
|
867
867
|
program.command("demo").description("Open a sample review to see DiffPrism in action").option("--dev", "Use Vite dev server").action(demo);
|
|
868
868
|
program.command("review [ref]").description("Open a browser-based diff review (local git ref or GitHub PR ref like owner/repo#123)").option("--staged", "Review staged changes").option("--unstaged", "Review unstaged changes").option("-t, --title <title>", "Review title").option("--reasoning <text>", "Agent reasoning about the changes").option("--dev", "Use Vite dev server with HMR instead of static files").option("--post-to-github", "Automatically post review back to GitHub without prompting").action(review);
|
package/dist/mcp-server.js
CHANGED
|
@@ -152,7 +152,7 @@ async function handlePrReview(pr, options) {
|
|
|
152
152
|
async function startMcpServer() {
|
|
153
153
|
const server = new McpServer({
|
|
154
154
|
name: "diffprism",
|
|
155
|
-
version: true ? "0.41.
|
|
155
|
+
version: true ? "0.41.1" : "0.0.0-dev"
|
|
156
156
|
});
|
|
157
157
|
server.tool(
|
|
158
158
|
"open_review",
|
package/package.json
CHANGED
|
@@ -303,7 +303,7 @@ Error generating stack: `+a.message+`
|
|
|
303
303
|
`,children:[zv($.status),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:`text-sm truncate ${S?"text-text-primary":"text-text-secondary"} group-hover:text-text-primary`,children:Bv($.path)}),K&&h.jsx("div",{className:"text-xs text-text-secondary truncate",children:K})]}),h.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[(()=>{const se=o[Q]??"unreviewed",re=Uv(se);return h.jsx("button",{onClick:E=>{E.stopPropagation(),f(Q)},className:`p-0.5 rounded hover:bg-text-primary/10 transition-colors cursor-pointer ${re?"":"opacity-0 group-hover:opacity-40"}`,title:re?`Status: ${se} (click to cycle)`:"Mark as reviewed (click to cycle)",children:re??h.jsx(ho,{className:"w-3.5 h-3.5 text-text-secondary"})})})(),$.additions>0&&h.jsxs("span",{className:"text-success text-xs font-mono",children:["+",$.additions]}),$.deletions>0&&h.jsxs("span",{className:"text-danger text-xs font-mono",children:["-",$.deletions]}),h.jsx("span",{className:`
|
|
304
304
|
text-[10px] font-bold px-1.5 py-0.5 rounded border
|
|
305
305
|
${L.className}
|
|
306
|
-
`,children:L.label})]})]},Q)},P=($,Q,S)=>{const L=v[Q]??!1,K=S.reduce((re,E)=>re+E.additions,0),se=S.reduce((re,E)=>re+E.deletions,0);return h.jsxs("button",{onClick:()=>le(Q),className:"w-full text-left px-3 py-1.5 flex items-center gap-2 hover:bg-text-primary/5 cursor-pointer",children:[L?h.jsx(ev,{className:"w-3.5 h-3.5 text-text-secondary flex-shrink-0"}):h.jsx(ru,{className:"w-3.5 h-3.5 text-text-secondary flex-shrink-0"}),h.jsxs("span",{className:"text-text-secondary text-xs font-semibold uppercase tracking-wide",children:[$," (",S.length,")"]}),h.jsxs("div",{className:"flex items-center gap-2 ml-auto flex-shrink-0",children:[K>0&&h.jsxs("span",{className:"text-success text-xs font-mono",children:["+",K]}),se>0&&h.jsxs("span",{className:"text-danger text-xs font-mono",children:["-",se]})]})]},`section-${Q}`)};return h.jsxs("div",{className:"flex flex-col h-full bg-surface border-r border-border",children:[h.jsxs("div",{className:"px-4 py-3 border-b border-border",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("h2",{className:"text-text-primary text-sm font-semibold",children:"Files"}),h.jsxs("div",{className:"relative",ref:O,children:[h.jsx("button",{onClick:()=>C($=>!$),className:"p-1 rounded hover:bg-text-primary/10 transition-colors cursor-pointer text-text-secondary hover:text-text-primary",title:"Quick actions",children:h.jsx(iv,{className:"w-4 h-4"})}),w&&h.jsxs("div",{className:"absolute right-0 top-full mt-1 w-52 bg-surface border border-border rounded-lg shadow-lg z-50 py-1",children:[h.jsxs("button",{onClick:()=>X("commit"),className:"w-full text-left px-3 py-2 text-sm text-text-primary hover:bg-text-primary/10 flex items-center gap-2 cursor-pointer transition-colors",children:[h.jsx(Qc,{className:"w-4 h-4 text-success"}),"Approve & Commit"]}),h.jsxs("button",{onClick:()=>X("commit_and_pr"),className:"w-full text-left px-3 py-2 text-sm text-text-primary hover:bg-text-primary/10 flex items-center gap-2 cursor-pointer transition-colors",children:[h.jsx(go,{className:"w-4 h-4 text-info"}),"Approve, Commit & PR"]})]})]})]}),h.jsxs("div",{className:"flex items-center gap-3 mt-1",children:[h.jsxs("span",{className:"text-text-secondary text-xs",children:[r.files.length," file",r.files.length!==1?"s":""]}),te>0&&h.jsxs("span",{className:"text-success text-xs font-mono",children:["+",te]}),ae>0&&h.jsxs("span",{className:"text-danger text-xs font-mono",children:["-",ae]})]})]}),h.jsx("div",{className:"flex-1 overflow-y-auto py-1",children:Z&&T?h.jsxs(h.Fragment,{children:[T.criticalFiles.length>0&&h.jsxs(h.Fragment,{children:[P("Critical","triage-critical",T.criticalFiles),!v["triage-critical"]&&T.criticalFiles.map(ne)]}),T.notableFiles.length>0&&h.jsxs(h.Fragment,{children:[P("Notable","triage-notable",T.notableFiles),!v["triage-notable"]&&T.notableFiles.map(ne)]}),T.mechanicalFiles.length>0&&h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex items-center",children:[h.jsx("div",{className:"flex-1",children:P("Mechanical","triage-mechanical",T.mechanicalFiles)}),h.jsx("button",{onClick:ee,className:"mr-3 text-[10px] font-medium text-success hover:text-success/80 cursor-pointer px-1.5 py-0.5 rounded border border-success/30 hover:bg-success/10",children:"Approve all"})]}),!v["triage-mechanical"]&&T.mechanicalFiles.map(ne)]})]}):M?h.jsxs(h.Fragment,{children:[j.length>0&&h.jsxs(h.Fragment,{children:[P("Staged Changes","staged",j),!v.staged&&j.map(ne)]}),G.length>0&&h.jsxs(h.Fragment,{children:[P("Changes","unstaged",G),!v.unstaged&&G.map(ne)]})]}):r.files.map(ne)})]})}function _m(l,r){var i=Object.keys(l);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(l);r&&(s=s.filter((function(o){return Object.getOwnPropertyDescriptor(l,o).enumerable}))),i.push.apply(i,s)}return i}function Me(l){for(var r=1;r<arguments.length;r++){var i=arguments[r]!=null?arguments[r]:{};r%2?_m(Object(i),!0).forEach((function(s){Jc(l,s,i[s])})):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(i)):_m(Object(i)).forEach((function(s){Object.defineProperty(l,s,Object.getOwnPropertyDescriptor(i,s))}))}return l}function Jc(l,r,i){return(r=(function(s){var o=(function(f,d){if(typeof f!="object"||f===null)return f;var p=f[Symbol.toPrimitive];if(p!==void 0){var g=p.call(f,d);if(typeof g!="object")return g;throw new TypeError("@@toPrimitive must return a primitive value.")}return(d==="string"?String:Number)(f)})(s,"string");return typeof o=="symbol"?o:String(o)})(r))in l?Object.defineProperty(l,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):l[r]=i,l}function Jn(l,r){if(l==null)return{};var i,s,o=(function(d,p){if(d==null)return{};var g,y,x={},v=Object.keys(d);for(y=0;y<v.length;y++)g=v[y],p.indexOf(g)>=0||(x[g]=d[g]);return x})(l,r);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(l);for(s=0;s<f.length;s++)i=f[s],r.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(l,i)&&(o[i]=l[i])}return o}function nt(l,r){return mp(l)||(function(i,s){var o=i==null?null:typeof Symbol<"u"&&i[Symbol.iterator]||i["@@iterator"];if(o!=null){var f,d,p,g,y=[],x=!0,v=!1;try{if(p=(o=o.call(i)).next,s===0){if(Object(o)!==o)return;x=!1}else for(;!(x=(f=p.call(o)).done)&&(y.push(f.value),y.length!==s);x=!0);}catch(A){v=!0,d=A}finally{try{if(!x&&o.return!=null&&(g=o.return(),Object(g)!==g))return}finally{if(v)throw d}}return y}})(l,r)||su(l,r)||yp()}function Yv(l){return mp(l)||pp(l)||su(l)||yp()}function gl(l){return(function(r){if(Array.isArray(r))return Wc(r)})(l)||pp(l)||su(l)||(function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
306
|
+
`,children:L.label})]})]},Q)},P=($,Q,S)=>{const L=v[Q]??!1,K=S.reduce((re,E)=>re+E.additions,0),se=S.reduce((re,E)=>re+E.deletions,0);return h.jsxs("button",{onClick:()=>le(Q),className:"w-full text-left px-3 py-1.5 flex items-center gap-2 hover:bg-text-primary/5 cursor-pointer",children:[L?h.jsx(ev,{className:"w-3.5 h-3.5 text-text-secondary flex-shrink-0"}):h.jsx(ru,{className:"w-3.5 h-3.5 text-text-secondary flex-shrink-0"}),h.jsxs("span",{className:"text-text-secondary text-xs font-semibold uppercase tracking-wide",children:[$," (",S.length,")"]}),h.jsxs("div",{className:"flex items-center gap-2 ml-auto flex-shrink-0",children:[K>0&&h.jsxs("span",{className:"text-success text-xs font-mono",children:["+",K]}),se>0&&h.jsxs("span",{className:"text-danger text-xs font-mono",children:["-",se]})]})]},`section-${Q}`)};return h.jsxs("div",{className:"flex flex-col h-full overflow-hidden bg-surface border-r border-border",children:[h.jsxs("div",{className:"px-4 py-3 border-b border-border",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("h2",{className:"text-text-primary text-sm font-semibold",children:"Files"}),h.jsxs("div",{className:"relative",ref:O,children:[h.jsx("button",{onClick:()=>C($=>!$),className:"p-1 rounded hover:bg-text-primary/10 transition-colors cursor-pointer text-text-secondary hover:text-text-primary",title:"Quick actions",children:h.jsx(iv,{className:"w-4 h-4"})}),w&&h.jsxs("div",{className:"absolute right-0 top-full mt-1 w-52 bg-surface border border-border rounded-lg shadow-lg z-50 py-1",children:[h.jsxs("button",{onClick:()=>X("commit"),className:"w-full text-left px-3 py-2 text-sm text-text-primary hover:bg-text-primary/10 flex items-center gap-2 cursor-pointer transition-colors",children:[h.jsx(Qc,{className:"w-4 h-4 text-success"}),"Approve & Commit"]}),h.jsxs("button",{onClick:()=>X("commit_and_pr"),className:"w-full text-left px-3 py-2 text-sm text-text-primary hover:bg-text-primary/10 flex items-center gap-2 cursor-pointer transition-colors",children:[h.jsx(go,{className:"w-4 h-4 text-info"}),"Approve, Commit & PR"]})]})]})]}),h.jsxs("div",{className:"flex items-center gap-3 mt-1",children:[h.jsxs("span",{className:"text-text-secondary text-xs",children:[r.files.length," file",r.files.length!==1?"s":""]}),te>0&&h.jsxs("span",{className:"text-success text-xs font-mono",children:["+",te]}),ae>0&&h.jsxs("span",{className:"text-danger text-xs font-mono",children:["-",ae]})]})]}),h.jsx("div",{className:"flex-1 overflow-y-auto py-1",children:Z&&T?h.jsxs(h.Fragment,{children:[T.criticalFiles.length>0&&h.jsxs(h.Fragment,{children:[P("Critical","triage-critical",T.criticalFiles),!v["triage-critical"]&&T.criticalFiles.map(ne)]}),T.notableFiles.length>0&&h.jsxs(h.Fragment,{children:[P("Notable","triage-notable",T.notableFiles),!v["triage-notable"]&&T.notableFiles.map(ne)]}),T.mechanicalFiles.length>0&&h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex items-center",children:[h.jsx("div",{className:"flex-1",children:P("Mechanical","triage-mechanical",T.mechanicalFiles)}),h.jsx("button",{onClick:ee,className:"mr-3 text-[10px] font-medium text-success hover:text-success/80 cursor-pointer px-1.5 py-0.5 rounded border border-success/30 hover:bg-success/10",children:"Approve all"})]}),!v["triage-mechanical"]&&T.mechanicalFiles.map(ne)]})]}):M?h.jsxs(h.Fragment,{children:[j.length>0&&h.jsxs(h.Fragment,{children:[P("Staged Changes","staged",j),!v.staged&&j.map(ne)]}),G.length>0&&h.jsxs(h.Fragment,{children:[P("Changes","unstaged",G),!v.unstaged&&G.map(ne)]})]}):r.files.map(ne)})]})}function _m(l,r){var i=Object.keys(l);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(l);r&&(s=s.filter((function(o){return Object.getOwnPropertyDescriptor(l,o).enumerable}))),i.push.apply(i,s)}return i}function Me(l){for(var r=1;r<arguments.length;r++){var i=arguments[r]!=null?arguments[r]:{};r%2?_m(Object(i),!0).forEach((function(s){Jc(l,s,i[s])})):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(i)):_m(Object(i)).forEach((function(s){Object.defineProperty(l,s,Object.getOwnPropertyDescriptor(i,s))}))}return l}function Jc(l,r,i){return(r=(function(s){var o=(function(f,d){if(typeof f!="object"||f===null)return f;var p=f[Symbol.toPrimitive];if(p!==void 0){var g=p.call(f,d);if(typeof g!="object")return g;throw new TypeError("@@toPrimitive must return a primitive value.")}return(d==="string"?String:Number)(f)})(s,"string");return typeof o=="symbol"?o:String(o)})(r))in l?Object.defineProperty(l,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):l[r]=i,l}function Jn(l,r){if(l==null)return{};var i,s,o=(function(d,p){if(d==null)return{};var g,y,x={},v=Object.keys(d);for(y=0;y<v.length;y++)g=v[y],p.indexOf(g)>=0||(x[g]=d[g]);return x})(l,r);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(l);for(s=0;s<f.length;s++)i=f[s],r.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(l,i)&&(o[i]=l[i])}return o}function nt(l,r){return mp(l)||(function(i,s){var o=i==null?null:typeof Symbol<"u"&&i[Symbol.iterator]||i["@@iterator"];if(o!=null){var f,d,p,g,y=[],x=!0,v=!1;try{if(p=(o=o.call(i)).next,s===0){if(Object(o)!==o)return;x=!1}else for(;!(x=(f=p.call(o)).done)&&(y.push(f.value),y.length!==s);x=!0);}catch(A){v=!0,d=A}finally{try{if(!x&&o.return!=null&&(g=o.return(),Object(g)!==g))return}finally{if(v)throw d}}return y}})(l,r)||su(l,r)||yp()}function Yv(l){return mp(l)||pp(l)||su(l)||yp()}function gl(l){return(function(r){if(Array.isArray(r))return Wc(r)})(l)||pp(l)||su(l)||(function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
307
307
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)})()}function mp(l){if(Array.isArray(l))return l}function pp(l){if(typeof Symbol<"u"&&l[Symbol.iterator]!=null||l["@@iterator"]!=null)return Array.from(l)}function su(l,r){if(l){if(typeof l=="string")return Wc(l,r);var i=Object.prototype.toString.call(l).slice(8,-1);return i==="Object"&&l.constructor&&(i=l.constructor.name),i==="Map"||i==="Set"?Array.from(l):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Wc(l,r):void 0}}function Wc(l,r){(r==null||r>l.length)&&(r=l.length);for(var i=0,s=new Array(r);i<r;i++)s[i]=l[i];return s}function yp(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
308
308
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function po(l,r){var i=typeof Symbol<"u"&&l[Symbol.iterator]||l["@@iterator"];if(!i){if(Array.isArray(l)||(i=su(l))||r){i&&(l=i);var s=0,o=function(){};return{s:o,n:function(){return s>=l.length?{done:!0}:{done:!1,value:l[s++]}},e:function(g){throw g},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
309
309
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var f,d=!0,p=!1;return{s:function(){i=i.call(l)},n:function(){var g=i.next();return d=g.done,g},e:function(g){p=!0,f=g},f:function(){try{d||i.return==null||i.return()}finally{if(p)throw f}}}}var $r=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ti(l,r){return l(r={exports:{}},r.exports),r.exports}var Mt=Ti((function(l){/*!
|
|
@@ -327,4 +327,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
327
327
|
`}return s.join("").replace(/%20/g," ")},l.exports=r,l.exports.diff_match_patch=r,l.exports.DIFF_DELETE=-1,l.exports.DIFF_INSERT=1,l.exports.DIFF_EQUAL=0}));_o.DIFF_EQUAL;_o.DIFF_DELETE;_o.DIFF_INSERT;var wS=["enhancers"],_S=function(l){var r,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=i.enhancers,o=s===void 0?[]:s,f=nt(yS(l,Jn(i,wS)),2),d=f[0],p=f[1],g=[$m(d),$m(p)],y=(r=[g[0],g[1]],o.reduce((function(O,M){return M(O)}),r)),x=nt(y,2),v=x[0],A=x[1],w=[v.map(Qm),A.map(Qm)],C=w[1];return{old:w[0].map((function(O){var M;return(M=O.children)!==null&&M!==void 0?M:[]})),new:C.map((function(O){var M;return(M=O.children)!==null&&M!==void 0?M:[]}))}};an.displayName="clike";an.aliases=[];function an(l){l.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}wi.displayName="c";wi.aliases=[];function wi(l){l.register(an),l.languages.c=l.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),l.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),l.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},l.languages.c.string],char:l.languages.c.char,comment:l.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:l.languages.c}}}}),l.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete l.languages.c.boolean}yu.displayName="cpp";yu.aliases=[];function yu(l){l.register(wi),(function(r){var i=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,s=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,function(){return i.source});r.languages.cpp=r.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,function(){return i.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:i,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),r.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,function(){return s})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),r.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:r.languages.cpp}}}}),r.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),r.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:r.languages.extend("cpp",{})}}),r.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},r.languages.cpp["base-clause"])})(l)}Co.displayName="arduino";Co.aliases=["ino"];function Co(l){l.register(yu),l.languages.arduino=l.languages.extend("cpp",{keyword:/\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\b/,constant:/\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\b/,builtin:/\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\b/}),l.languages.ino=l.languages.arduino}Oo.displayName="bash";Oo.aliases=["sh","shell"];function Oo(l){(function(r){var i="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",s={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},o={bash:s,environment:{pattern:RegExp("\\$"+i),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+i),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};r.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+i),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:o},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:s}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:o},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:o.entity}}],environment:{pattern:RegExp("\\$?"+i),alias:"constant"},variable:o.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},s.inside=r.languages.bash;for(var f=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],d=o.variable[1].inside,p=0;p<f.length;p++)d[f[p]]=r.languages.bash[f[p]];r.languages.sh=r.languages.bash,r.languages.shell=r.languages.bash})(l)}Ro.displayName="csharp";Ro.aliases=["cs","dotnet"];function Ro(l){l.register(an),(function(r){function i(re,E){return re.replace(/<<(\d+)>>/g,function(B,J){return"(?:"+E[+J]+")"})}function s(re,E,B){return RegExp(i(re,E),"")}function o(re,E){for(var B=0;B<E;B++)re=re.replace(/<<self>>/g,function(){return"(?:"+re+")"});return re.replace(/<<self>>/g,"[^\\s\\S]")}var f={type:"bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",typeDeclaration:"class enum interface record struct",contextual:"add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",other:"abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield"};function d(re){return"\\b(?:"+re.trim().replace(/ /g,"|")+")\\b"}var p=d(f.typeDeclaration),g=RegExp(d(f.type+" "+f.typeDeclaration+" "+f.contextual+" "+f.other)),y=d(f.typeDeclaration+" "+f.contextual+" "+f.other),x=d(f.type+" "+f.typeDeclaration+" "+f.other),v=o(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source,2),A=o(/\((?:[^()]|<<self>>)*\)/.source,2),w=/@?\b[A-Za-z_]\w*\b/.source,C=i(/<<0>>(?:\s*<<1>>)?/.source,[w,v]),O=i(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[y,C]),M=/\[\s*(?:,\s*)*\]/.source,j=i(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[O,M]),G=i(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[v,A,M]),T=i(/\(<<0>>+(?:,<<0>>+)+\)/.source,[G]),Z=i(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[T,O,M]),F={keyword:g,punctuation:/[<>()?,.:[\]]/},V=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,X=/"(?:\\.|[^\\"\r\n])*"/.source,ee=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;r.languages.csharp=r.languages.extend("clike",{string:[{pattern:s(/(^|[^$\\])<<0>>/.source,[ee]),lookbehind:!0,greedy:!0},{pattern:s(/(^|[^@$\\])<<0>>/.source,[X]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:s(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[O]),lookbehind:!0,inside:F},{pattern:s(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[w,Z]),lookbehind:!0,inside:F},{pattern:s(/(\busing\s+)<<0>>(?=\s*=)/.source,[w]),lookbehind:!0},{pattern:s(/(\b<<0>>\s+)<<1>>/.source,[p,C]),lookbehind:!0,inside:F},{pattern:s(/(\bcatch\s*\(\s*)<<0>>/.source,[O]),lookbehind:!0,inside:F},{pattern:s(/(\bwhere\s+)<<0>>/.source,[w]),lookbehind:!0},{pattern:s(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[j]),lookbehind:!0,inside:F},{pattern:s(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[Z,x,w]),inside:F}],keyword:g,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),r.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),r.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:s(/([(,]\s*)<<0>>(?=\s*:)/.source,[w]),lookbehind:!0,alias:"punctuation"}}),r.languages.insertBefore("csharp","class-name",{namespace:{pattern:s(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[w]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:s(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[A]),lookbehind:!0,alias:"class-name",inside:F},"return-type":{pattern:s(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[Z,O]),inside:F,alias:"class-name"},"constructor-invocation":{pattern:s(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[Z]),lookbehind:!0,inside:F,alias:"class-name"},"generic-method":{pattern:s(/<<0>>\s*<<1>>(?=\s*\()/.source,[w,v]),inside:{function:s(/^<<0>>/.source,[w]),generic:{pattern:RegExp(v),alias:"class-name",inside:F}}},"type-list":{pattern:s(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[p,C,w,Z,g.source,A,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:s(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[C,A]),lookbehind:!0,greedy:!0,inside:r.languages.csharp},keyword:g,"class-name":{pattern:RegExp(Z),greedy:!0,inside:F},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var te=X+"|"+V,ae=i(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[te]),le=o(i(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[ae]),2),ne=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,P=i(/<<0>>(?:\s*\(<<1>>*\))?/.source,[O,le]);r.languages.insertBefore("csharp","class-name",{attribute:{pattern:s(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[ne,P]),lookbehind:!0,greedy:!0,inside:{target:{pattern:s(/^<<0>>(?=\s*:)/.source,[ne]),alias:"keyword"},"attribute-arguments":{pattern:s(/\(<<0>>*\)/.source,[le]),inside:r.languages.csharp},"class-name":{pattern:RegExp(O),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var $=/:[^}\r\n]+/.source,Q=o(i(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[ae]),2),S=i(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[Q,$]),L=o(i(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source,[te]),2),K=i(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[L,$]);function se(re,E){return{interpolation:{pattern:s(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[re]),lookbehind:!0,inside:{"format-string":{pattern:s(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[E,$]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:r.languages.csharp}}},string:/[\s\S]+/}}r.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:s(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[S]),lookbehind:!0,greedy:!0,inside:se(S,Q)},{pattern:s(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[K]),lookbehind:!0,greedy:!0,inside:se(K,L)}],char:{pattern:RegExp(V),greedy:!0}}),r.languages.dotnet=r.languages.cs=r.languages.csharp})(l)}_i.displayName="markup";_i.aliases=["atom","html","mathml","rss","ssml","svg","xml"];function _i(l){l.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},l.languages.markup.tag.inside["attr-value"].inside.entity=l.languages.markup.entity,l.languages.markup.doctype.inside["internal-subset"].inside=l.languages.markup,l.hooks.add("wrap",function(r){r.type==="entity"&&(r.attributes.title=r.content.value.replace(/&/,"&"))}),Object.defineProperty(l.languages.markup.tag,"addInlined",{value:function(i,s){var o={};o["language-"+s]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:l.languages[s]},o.cdata=/^<!\[CDATA\[|\]\]>$/i;var f={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:o}};f["language-"+s]={pattern:/[\s\S]+/,inside:l.languages[s]};var d={};d[i]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return i}),"i"),lookbehind:!0,greedy:!0,inside:f},l.languages.insertBefore("markup","cdata",d)}}),Object.defineProperty(l.languages.markup.tag,"addAttribute",{value:function(r,i){l.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+r+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[i,"language-"+i],inside:l.languages[i]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),l.languages.html=l.languages.markup,l.languages.mathml=l.languages.markup,l.languages.svg=l.languages.markup,l.languages.xml=l.languages.extend("markup",{}),l.languages.ssml=l.languages.xml,l.languages.atom=l.languages.xml,l.languages.rss=l.languages.xml}vl.displayName="css";vl.aliases=[];function vl(l){(function(r){var i=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;r.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+i.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+i.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+i.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+i.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:i,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},r.languages.css.atrule.inside.rest=r.languages.css;var s=r.languages.markup;s&&(s.tag.addInlined("style","css"),s.tag.addAttribute("style","css"))})(l)}Mo.displayName="diff";Mo.aliases=[];function Mo(l){(function(r){r.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var i={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(i).forEach(function(s){var o=i[s],f=[];/^\w+$/.test(s)||f.push(/\w+/.exec(s)[0]),s==="diff"&&f.push("bold"),r.languages.diff[s]={pattern:RegExp("^(?:["+o+`].*(?:\r
|
|
328
328
|
?|
|
|
329
329
|
|(?![\\s\\S])))+`,"m"),alias:f,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(s)[0]}}}}),Object.defineProperty(r.languages.diff,"PREFIXES",{value:i})})(l)}jo.displayName="go";jo.aliases=[];function jo(l){l.register(an),l.languages.go=l.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),l.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete l.languages.go["class-name"]}ko.displayName="ini";ko.aliases=[];function ko(l){l.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}}Do.displayName="java";Do.aliases=[];function Do(l){l.register(an),(function(r){var i=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,s=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,o={pattern:RegExp(/(^|[^\w.])/.source+s+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};r.languages.java=r.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[o,{pattern:RegExp(/(^|[^\w.])/.source+s+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:o.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+s+/[A-Z]\w*\b/.source),lookbehind:!0,inside:o.inside}],keyword:i,function:[r.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),r.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),r.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":o,keyword:i,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+s+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:o.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+s+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:o.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,function(){return i.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(l)}zo.displayName="regex";zo.aliases=[];function zo(l){(function(r){var i={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},s=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,o={pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},f={pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},d="(?:[^\\\\-]|"+s.source+")",p=RegExp(d+"-"+d),g={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"};r.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:p,inside:{escape:s,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":i,"char-set":f,escape:s}},"special-escape":i,"char-set":o,backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":g}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:s,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":g}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}}})(l)}bu.displayName="javascript";bu.aliases=["js"];function bu(l){l.register(an),l.languages.javascript=l.languages.extend("clike",{"class-name":[l.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),l.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,l.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:l.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:l.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:l.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:l.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:l.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),l.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:l.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),l.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),l.languages.markup&&(l.languages.markup.tag.addInlined("script","javascript"),l.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),l.languages.js=l.languages.javascript}Lo.displayName="json";Lo.aliases=["webmanifest"];function Lo(l){l.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},l.languages.webmanifest=l.languages.json}Uo.displayName="kotlin";Uo.aliases=["kt","kts"];function Uo(l){l.register(an),(function(r){r.languages.kotlin=r.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete r.languages.kotlin["class-name"];var i={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:r.languages.kotlin}};r.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:i},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:i},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete r.languages.kotlin.string,r.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),r.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),r.languages.kt=r.languages.kotlin,r.languages.kts=r.languages.kotlin})(l)}Bo.displayName="less";Bo.aliases=[];function Bo(l){l.register(vl),l.languages.less=l.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),l.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}})}Ho.displayName="lua";Ho.aliases=[];function Ho(l){l.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}}Go.displayName="makefile";Go.aliases=[];function Go(l){l.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}}Yo.displayName="yaml";Yo.aliases=["yml"];function Yo(l){(function(r){var i=/[*&][^\s[\]{},]+/,s=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,o="(?:"+s.source+"(?:[ ]+"+i.source+")?|"+i.source+"(?:[ ]+"+s.source+")?)",f=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),d=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function p(g,y){y=(y||"").replace(/m/g,"")+"m";var x=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return o}).replace(/<<value>>/g,function(){return g});return RegExp(x,y)}r.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return o})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return o}).replace(/<<key>>/g,function(){return"(?:"+f+"|"+d+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:p(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:p(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:p(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:p(d),lookbehind:!0,greedy:!0},number:{pattern:p(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:s,important:i,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},r.languages.yml=r.languages.yaml})(l)}qo.displayName="markdown";qo.aliases=["md"];function qo(l){l.register(_i),(function(r){var i=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function s(p){return p=p.replace(/<inner>/g,function(){return i}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+p+")")}var o=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,f=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return o}),d=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;r.languages.markdown=r.languages.extend("markup",{}),r.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:r.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+f+d+"(?:"+f+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+f+d+")(?:"+f+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(o),inside:r.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+f+")"+d+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+f+"$"),inside:{"table-header":{pattern:RegExp(o),alias:"important",inside:r.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:s(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:s(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:s(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:s(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(p){["url","bold","italic","strike","code-snippet"].forEach(function(g){p!==g&&(r.languages.markdown[p].inside.content.inside[g]=r.languages.markdown[g])})}),r.hooks.add("after-tokenize",function(p){if(p.language!=="markdown"&&p.language!=="md")return;function g(y){if(!(!y||typeof y=="string"))for(var x=0,v=y.length;x<v;x++){var A=y[x];if(A.type!=="code"){g(A.content);continue}var w=A.content[1],C=A.content[3];if(w&&C&&w.type==="code-language"&&C.type==="code-block"&&typeof w.content=="string"){var O=w.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp");O=(/[a-z][\w-]*/i.exec(O)||[""])[0].toLowerCase();var M="language-"+O;C.alias?typeof C.alias=="string"?C.alias=[C.alias,M]:C.alias.push(M):C.alias=[M]}}}g(p.tokens)}),r.hooks.add("wrap",function(p){if(p.type==="code-block"){for(var g="",y=0,x=p.classes.length;y<x;y++){var v=p.classes[y],A=/language-(.+)/.exec(v);if(A){g=A[1];break}}var w=r.languages[g];if(w)p.content=r.highlight(p.content.value,w,g);else if(g&&g!=="none"&&r.plugins.autoloader){var C="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);p.attributes.id=C,r.plugins.autoloader.loadLanguages(g,function(){var O=document.getElementById(C);O&&(O.innerHTML=r.highlight(O.textContent,r.languages[g],g))})}}}),RegExp(r.languages.markup.tag.pattern.source,"gi"),r.languages.md=r.languages.markdown})(l)}Io.displayName="objectivec";Io.aliases=["objc"];function Io(l){l.register(wi),l.languages.objectivec=l.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete l.languages.objectivec["class-name"],l.languages.objc=l.languages.objectivec}Xo.displayName="perl";Xo.aliases=[];function Xo(l){(function(r){var i=/(?:\((?:[^()\\]|\\[\s\S])*\)|\{(?:[^{}\\]|\\[\s\S])*\}|\[(?:[^[\]\\]|\\[\s\S])*\]|<(?:[^<>\\]|\\[\s\S])*>)/.source;r.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(/\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,i].join("|")+")"),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp(/\b(?:m|qr)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,i].join("|")+")"+/[msixpodualngc]*/.source),greedy:!0},{pattern:RegExp(/(^|[^-])\b(?:s|tr|y)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,/([a-zA-Z0-9])(?:(?!\3)[^\\]|\\[\s\S])*\3(?:(?!\3)[^\\]|\\[\s\S])*\3/.source,i+/\s*/.source+i].join("|")+")"+/[msixpodualngcer]*/.source),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:"symbol"},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}})(l)}vu.displayName="markup-templating";vu.aliases=[];function vu(l){l.register(_i),(function(r){function i(s,o){return"___"+s.toUpperCase()+o+"___"}Object.defineProperties(r.languages["markup-templating"]={},{buildPlaceholders:{value:function(s,o,f,d){if(s.language===o){var p=s.tokenStack=[];s.code=s.code.replace(f,function(g){if(typeof d=="function"&&!d(g))return g;for(var y=p.length,x;s.code.indexOf(x=i(o,y))!==-1;)++y;return p[y]=g,x}),s.grammar=r.languages.markup}}},tokenizePlaceholders:{value:function(s,o){if(s.language!==o||!s.tokenStack)return;s.grammar=r.languages[o];var f=0,d=Object.keys(s.tokenStack);function p(g){for(var y=0;y<g.length&&!(f>=d.length);y++){var x=g[y];if(typeof x=="string"||x.content&&typeof x.content=="string"){var v=d[f],A=s.tokenStack[v],w=typeof x=="string"?x:x.content,C=i(o,v),O=w.indexOf(C);if(O>-1){++f;var M=w.substring(0,O),j=new r.Token(o,r.tokenize(A,s.grammar),"language-"+o,A),G=w.substring(O+C.length),T=[];M&&T.push.apply(T,p([M])),T.push(j),G&&T.push.apply(T,p([G])),typeof x=="string"?g.splice.apply(g,[y,1].concat(T)):x.content=T}}else x.content&&p(x.content)}return g}p(s.tokens)}}})})(l)}Zo.displayName="php";Zo.aliases=[];function Zo(l){l.register(vu),(function(r){var i=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,s=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],o=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,f=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,d=/[{}\[\](),:;]/;r.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:i,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:s,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:o,operator:f,punctuation:d};var p={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:r.languages.php},g=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:p}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:p}}];r.languages.insertBefore("php","variable",{string:g,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:i,string:g,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:s,number:o,operator:f,punctuation:d}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),r.hooks.add("before-tokenize",function(y){if(/<\?/.test(y.code)){var x=/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g;r.languages["markup-templating"].buildPlaceholders(y,"php",x)}}),r.hooks.add("after-tokenize",function(y){r.languages["markup-templating"].tokenizePlaceholders(y,"php")})})(l)}Fo.displayName="python";Fo.aliases=["py"];function Fo(l){l.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern://,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},l.languages.python["string-interpolation"].inside.interpolation.inside.rest=l.languages.python,l.languages.py=l.languages.python}Vo.displayName="r";Vo.aliases=[];function Vo(l){l.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:"operator"},boolean:/\b(?:FALSE|TRUE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:Inf|NaN)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,operator:/->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}}Ko.displayName="ruby";Ko.aliases=["rb"];function Ko(l){l.register(an),(function(r){r.languages.ruby=r.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),r.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var i={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:r.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete r.languages.ruby.function;var s="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",o=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;r.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+s+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:i,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:i,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+o),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+o+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),r.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+s),greedy:!0,inside:{interpolation:i,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:i,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:i,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+s),greedy:!0,inside:{interpolation:i,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:i,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete r.languages.ruby.string,r.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),r.languages.rb=r.languages.ruby})(l)}$o.displayName="rust";$o.aliases=[];function $o(l){(function(r){for(var i=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,s=0;s<2;s++)i=i.replace(/<self>/g,function(){return i});i=i.replace(/<self>/g,function(){return/[^\s\S]/.source}),r.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+i),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},r.languages.rust["closure-params"].inside.rest=r.languages.rust,r.languages.rust.attribute.inside.string=r.languages.rust.string})(l)}Qo.displayName="sass";Qo.aliases=[];function Qo(l){l.register(vl),(function(r){r.languages.sass=r.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),r.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete r.languages.sass.atrule;var i=/\$[-\w]+|#\{\$[-\w]+\}/,s=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];r.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:i,operator:s}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:i,operator:s,important:r.languages.sass.important}}}),delete r.languages.sass.property,delete r.languages.sass.important,r.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})})(l)}Jo.displayName="scss";Jo.aliases=[];function Jo(l){l.register(vl),l.languages.scss=l.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),l.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),l.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),l.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),l.languages.scss.atrule.inside.rest=l.languages.scss}Wo.displayName="sql";Wo.aliases=[];function Wo(l){l.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}Po.displayName="swift";Po.aliases=[];function Po(l){l.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+(/(?:elseif|if)\b/.source+"(?:[ ]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+")+"|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},l.languages.swift["string-literal"].forEach(function(r){r.inside.interpolation.inside=l.languages.swift})}ef.displayName="typescript";ef.aliases=["ts"];function ef(l){l.register(bu),(function(r){r.languages.typescript=r.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),r.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete r.languages.typescript.parameter,delete r.languages.typescript["literal-property"];var i=r.languages.extend("typescript",{});delete i["class-name"],r.languages.typescript["class-name"].inside=i,r.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:i}}}}),r.languages.ts=r.languages.typescript})(l)}xu.displayName="basic";xu.aliases=[];function xu(l){l.languages.basic={comment:{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i,function:/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,punctuation:/[,;:()]/}}tf.displayName="vbnet";tf.aliases=[];function tf(l){l.register(xu),l.languages.vbnet=l.languages.extend("basic",{comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^"])"(?:""|[^"])*"(?!")/,lookbehind:!0,greedy:!0},keyword:/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,punctuation:/[,;:(){}]/})}class Ci{constructor(r,i,s){this.property=r,this.normal=i,s&&(this.space=s)}}Ci.prototype.property={};Ci.prototype.normal={};Ci.prototype.space=null;function Fp(l,r){const i={},s={};let o=-1;for(;++o<l.length;)Object.assign(i,l[o].property),Object.assign(s,l[o].normal);return new Ci(i,s,r)}function Ai(l){return l.toLowerCase()}class Xt{constructor(r,i){this.property=r,this.attribute=i}}Xt.prototype.space=null;Xt.prototype.boolean=!1;Xt.prototype.booleanish=!1;Xt.prototype.overloadedBoolean=!1;Xt.prototype.number=!1;Xt.prototype.commaSeparated=!1;Xt.prototype.spaceSeparated=!1;Xt.prototype.commaOrSpaceSeparated=!1;Xt.prototype.mustUseProperty=!1;Xt.prototype.defined=!1;let CS=0;const ye=Na(),Je=Na(),Vp=Na(),W=Na(),Le=Na(),ml=Na(),Ot=Na();function Na(){return 2**++CS}const io=Object.freeze(Object.defineProperty({__proto__:null,boolean:ye,booleanish:Je,commaOrSpaceSeparated:Ot,commaSeparated:ml,number:W,overloadedBoolean:Vp,spaceSeparated:Le},Symbol.toStringTag,{value:"Module"})),Kc=Object.keys(io);class nf extends Xt{constructor(r,i,s,o){let f=-1;if(super(r,i),Jm(this,"space",o),typeof s=="number")for(;++f<Kc.length;){const d=Kc[f];Jm(this,Kc[f],(s&io[d])===io[d])}}}nf.prototype.defined=!0;function Jm(l,r,i){i&&(l[r]=i)}const OS={}.hasOwnProperty;function xl(l){const r={},i={};let s;for(s in l.properties)if(OS.call(l.properties,s)){const o=l.properties[s],f=new nf(s,l.transform(l.attributes||{},s),o,l.space);l.mustUseProperty&&l.mustUseProperty.includes(s)&&(f.mustUseProperty=!0),r[s]=f,i[Ai(s)]=s,i[Ai(f.attribute)]=s}return new Ci(r,i,l.space)}const Kp=xl({space:"xlink",transform(l,r){return"xlink:"+r.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),$p=xl({space:"xml",transform(l,r){return"xml:"+r.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function Qp(l,r){return r in l?l[r]:r}function Jp(l,r){return Qp(l,r.toLowerCase())}const Wp=xl({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:Jp,properties:{xmlns:null,xmlnsXLink:null}}),Pp=xl({transform(l,r){return r==="role"?r:"aria-"+r.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:Je,ariaAutoComplete:null,ariaBusy:Je,ariaChecked:Je,ariaColCount:W,ariaColIndex:W,ariaColSpan:W,ariaControls:Le,ariaCurrent:null,ariaDescribedBy:Le,ariaDetails:null,ariaDisabled:Je,ariaDropEffect:Le,ariaErrorMessage:null,ariaExpanded:Je,ariaFlowTo:Le,ariaGrabbed:Je,ariaHasPopup:null,ariaHidden:Je,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Le,ariaLevel:W,ariaLive:null,ariaModal:Je,ariaMultiLine:Je,ariaMultiSelectable:Je,ariaOrientation:null,ariaOwns:Le,ariaPlaceholder:null,ariaPosInSet:W,ariaPressed:Je,ariaReadOnly:Je,ariaRelevant:null,ariaRequired:Je,ariaRoleDescription:Le,ariaRowCount:W,ariaRowIndex:W,ariaRowSpan:W,ariaSelected:Je,ariaSetSize:W,ariaSort:null,ariaValueMax:W,ariaValueMin:W,ariaValueNow:W,ariaValueText:null,role:null}}),RS=xl({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:Jp,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:ml,acceptCharset:Le,accessKey:Le,action:null,allow:null,allowFullScreen:ye,allowPaymentRequest:ye,allowUserMedia:ye,alt:null,as:null,async:ye,autoCapitalize:null,autoComplete:Le,autoFocus:ye,autoPlay:ye,blocking:Le,capture:null,charSet:null,checked:ye,cite:null,className:Le,cols:W,colSpan:null,content:null,contentEditable:Je,controls:ye,controlsList:Le,coords:W|ml,crossOrigin:null,data:null,dateTime:null,decoding:null,default:ye,defer:ye,dir:null,dirName:null,disabled:ye,download:Vp,draggable:Je,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:ye,formTarget:null,headers:Le,height:W,hidden:ye,high:W,href:null,hrefLang:null,htmlFor:Le,httpEquiv:Le,id:null,imageSizes:null,imageSrcSet:null,inert:ye,inputMode:null,integrity:null,is:null,isMap:ye,itemId:null,itemProp:Le,itemRef:Le,itemScope:ye,itemType:Le,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:ye,low:W,manifest:null,max:null,maxLength:W,media:null,method:null,min:null,minLength:W,multiple:ye,muted:ye,name:null,nonce:null,noModule:ye,noValidate:ye,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:ye,optimum:W,pattern:null,ping:Le,placeholder:null,playsInline:ye,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:ye,referrerPolicy:null,rel:Le,required:ye,reversed:ye,rows:W,rowSpan:W,sandbox:Le,scope:null,scoped:ye,seamless:ye,selected:ye,shadowRootClonable:ye,shadowRootDelegatesFocus:ye,shadowRootMode:null,shape:null,size:W,sizes:null,slot:null,span:W,spellCheck:Je,src:null,srcDoc:null,srcLang:null,srcSet:null,start:W,step:null,style:null,tabIndex:W,target:null,title:null,translate:null,type:null,typeMustMatch:ye,useMap:null,value:Je,width:W,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Le,axis:null,background:null,bgColor:null,border:W,borderColor:null,bottomMargin:W,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:ye,declare:ye,event:null,face:null,frame:null,frameBorder:null,hSpace:W,leftMargin:W,link:null,longDesc:null,lowSrc:null,marginHeight:W,marginWidth:W,noResize:ye,noHref:ye,noShade:ye,noWrap:ye,object:null,profile:null,prompt:null,rev:null,rightMargin:W,rules:null,scheme:null,scrolling:Je,standby:null,summary:null,text:null,topMargin:W,valueType:null,version:null,vAlign:null,vLink:null,vSpace:W,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:ye,disableRemotePlayback:ye,prefix:null,property:null,results:W,security:null,unselectable:null}}),MS=xl({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:Qp,properties:{about:Ot,accentHeight:W,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:W,amplitude:W,arabicForm:null,ascent:W,attributeName:null,attributeType:null,azimuth:W,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:W,by:null,calcMode:null,capHeight:W,className:Le,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:W,diffuseConstant:W,direction:null,display:null,dur:null,divisor:W,dominantBaseline:null,download:ye,dx:null,dy:null,edgeMode:null,editable:null,elevation:W,enableBackground:null,end:null,event:null,exponent:W,externalResourcesRequired:null,fill:null,fillOpacity:W,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:ml,g2:ml,glyphName:ml,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:W,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:W,horizOriginX:W,horizOriginY:W,id:null,ideographic:W,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:W,k:W,k1:W,k2:W,k3:W,k4:W,kernelMatrix:Ot,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:W,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:W,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:W,overlineThickness:W,paintOrder:null,panose1:null,path:null,pathLength:W,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Le,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:W,pointsAtY:W,pointsAtZ:W,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Ot,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Ot,rev:Ot,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Ot,requiredFeatures:Ot,requiredFonts:Ot,requiredFormats:Ot,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:W,specularExponent:W,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:W,strikethroughThickness:W,string:null,stroke:null,strokeDashArray:Ot,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:W,strokeOpacity:W,strokeWidth:null,style:null,surfaceScale:W,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Ot,tabIndex:W,tableValues:null,target:null,targetX:W,targetY:W,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Ot,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:W,underlineThickness:W,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:W,values:null,vAlphabetic:W,vMathematical:W,vectorEffect:null,vHanging:W,vIdeographic:W,version:null,vertAdvY:W,vertOriginX:W,vertOriginY:W,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:W,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),jS=/^data[-\w.:]+$/i,Wm=/-[a-z]/g,kS=/[A-Z]/g;function DS(l,r){const i=Ai(r);let s=r,o=Xt;if(i in l.normal)return l.property[l.normal[i]];if(i.length>4&&i.slice(0,4)==="data"&&jS.test(r)){if(r.charAt(4)==="-"){const f=r.slice(5).replace(Wm,LS);s="data"+f.charAt(0).toUpperCase()+f.slice(1)}else{const f=r.slice(4);if(!Wm.test(f)){let d=f.replace(kS,zS);d.charAt(0)!=="-"&&(d="-"+d),r="data"+d}}o=nf}return new o(s,r)}function zS(l){return"-"+l.toLowerCase()}function LS(l){return l.charAt(1).toUpperCase()}const US=Fp([$p,Kp,Wp,Pp,RS],"html");Fp([$p,Kp,Wp,Pp,MS],"svg");const Pm=/[#.]/g;function BS(l,r){const i=l||"",s={};let o=0,f,d;for(;o<i.length;){Pm.lastIndex=o;const p=Pm.exec(i),g=i.slice(o,p?p.index:i.length);g&&(f?f==="#"?s.id=g:Array.isArray(s.className)?s.className.push(g):s.className=[g]:d=g,o+=g.length),p&&(f=p[0],o++)}return{type:"element",tagName:d||r||"div",properties:s,children:[]}}function ep(l){const r=String(l||"").trim();return r?r.split(/[ \t\n\r\f]+/g):[]}function tp(l){const r=[],i=String(l||"");let s=i.indexOf(","),o=0,f=!1;for(;!f;){s===-1&&(s=i.length,f=!0);const d=i.slice(o,s).trim();(d||!f)&&r.push(d),o=s+1,s=i.indexOf(",",o)}return r}const HS=new Set(["menu","submit","reset","button"]),ey={}.hasOwnProperty;function GS(l,r,i){return(function(o,f,...d){let p=-1,g;if(o==null)g={type:"root",children:[]},d.unshift(f);else if(g=BS(o,r),g.tagName=g.tagName.toLowerCase(),YS(f,g.tagName)){let y;for(y in f)ey.call(f,y)&&qS(l,g.properties,y,f[y])}else d.unshift(f);for(;++p<d.length;)ro(g.children,d[p]);return g.type==="element"&&g.tagName==="template"&&(g.content={type:"root",children:g.children},g.children=[]),g})}function YS(l,r){return l==null||typeof l!="object"||Array.isArray(l)?!1:r==="input"||!l.type||typeof l.type!="string"?!0:"children"in l&&Array.isArray(l.children)?!1:r==="button"?HS.has(l.type.toLowerCase()):!("value"in l)}function qS(l,r,i,s){const o=DS(l,i);let f=-1,d;if(s!=null){if(typeof s=="number"){if(Number.isNaN(s))return;d=s}else typeof s=="boolean"?d=s:typeof s=="string"?o.spaceSeparated?d=ep(s):o.commaSeparated?d=tp(s):o.commaOrSpaceSeparated?d=ep(tp(s).join(" ")):d=np(o,o.property,s):Array.isArray(s)?d=s.concat():d=o.property==="style"?IS(s):String(s);if(Array.isArray(d)){const p=[];for(;++f<d.length;)p[f]=np(o,o.property,d[f]);d=p}o.property==="className"&&Array.isArray(r.className)&&(d=r.className.concat(d)),r[o.property]=d}}function ro(l,r){let i=-1;if(r!=null)if(typeof r=="string"||typeof r=="number")l.push({type:"text",value:String(r)});else if(Array.isArray(r))for(;++i<r.length;)ro(l,r[i]);else if(typeof r=="object"&&"type"in r)r.type==="root"?ro(l,r.children):l.push(r);else throw new Error("Expected node, nodes, or string, got `"+r+"`")}function np(l,r,i){if(typeof i=="string"){if(l.number&&i&&!Number.isNaN(Number(i)))return Number(i);if((l.boolean||l.overloadedBoolean)&&(i===""||Ai(i)===Ai(r)))return!0}return i}function IS(l){const r=[];let i;for(i in l)ey.call(l,i)&&r.push([i,l[i]].join(": "));return r.join("; ")}const XS=GS(US,"div"),ZS=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],ap={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"};function ty(l){const r=typeof l=="string"?l.charCodeAt(0):l;return r>=48&&r<=57}function FS(l){const r=typeof l=="string"?l.charCodeAt(0):l;return r>=97&&r<=102||r>=65&&r<=70||r>=48&&r<=57}function VS(l){const r=typeof l=="string"?l.charCodeAt(0):l;return r>=97&&r<=122||r>=65&&r<=90}function lp(l){return VS(l)||ty(l)}const ip=document.createElement("i");function rp(l){const r="&"+l+";";ip.innerHTML=r;const i=ip.textContent;return i.charCodeAt(i.length-1)===59&&l!=="semi"||i===r?!1:i}const KS=["","Named character references must be terminated by a semicolon","Numeric character references must be terminated by a semicolon","Named character references cannot be empty","Numeric character references cannot be empty","Named character references must be known","Numeric character references cannot be disallowed","Numeric character references cannot be outside the permissible Unicode range"];function $S(l,r){const i={},s=typeof i.additional=="string"?i.additional.charCodeAt(0):i.additional,o=[];let f=0,d=-1,p="",g,y;i.position&&("start"in i.position||"indent"in i.position?(y=i.position.indent,g=i.position.start):g=i.position);let x=(g?g.line:0)||1,v=(g?g.column:0)||1,A=C(),w;for(f--;++f<=l.length;)if(w===10&&(v=(y?y[d]:0)||1),w=l.charCodeAt(f),w===38){const j=l.charCodeAt(f+1);if(j===9||j===10||j===12||j===32||j===38||j===60||Number.isNaN(j)||s&&j===s){p+=String.fromCharCode(w),v++;continue}const G=f+1;let T=G,Z=G,F;if(j===35){Z=++T;const P=l.charCodeAt(Z);P===88||P===120?(F="hexadecimal",Z=++T):F="decimal"}else F="named";let V="",X="",ee="";const te=F==="named"?lp:F==="decimal"?ty:FS;for(Z--;++Z<=l.length;){const P=l.charCodeAt(Z);if(!te(P))break;ee+=String.fromCharCode(P),F==="named"&&ZS.includes(ee)&&(V=ee,X=rp(ee))}let ae=l.charCodeAt(Z)===59;if(ae){Z++;const P=F==="named"?rp(ee):!1;P&&(V=ee,X=P)}let le=1+Z-G,ne="";if(!(!ae&&i.nonTerminated===!1))if(!ee)F!=="named"&&O(4,le);else if(F==="named"){if(ae&&!X)O(5,1);else if(V!==ee&&(Z=T+V.length,le=1+Z-T,ae=!1),!ae){const P=V?1:3;if(i.attribute){const $=l.charCodeAt(Z);$===61?(O(P,le),X=""):lp($)?X="":O(P,le)}else O(P,le)}ne=X}else{ae||O(2,le);let P=Number.parseInt(ee,F==="hexadecimal"?16:10);if(QS(P))O(7,le),ne="�";else if(P in ap)O(6,le),ne=ap[P];else{let $="";JS(P)&&O(6,le),P>65535&&(P-=65536,$+=String.fromCharCode(P>>>10|55296),P=56320|P&1023),ne=$+String.fromCharCode(P)}}if(ne){M(),A=C(),f=Z-1,v+=Z-G+1,o.push(ne);const P=C();P.offset++,i.reference&&i.reference.call(i.referenceContext||void 0,ne,{start:A,end:P},l.slice(G-1,Z)),A=P}else ee=l.slice(G-1,Z),p+=ee,v+=ee.length,f=Z-1}else w===10&&(x++,d++,v=0),Number.isNaN(w)?M():(p+=String.fromCharCode(w),v++);return o.join("");function C(){return{line:x,column:v,offset:f+((g?g.offset:0)||0)}}function O(j,G){let T;i.warning&&(T=C(),T.column+=G,T.offset+=G,i.warning.call(i.warningContext||void 0,KS[j],T,j))}function M(){p&&(o.push(p),i.text&&i.text.call(i.textContext||void 0,p,{start:A,end:C()}),p="")}}function QS(l){return l>=55296&&l<=57343||l>1114111}function JS(l){return l>=1&&l<=8||l===11||l>=13&&l<=31||l>=127&&l<=159||l>=64976&&l<=65007||(l&65535)===65535||(l&65535)===65534}var WS=0,eu={},tt={util:{type:function(l){return Object.prototype.toString.call(l).slice(8,-1)},objId:function(l){return l.__id||Object.defineProperty(l,"__id",{value:++WS}),l.__id},clone:function l(r,i){i=i||{};var s,o;switch(tt.util.type(r)){case"Object":if(o=tt.util.objId(r),i[o])return i[o];s={},i[o]=s;for(var f in r)r.hasOwnProperty(f)&&(s[f]=l(r[f],i));return s;case"Array":return o=tt.util.objId(r),i[o]?i[o]:(s=[],i[o]=s,r.forEach(function(d,p){s[p]=l(d,i)}),s);default:return r}}},languages:{plain:eu,plaintext:eu,text:eu,txt:eu,extend:function(l,r){var i=tt.util.clone(tt.languages[l]);for(var s in r)i[s]=r[s];return i},insertBefore:function(l,r,i,s){s=s||tt.languages;var o=s[l],f={};for(var d in o)if(o.hasOwnProperty(d)){if(d==r)for(var p in i)i.hasOwnProperty(p)&&(f[p]=i[p]);i.hasOwnProperty(d)||(f[d]=o[d])}var g=s[l];return s[l]=f,tt.languages.DFS(tt.languages,function(y,x){x===g&&y!=l&&(this[y]=f)}),f},DFS:function l(r,i,s,o){o=o||{};var f=tt.util.objId;for(var d in r)if(r.hasOwnProperty(d)){i.call(r,d,r[d],s||d);var p=r[d],g=tt.util.type(p);g==="Object"&&!o[f(p)]?(o[f(p)]=!0,l(p,i,null,o)):g==="Array"&&!o[f(p)]&&(o[f(p)]=!0,l(p,i,d,o))}}},plugins:{},highlight:function(l,r,i){var s={code:l,grammar:r,language:i};if(tt.hooks.run("before-tokenize",s),!s.grammar)throw new Error('The language "'+s.language+'" has no grammar.');return s.tokens=tt.tokenize(s.code,s.grammar),tt.hooks.run("after-tokenize",s),vi.stringify(tt.util.encode(s.tokens),s.language)},tokenize:function(l,r){var i=r.rest;if(i){for(var s in i)r[s]=i[s];delete r.rest}var o=new PS;return au(o,o.head,l),ny(l,o,r,o.head,0),tE(o)},hooks:{all:{},add:function(l,r){var i=tt.hooks.all;i[l]=i[l]||[],i[l].push(r)},run:function(l,r){var i=tt.hooks.all[l];if(!(!i||!i.length))for(var s=0,o;o=i[s++];)o(r)}},Token:vi};function vi(l,r,i,s){this.type=l,this.content=r,this.alias=i,this.length=(s||"").length|0}function up(l,r,i,s){l.lastIndex=r;var o=l.exec(i);if(o&&s&&o[1]){var f=o[1].length;o.index+=f,o[0]=o[0].slice(f)}return o}function ny(l,r,i,s,o,f){for(var d in i)if(!(!i.hasOwnProperty(d)||!i[d])){var p=i[d];p=Array.isArray(p)?p:[p];for(var g=0;g<p.length;++g){if(f&&f.cause==d+","+g)return;var y=p[g],x=y.inside,v=!!y.lookbehind,A=!!y.greedy,w=y.alias;if(A&&!y.pattern.global){var C=y.pattern.toString().match(/[imsuy]*$/)[0];y.pattern=RegExp(y.pattern.source,C+"g")}for(var O=y.pattern||y,M=s.next,j=o;M!==r.tail&&!(f&&j>=f.reach);j+=M.value.length,M=M.next){var G=M.value;if(r.length>l.length)return;if(!(G instanceof vi)){var T=1,Z;if(A){if(Z=up(O,j,l,v),!Z||Z.index>=l.length)break;var ee=Z.index,F=Z.index+Z[0].length,V=j;for(V+=M.value.length;ee>=V;)M=M.next,V+=M.value.length;if(V-=M.value.length,j=V,M.value instanceof vi)continue;for(var X=M;X!==r.tail&&(V<F||typeof X.value=="string");X=X.next)T++,V+=X.value.length;T--,G=l.slice(j,V),Z.index-=j}else if(Z=up(O,0,G,v),!Z)continue;var ee=Z.index,te=Z[0],ae=G.slice(0,ee),le=G.slice(ee+te.length),ne=j+G.length;f&&ne>f.reach&&(f.reach=ne);var P=M.prev;ae&&(P=au(r,P,ae),j+=ae.length),eE(r,P,T);var $=new vi(d,x?tt.tokenize(te,x):te,w,te);if(M=au(r,P,$),le&&au(r,M,le),T>1){var Q={cause:d+","+g,reach:ne};ny(l,r,i,M.prev,j,Q),f&&Q.reach>f.reach&&(f.reach=Q.reach)}}}}}}function PS(){var l={value:null,prev:null,next:null},r={value:null,prev:l,next:null};l.next=r,this.head=l,this.tail=r,this.length=0}function au(l,r,i){var s=r.next,o={value:i,prev:r,next:s};return r.next=o,s.prev=o,l.length++,o}function eE(l,r,i){for(var s=r.next,o=0;o<i&&s!==l.tail;o++)s=s.next;r.next=s,s.prev=r,l.length-=o}function tE(l){for(var r=[],i=l.head.next;i!==l.tail;)r.push(i.value),i=i.next;return r}const ay=tt,Sl={}.hasOwnProperty;function ly(){}ly.prototype=ay;const fe=new ly;fe.highlight=nE;fe.register=aE;fe.alias=lE;fe.registered=iE;fe.listLanguages=rE;fe.util.encode=uE;fe.Token.stringify=uo;function nE(l,r){if(typeof l!="string")throw new TypeError("Expected `string` for `value`, got `"+l+"`");let i,s;if(r&&typeof r=="object")i=r;else{if(s=r,typeof s!="string")throw new TypeError("Expected `string` for `name`, got `"+s+"`");if(Sl.call(fe.languages,s))i=fe.languages[s];else throw new Error("Unknown language: `"+s+"` is not registered")}return{type:"root",children:ay.highlight.call(fe,l,i,s)}}function aE(l){if(typeof l!="function"||!l.displayName)throw new Error("Expected `function` for `syntax`, got `"+l+"`");Sl.call(fe.languages,l.displayName)||l(fe)}function lE(l,r){const i=fe.languages;let s={};typeof l=="string"?r&&(s[l]=r):s=l;let o;for(o in s)if(Sl.call(s,o)){const f=s[o],d=typeof f=="string"?[f]:f;let p=-1;for(;++p<d.length;)i[d[p]]=i[o]}}function iE(l){if(typeof l!="string")throw new TypeError("Expected `string` for `aliasOrLanguage`, got `"+l+"`");return Sl.call(fe.languages,l)}function rE(){const l=fe.languages,r=[];let i;for(i in l)Sl.call(l,i)&&typeof l[i]=="object"&&r.push(i);return r}function uo(l,r){if(typeof l=="string")return{type:"text",value:l};if(Array.isArray(l)){const s=[];let o=-1;for(;++o<l.length;)l[o]!==null&&l[o]!==void 0&&l[o]!==""&&s.push(uo(l[o],r));return s}const i={attributes:{},classes:["token",l.type],content:uo(l.content,r),language:r,tag:"span",type:l.type};return l.alias&&i.classes.push(...typeof l.alias=="string"?[l.alias]:l.alias),fe.hooks.run("wrap",i),XS(i.tag+"."+i.classes.join("."),sE(i.attributes),i.content)}function uE(l){return l}function sE(l){let r;for(r in l)Sl.call(l,r)&&(l[r]=$S(l[r]));return l}fe.register(an);fe.register(wi);fe.register(yu);fe.register(Co);fe.register(Oo);fe.register(Ro);fe.register(_i);fe.register(vl);fe.register(Mo);fe.register(jo);fe.register(ko);fe.register(Do);fe.register(zo);fe.register(bu);fe.register(Lo);fe.register(Uo);fe.register(Bo);fe.register(Ho);fe.register(Go);fe.register(Yo);fe.register(qo);fe.register(Io);fe.register(Xo);fe.register(vu);fe.register(Zo);fe.register(Fo);fe.register(Vo);fe.register(Ko);fe.register($o);fe.register(Qo);fe.register(Jo);fe.register(Wo);fe.register(Po);fe.register(ef);fe.register(xu);fe.register(tf);const cE=[{value:"suggestion",label:"Suggestion"},{value:"must_fix",label:"Must Fix"},{value:"question",label:"Question"},{value:"nitpick",label:"Nitpick"}];function so({onSave:l,onCancel:r,initialBody:i="",initialType:s="suggestion",file:o,line:f}){const[d,p]=q.useState(i),[g,y]=q.useState(s),x=q.useRef(null),v=bt(O=>O.setDraftComment);q.useEffect(()=>{var O;(O=x.current)==null||O.focus()},[]),q.useEffect(()=>{o!==void 0&&f!==void 0&&(d.trim()?v({body:d,type:g,file:o,line:f}):v(null))},[d,g,o,f,v]);function A(){d.trim()&&(v(null),l(d.trim(),g))}function w(){v(null),r()}function C(O){(O.metaKey||O.ctrlKey)&&O.key==="Enter"?(O.preventDefault(),A()):O.key==="Escape"&&(O.preventDefault(),w())}return h.jsxs("div",{className:"p-3 space-y-2",onKeyDown:C,children:[h.jsx("textarea",{ref:x,value:d,onChange:O=>p(O.target.value),placeholder:"Write a comment...",rows:3,className:"w-full bg-background border border-border rounded px-3 py-2 text-text-primary text-sm placeholder:text-text-secondary/50 resize-none focus:outline-none focus:ring-1 focus:ring-accent focus:border-accent"}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("select",{value:g,onChange:O=>y(O.target.value),className:"bg-background border border-border rounded px-2 py-1.5 text-text-primary text-xs focus:outline-none focus:ring-1 focus:ring-accent cursor-pointer",children:cE.map(O=>h.jsx("option",{value:O.value,children:O.label},O.value))}),h.jsx("div",{className:"flex-1"}),h.jsx("button",{onClick:w,className:"px-3 py-1.5 text-xs text-text-secondary hover:text-text-primary transition-colors cursor-pointer",children:"Cancel"}),h.jsx("button",{onClick:A,disabled:!d.trim(),className:"px-3 py-1.5 text-xs font-medium rounded bg-accent/20 text-accent border border-accent/30 hover:bg-accent/30 disabled:opacity-40 disabled:cursor-not-allowed transition-colors cursor-pointer",children:"Save"})]})]})}const oE={must_fix:"Must Fix",suggestion:"Suggestion",question:"Question",nitpick:"Nitpick"};function fE({comments:l,isFormOpen:r,file:i,line:s,onAdd:o,onUpdate:f,onDelete:d,onOpenForm:p,onCloseForm:g}){const[y,x]=q.useState(null);return h.jsxs("div",{className:"border-t border-border bg-surface",children:[l.map(({comment:v,index:A})=>y===A?h.jsx(so,{initialBody:v.body,initialType:v.type,file:i,line:s,onSave:(w,C)=>{f(A,w,C),x(null)},onCancel:()=>x(null)},A):h.jsxs("div",{className:"px-3 py-2 border-b border-border/50 group/comment",children:[h.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[h.jsx("span",{className:`text-[10px] font-bold px-1.5 py-0.5 rounded border ${Nv[v.type]}`,children:oE[v.type]}),h.jsxs("span",{className:"text-text-secondary text-[10px] font-mono",children:[i,":",s]}),h.jsx("div",{className:"flex-1"}),h.jsx("button",{onClick:()=>x(A),className:"opacity-0 group-hover/comment:opacity-100 p-0.5 text-text-secondary hover:text-text-primary transition-all cursor-pointer",title:"Edit comment",children:h.jsx(dv,{className:"w-3 h-3"})}),h.jsx("button",{onClick:()=>d(A),className:"opacity-0 group-hover/comment:opacity-100 p-0.5 text-text-secondary hover:text-danger transition-all cursor-pointer",title:"Delete comment",children:h.jsx(vv,{className:"w-3 h-3"})})]}),h.jsx("p",{className:"text-text-primary text-sm whitespace-pre-wrap",children:v.body})]},A)),r&&y===null&&h.jsx(so,{file:i,line:s,onSave:(v,A)=>{o(v,A),g()},onCancel:g}),!r&&l.length>0&&y===null&&h.jsxs("button",{onClick:p,className:"flex items-center gap-1 px-3 py-1.5 text-xs text-text-secondary hover:text-accent transition-colors cursor-pointer",children:[h.jsx(hv,{className:"w-3 h-3"}),"Add comment"]})]})}const dE={finding:va,suggestion:mo,question:fo,warning:xi};function hE({annotations:l,onDismiss:r}){return l.length===0?null:h.jsxs("div",{className:"border-t border-border bg-surface",children:[h.jsxs("div",{className:"px-3 py-1.5 flex items-center gap-1.5 border-b border-border/50",children:[h.jsx(hp,{className:"w-3 h-3 text-text-secondary"}),h.jsxs("span",{className:"text-[10px] font-semibold text-text-secondary uppercase tracking-wide",children:["Agent ",l.length===1?"Annotation":`Annotations (${l.length})`]})]}),l.map(i=>{const s=dE[i.type]??va,o=lu[i.category]??lu.other,f=wm[i.category]??wm.other;return h.jsxs("div",{className:"px-3 py-2 border-b border-border/50 group/annotation",children:[h.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[h.jsx(s,{className:`w-3.5 h-3.5 flex-shrink-0 ${o}`}),h.jsx("span",{className:`text-[10px] font-bold px-1.5 py-0.5 rounded border ${f}`,children:i.category}),h.jsx("span",{className:"text-text-secondary text-[10px]",children:i.source.agent}),h.jsx("div",{className:"flex-1"}),h.jsx("button",{onClick:()=>r(i.id),className:"opacity-0 group-hover/annotation:opacity-100 p-0.5 rounded hover:bg-text-primary/10 text-text-secondary transition-all cursor-pointer flex-shrink-0",title:"Dismiss",children:h.jsx(uu,{className:"w-3 h-3"})})]}),h.jsx("p",{className:"text-text-primary text-sm whitespace-pre-wrap",children:i.body})]},i.id)})]})}function gE(){const{theme:l,toggleTheme:r}=bt();return h.jsx("button",{onClick:r,className:"p-1.5 rounded text-text-secondary hover:text-text-primary transition-colors cursor-pointer",title:`Switch to ${l==="dark"?"light":"dark"} mode`,children:l==="dark"?h.jsx(yv,{className:"w-4 h-4"}):h.jsx(fv,{className:"w-4 h-4"})})}const sp={highlight(l,r){return fe.highlight(l,r).children},registered(l){return fe.registered(l)}};function mE(l){return{typescript:"typescript",ts:"typescript",tsx:"tsx",javascript:"javascript",js:"javascript",jsx:"jsx",json:"json",css:"css",html:"markup",xml:"markup",markdown:"markdown",md:"markdown",python:"python",py:"python",rust:"rust",rs:"rust",go:"go",java:"java",c:"c",cpp:"cpp","c++":"cpp",csharp:"csharp","c#":"csharp",ruby:"ruby",rb:"ruby",php:"php",shell:"bash",bash:"bash",sh:"bash",yaml:"yaml",yml:"yaml",toml:"toml",sql:"sql",graphql:"graphql",scss:"scss",sass:"sass",less:"less",swift:"swift",kotlin:"kotlin",scala:"scala",lua:"lua",r:"r",perl:"perl",diff:"diff"}[l.toLowerCase()]??null}function co(l){return xa(l)||Qt(l)?l.lineNumber:ba(l)?l.newLineNumber:0}function pE(l,r){const i={};for(const s of l)for(const o of s.changes){const f=co(o),d=`${r}:${f}`;i[d]||(i[d]=qt(o))}return i}function yE(l,r,i=0){const s=/^diff --git /gm,o=[];let f;for(;(f=s.exec(l))!==null;)o.push(f.index);let d=0;for(let p=0;p<o.length;p++){const g=o[p],y=p+1<o.length?o[p+1]:l.length,x=l.slice(g,y);if(x.includes(`a/${r}`)||x.includes(`b/${r}`)){if(d===i)return x;d++}}return null}function bE(){const{diffSet:l,rawDiff:r,selectedFile:i,viewMode:s,setViewMode:o,comments:f,activeCommentKey:d,addComment:p,updateComment:g,deleteComment:y,setActiveCommentKey:x,toggleHotkeyGuide:v,toggleWorkflowTips:A,focusedHunkIndex:w,setHunkCount:C,annotations:O,dismissAnnotation:M}=bt(),j=q.useMemo(()=>!l||!i?null:l.files.find(S=>Rt(S)===i)??null,[l,i]),G=q.useMemo(()=>{if(!r||!i||!l)return null;const S=qc(i);let L=0;for(const K of l.files){if(Rt(K)===i)break;K.path===S&&L++}return yE(r,S,L)},[r,i,l]),T=q.useMemo(()=>{if(!G)return[];try{return Fv(G)}catch{return[]}},[G]),Z=q.useMemo(()=>{if(T.length===0||!j)return;const S=mE(j.language);if(S){try{if(!sp.registered(S))return}catch{return}try{const L={refractor:sp,highlight:!0,language:S};return _S(T[0].hunks,L)}catch{return}}},[T,j,s]),F=q.useMemo(()=>T.length===0||!i?{}:pE(T[0].hunks,i),[T,i]),V=q.useMemo(()=>{if(T.length===0)return{};const S={};for(const L of T[0].hunks)for(const K of L.changes)S[qt(K)]=co(K);return S},[T]),X=q.useMemo(()=>i?f.map((S,L)=>({comment:S,index:L})).filter(S=>S.comment.file===i):[],[f,i]),ee=q.useMemo(()=>{if(!i)return[];const S=qc(i);return O.filter(L=>L.file===S&&!L.dismissed)},[O,i]),te=q.useMemo(()=>{const S=new Map;for(const L of ee)S.has(L.line)||S.set(L.line,[]),S.get(L.line).push(L);return S},[ee]),ae=q.useMemo(()=>({onClick({change:S}){if(!S)return;const L=qt(S);x(d===L?null:L)}}),[d,x]),le=q.useCallback(({change:S,inHoverState:L,renderDefault:K})=>{const se=co(S),re=i&&X.some(B=>B.comment.line===se),E=te.has(se);return L?h.jsxs(h.Fragment,{children:[h.jsx("span",{className:"diff-gutter-add-comment",children:"+"}),K()]}):re?h.jsxs(h.Fragment,{children:[h.jsx("span",{className:"diff-comment-indicator"}),K()]}):E?h.jsxs(h.Fragment,{children:[h.jsx("span",{className:"diff-annotation-indicator"}),K()]}):K()},[i,X,te]),ne=q.useMemo(()=>{if(!i)return{};const S={},L=new Map;for(const se of X){const re=se.comment.line;L.has(re)||L.set(re,[]),L.get(re).push(se)}const K=new Set([...L.keys(),...te.keys()]);for(const se of K){const re=F[`${i}:${se}`];if(!re)continue;const E=L.get(se),B=te.get(se);S[re]=h.jsxs(h.Fragment,{children:[B&&B.length>0&&h.jsx(hE,{annotations:B,onDismiss:M}),E&&E.length>0&&h.jsx(fE,{comments:E,isFormOpen:d===re,file:i,line:se,onAdd:(J,ie)=>{p({file:i,line:se,body:J,type:ie})},onUpdate:(J,ie,he)=>{g(J,{file:i,line:se,body:ie,type:he})},onDelete:y,onOpenForm:()=>x(re),onCloseForm:()=>x(null)})]})}if(d&&!S[d]){const se=V[d];se!==void 0&&(S[d]=h.jsx("div",{className:"border-t border-border bg-surface",children:h.jsx(so,{file:i,line:se,onSave:(re,E)=>{p({file:i,line:se,body:re,type:E}),x(null)},onCancel:()=>x(null)})}))}return S},[i,X,ee,te,d,F,V,p,g,y,M,x]),P=q.useRef(null);if(q.useEffect(()=>{var S;C(((S=T[0])==null?void 0:S.hunks.length)??0)},[T,C]),q.useEffect(()=>{const S=P.current;if(!S||w===null)return;const L=S.querySelectorAll("tbody.diff-hunk");L.forEach(K=>K.classList.remove("diff-hunk-focused")),L[w]&&(L[w].scrollIntoView({behavior:"smooth",block:"center"}),L[w].classList.add("diff-hunk-focused"))},[w]),q.useEffect(()=>{function S(){if(w===null||T.length===0||!i)return;const L=T[0].hunks[w];if(!L||L.changes.length===0)return;const K=L.changes[0],se=qt(K);x(se)}return document.addEventListener("diffprism:open-comment",S),()=>document.removeEventListener("diffprism:open-comment",S)},[w,T,i,x]),!i||!l)return h.jsx("div",{className:"flex-1 flex items-center justify-center bg-background",children:h.jsxs("div",{className:"text-center",children:[h.jsx(yl,{className:"w-12 h-12 text-text-secondary/40 mx-auto mb-3"}),h.jsx("p",{className:"text-text-secondary text-sm",children:"Select a file to view changes"})]})});const $=qc(i);if(j!=null&&j.binary)return h.jsxs("div",{className:"flex-1 flex flex-col bg-background",children:[h.jsx($c,{path:$,stage:j==null?void 0:j.stage}),h.jsx("div",{className:"flex-1 flex items-center justify-center",children:h.jsx("div",{className:"text-center",children:h.jsx("p",{className:"text-text-secondary text-sm",children:"Binary file — cannot display diff"})})})]});if(T.length===0)return h.jsxs("div",{className:"flex-1 flex flex-col bg-background",children:[h.jsx($c,{path:$,stage:j==null?void 0:j.stage}),h.jsx("div",{className:"flex-1 flex items-center justify-center",children:h.jsx("div",{className:"text-center",children:h.jsx("p",{className:"text-text-secondary text-sm",children:"No diff content available for this file"})})})]});const Q=T[0];return h.jsxs("div",{className:"flex-1 flex flex-col bg-background min-h-0",children:[h.jsx($c,{path:$,stage:j==null?void 0:j.stage,additions:j==null?void 0:j.additions,deletions:j==null?void 0:j.deletions,viewMode:s,onViewModeChange:o,onToggleHotkeyGuide:v,onToggleWorkflowTips:A}),h.jsx("div",{ref:P,className:"flex-1 overflow-auto",children:h.jsx(lS,{viewType:s,diffType:Q.type,hunks:Q.hunks,tokens:Z,widgets:ne,gutterEvents:ae,renderGutter:le,children:S=>S.map(L=>h.jsx(qp,{hunk:L},L.content))})})]})}function $c({path:l,stage:r,additions:i,deletions:s,viewMode:o,onViewModeChange:f,onToggleHotkeyGuide:d,onToggleWorkflowTips:p}){return h.jsxs("div",{className:"flex items-center gap-3 px-4 py-2.5 bg-surface border-b border-border flex-shrink-0",children:[h.jsx(yl,{className:"w-4 h-4 text-text-secondary flex-shrink-0"}),h.jsx("span",{className:"text-text-primary text-sm font-mono truncate",children:l}),r&&h.jsx("span",{className:`text-[10px] font-semibold px-1.5 py-0.5 rounded border ${_v[r]}`,children:r==="staged"?"Staged":"Unstaged"}),h.jsxs("div",{className:"flex items-center gap-2 ml-auto flex-shrink-0",children:[i!==void 0&&i>0&&h.jsxs("span",{className:"text-success text-xs font-mono",children:["+",i]}),s!==void 0&&s>0&&h.jsxs("span",{className:"text-danger text-xs font-mono",children:["-",s]}),o&&f&&h.jsxs("div",{className:"flex items-center rounded border border-border ml-2",children:[h.jsx("button",{onClick:()=>f("unified"),className:`p-1 ${o==="unified"?"bg-text-primary/10 text-text-primary":"text-text-secondary hover:text-text-primary"}`,title:"Unified view",children:h.jsx(mv,{className:"w-3.5 h-3.5"})}),h.jsx("button",{onClick:()=>f("split"),className:`p-1 ${o==="split"?"bg-text-primary/10 text-text-primary":"text-text-secondary hover:text-text-primary"}`,title:"Split view",children:h.jsx(lv,{className:"w-3.5 h-3.5"})})]}),p&&h.jsx("button",{onClick:p,className:"p-1.5 rounded text-text-secondary hover:text-text-primary transition-colors cursor-pointer",title:"Workflow tips",children:h.jsx(mo,{className:"w-4 h-4"})}),d&&h.jsx("button",{onClick:d,className:"p-1.5 rounded text-text-secondary hover:text-text-primary transition-colors cursor-pointer",title:"Keyboard shortcuts (?)",children:h.jsx(fo,{className:"w-4 h-4"})}),h.jsx(gE,{})]})]})}function vE({onSubmit:l,onDismiss:r,isWatchMode:i,watchSubmitted:s,hasUnreviewedChanges:o}){const[f,d]=q.useState(""),[p,g]=q.useState(!1),[y,x]=q.useState(null),{diffSet:v,fileStatuses:A,comments:w,metadata:C,draftComment:O,saveDraftComment:M,setActiveCommentKey:j,setDraftComment:G}=bt(),T=!!(C!=null&&C.githubPr),Z=(v==null?void 0:v.files.reduce((ne,P)=>ne+P.additions,0))??0,F=(v==null?void 0:v.files.reduce((ne,P)=>ne+P.deletions,0))??0,V=(v==null?void 0:v.files.length)??0,X=!!(O&&O.body.trim());function ee(ne){const P=Object.values(A).some($=>$!=="unreviewed");l({decision:ne,comments:bt.getState().comments,fileStatuses:P?A:void 0,summary:f.trim()||void 0,postToGithub:T&&p?!0:void 0})}function te(ne){if(X){x(ne);return}ee(ne)}function ae(){y&&(M(),ee(y),x(null))}function le(){y&&(G(null),j(null),ee(y),x(null))}return i&&s&&!o?h.jsx("div",{className:"bg-surface border-t border-border px-4 py-3 flex-shrink-0",children:h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(Qc,{className:"w-4 h-4 text-success"}),h.jsx("span",{className:"text-sm text-success font-medium",children:"Review submitted"}),h.jsxs("span",{className:"relative flex h-2 w-2 ml-2",children:[h.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-success opacity-75"}),h.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-success"})]}),h.jsx("span",{className:"text-xs text-text-secondary",children:"Watching for changes..."})]})}):h.jsxs("div",{className:"bg-surface border-t border-border px-4 py-3 flex-shrink-0",children:[i&&s&&o&&h.jsxs("div",{className:"flex items-center gap-2 mb-3 text-xs text-accent",children:[h.jsxs("span",{className:"relative flex h-2 w-2",children:[h.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-info opacity-75"}),h.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-info"})]}),"New changes detected"]}),h.jsxs("div",{className:"flex items-center gap-4 mb-3",children:[h.jsxs("span",{className:"text-text-secondary text-xs",children:[V," file",V!==1?"s":""," changed"]}),Z>0&&h.jsxs("span",{className:"text-success text-xs font-mono",children:["+",Z]}),F>0&&h.jsxs("span",{className:"text-danger text-xs font-mono",children:["-",F]}),w.length>0&&h.jsxs("span",{className:"flex items-center gap-1 text-accent text-xs",children:[h.jsx(Em,{className:"w-3 h-3"}),w.length," comment",w.length!==1?"s":""]})]}),h.jsx("textarea",{value:f,onChange:ne=>d(ne.target.value),placeholder:"Leave a summary comment (optional)...",rows:3,className:"w-full bg-background border border-border rounded-lg px-3 py-2 text-text-primary text-sm placeholder:text-text-secondary/50 resize-none focus:outline-none focus:ring-1 focus:ring-accent focus:border-accent mb-3"}),y&&h.jsxs("div",{className:"flex items-center gap-3 mb-3 px-3 py-2.5 rounded-lg bg-warning/10 border border-warning/30",children:[h.jsx(xi,{className:"w-4 h-4 text-warning flex-shrink-0"}),h.jsx("span",{className:"text-sm text-text-primary",children:"You have an unsaved comment. Save it before submitting?"}),h.jsx("div",{className:"flex-1"}),h.jsx("button",{onClick:ae,className:"px-3 py-1.5 text-xs font-medium rounded bg-accent/20 text-accent border border-accent/30 hover:bg-accent/30 transition-colors cursor-pointer",children:"Save & Submit"}),h.jsx("button",{onClick:le,className:"px-3 py-1.5 text-xs text-text-secondary hover:text-text-primary transition-colors cursor-pointer",children:"Discard & Submit"}),h.jsx("button",{onClick:()=>x(null),className:"px-3 py-1.5 text-xs text-text-secondary hover:text-text-primary transition-colors cursor-pointer",children:"Cancel"})]}),h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsxs("button",{onClick:()=>te("approved"),className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors cursor-pointer ${Kr.approve}`,children:[h.jsx(Qc,{className:"w-4 h-4"}),"Approve"]}),h.jsxs("button",{onClick:()=>te("changes_requested"),className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors cursor-pointer ${Kr.reject}`,children:[h.jsx(uu,{className:"w-4 h-4"}),"Request Changes"]}),h.jsxs("button",{onClick:()=>te("approved_with_comments"),className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors cursor-pointer ${Kr.comment}`,children:[h.jsx(Em,{className:"w-4 h-4"}),"Approve with Comments"]}),r&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"w-px h-6 bg-border"}),h.jsxs("button",{onClick:r,className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors cursor-pointer ${Kr.dismiss}`,children:[h.jsx(nv,{className:"w-4 h-4"}),"Dismiss"]})]}),T&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"w-px h-6 bg-border"}),h.jsxs("label",{className:"flex items-center gap-2 text-sm text-text-secondary cursor-pointer select-none",children:[h.jsx("input",{type:"checkbox",checked:p,onChange:ne=>g(ne.target.checked),className:"rounded border-border accent-accent"}),h.jsx(go,{className:"w-3.5 h-3.5 text-accent"}),"Post to GitHub"]})]})]})]})}const xE=navigator.platform.toUpperCase().includes("MAC"),SE=xE?"⌘":"Ctrl",EE=[{keys:["j","↓"],action:"Next file"},{keys:["k","↑"],action:"Previous file"},{keys:["s"],action:"Cycle file status"},{keys:["n"],action:"Next hunk"},{keys:["p"],action:"Previous hunk"},{keys:["c"],action:"Comment on hunk"},{keys:[`${SE} + Enter`],action:"Save comment"},{keys:["Esc"],action:"Cancel comment / Close guide"},{keys:["?"],action:"Toggle this guide"}];function NE(){const{showHotkeyGuide:l,toggleHotkeyGuide:r}=bt();return q.useEffect(()=>{if(!l)return;function i(s){(s.key==="Escape"||s.key==="?")&&(s.preventDefault(),s.stopPropagation(),r())}return document.addEventListener("keydown",i,!0),()=>document.removeEventListener("keydown",i,!0)},[l,r]),l?h.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:r,children:h.jsxs("div",{className:"bg-surface border border-border rounded-lg shadow-xl p-6 max-w-sm w-full mx-4",onClick:i=>i.stopPropagation(),children:[h.jsx("h2",{className:"text-text-primary text-sm font-semibold mb-4",children:"Keyboard Shortcuts"}),h.jsx("div",{className:"space-y-2",children:EE.map(i=>h.jsxs("div",{className:"flex items-center justify-between gap-4",children:[h.jsx("span",{className:"text-text-secondary text-sm",children:i.action}),h.jsx("div",{className:"flex items-center gap-1.5",children:i.keys.map((s,o)=>h.jsxs("span",{className:"flex items-center gap-1.5",children:[o>0&&h.jsx("span",{className:"text-text-secondary/50 text-xs",children:"/"}),h.jsx("kbd",{className:"px-1.5 py-0.5 text-xs font-mono rounded border border-border bg-background text-text-primary",children:s})]},s))})]},i.action))})]})}):null}const AE={navigation:"Navigation",review:"Review Workflow",commenting:"Commenting",general:"General"},TE=["navigation","review","commenting","general"],wE=[{id:"nav-files",text:"Navigate between files in the sidebar",shortcut:"j / k",category:"navigation"},{id:"nav-hunks",text:"Jump between changed hunks within a file",shortcut:"n / p",category:"navigation"},{id:"nav-select",text:"Click any file in the sidebar to view its diff",category:"navigation"},{id:"review-status",text:"Cycle a file's review status (unreviewed → reviewed → approved → needs changes)",shortcut:"s",category:"review"},{id:"review-split",text:"Toggle between unified and split (side-by-side) diff views from the toolbar",category:"review"},{id:"review-briefing",text:"Check the briefing bar at the top for a summary of changes, risk indicators, and file stats",category:"review"},{id:"comment-gutter",text:"Click a line's gutter (the + icon on hover) to add an inline comment",category:"commenting"},{id:"comment-hunk",text:"Quickly comment on the focused hunk",shortcut:"c",category:"commenting"},{id:"comment-save",text:"Save a comment from the inline form",shortcut:"Cmd/Ctrl + Enter",category:"commenting"},{id:"general-hotkeys",text:"Open the full keyboard shortcuts reference anytime",shortcut:"?",category:"general"},{id:"general-theme",text:"Toggle between dark and light mode from the toolbar",category:"general"}],cp="diffprism-tips-seen";function _E(){const{showWorkflowTips:l,toggleWorkflowTips:r}=bt();if(q.useEffect(()=>{localStorage.getItem(cp)||(localStorage.setItem(cp,"1"),r())},[]),q.useEffect(()=>{if(!l)return;function s(o){o.key==="Escape"&&(o.preventDefault(),o.stopPropagation(),r())}return document.addEventListener("keydown",s,!0),()=>document.removeEventListener("keydown",s,!0)},[l,r]),!l)return null;const i=new Map;for(const s of wE)i.has(s.category)||i.set(s.category,[]),i.get(s.category).push(s);return h.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:r,children:h.jsxs("div",{className:"bg-surface border border-border rounded-lg shadow-xl p-6 max-w-md w-full mx-4 max-h-[80vh] overflow-y-auto",onClick:s=>s.stopPropagation(),children:[h.jsx("h2",{className:"text-text-primary text-sm font-semibold mb-4",children:"Workflow Tips"}),h.jsx("div",{className:"space-y-4",children:TE.map(s=>{const o=i.get(s);return!o||o.length===0?null:h.jsxs("div",{children:[h.jsx("h3",{className:"text-text-secondary text-xs font-semibold uppercase tracking-wider mb-2",children:AE[s]}),h.jsx("div",{className:"space-y-1.5",children:o.map(f=>h.jsxs("div",{className:"flex items-start justify-between gap-3",children:[h.jsx("span",{className:"text-text-secondary text-sm leading-snug",children:f.text}),f.shortcut&&h.jsx("kbd",{className:"flex-shrink-0 px-1.5 py-0.5 text-xs font-mono rounded border border-border bg-background text-text-primary whitespace-nowrap",children:f.shortcut})]},f.id))})]},s)})}),h.jsxs("div",{className:"mt-5 flex items-center justify-between",children:[h.jsx("span",{className:"text-text-secondary/60 text-xs",children:"Reopen anytime from the toolbar"}),h.jsx("button",{onClick:r,className:"px-3 py-1.5 text-sm font-medium rounded bg-accent text-white hover:bg-accent/90 transition-colors cursor-pointer",children:"Got it"})]})]})})}const CE={finding:va,suggestion:mo,question:fo,warning:xi};function OE({body:l}){const[r,i]=q.useState(!1),s=l.length>120||l.includes(`
|
|
330
|
-
`),o=q.useCallback(f=>{f.stopPropagation(),i(d=>!d)},[]);return s?r?h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-text-primary whitespace-pre-wrap",children:l}),h.jsx("button",{onClick:o,className:"text-[10px] text-accent hover:underline mt-0.5 cursor-pointer",children:"Show less"})]}):h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-text-primary truncate",children:l}),h.jsx("button",{onClick:o,className:"text-[10px] text-accent hover:underline mt-0.5 cursor-pointer",children:"Show more"})]}):h.jsx("p",{className:"text-xs text-text-primary",children:l})}function RE({annotations:l,onDismiss:r,onNavigate:i}){const[s,o]=q.useState(!1),f=q.useMemo(()=>{const p=s?l:l.filter(y=>!y.dismissed),g=new Map;for(const y of p){const x=y.source.agent;g.has(x)||g.set(x,[]),g.get(x).push(y)}return g},[l,s]),d=l.filter(p=>!p.dismissed).length;return l.length===0?null:h.jsxs("div",{className:"border-t border-border",children:[h.jsxs("div",{className:"px-4 py-2 flex items-center justify-between",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(hp,{className:"w-4 h-4 text-text-secondary"}),h.jsxs("span",{className:"text-xs font-semibold text-text-secondary uppercase tracking-wide",children:["Agent Annotations (",d,")"]})]}),l.some(p=>p.dismissed)&&h.jsxs("button",{onClick:()=>o(!s),className:"flex items-center gap-1 text-xs text-text-secondary hover:text-text-primary cursor-pointer",children:[s?h.jsx(uv,{className:"w-3 h-3"}):h.jsx(ho,{className:"w-3 h-3"}),s?"Hide dismissed":"Show dismissed"]})]}),h.jsx("div",{className:"max-h-64 overflow-y-auto",children:Array.from(f.entries()).map(([p,g])=>h.jsxs("div",{className:"border-t border-border/50",children:[h.jsxs("div",{className:"px-4 py-1.5 flex items-center gap-2",children:[h.jsx("span",{className:"text-xs font-medium text-accent",children:p}),h.jsxs("span",{className:"text-xs text-text-secondary",children:["(",g.length,")"]})]}),g.map(y=>{const x=CE[y.type]??va,v=lu[y.category]??lu.other;return h.jsxs("div",{className:`px-4 py-2 flex items-start gap-2 hover:bg-text-primary/5 cursor-pointer group ${y.dismissed?"opacity-40":""}`,onClick:()=>i(y.file),children:[h.jsx(x,{className:`w-3.5 h-3.5 mt-0.5 flex-shrink-0 ${v}`}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2 mb-0.5",children:[h.jsxs("span",{className:"text-xs text-text-secondary font-mono truncate",children:[y.file,":",y.line]}),h.jsx("span",{className:`text-[10px] font-semibold uppercase ${v}`,children:y.category})]}),h.jsx(OE,{body:y.body})]}),!y.dismissed&&h.jsx("button",{onClick:A=>{A.stopPropagation(),r(y.id)},className:"p-0.5 rounded hover:bg-text-primary/10 text-text-secondary opacity-0 group-hover:opacity-100 cursor-pointer flex-shrink-0",title:"Dismiss",children:h.jsx(uu,{className:"w-3 h-3"})})]},y.id)})]},p))})]})}function iy({onSubmit:l,onDismiss:r,isWatchMode:i,watchSubmitted:s,hasUnreviewedChanges:o}){const{annotations:f,dismissAnnotation:d,selectFile:p,diffSet:g}=bt(),y=x=>{if(!g)return;if(g.files.find(w=>Rt(w)===x)){p(x);return}const A=g.files.find(w=>w.path===x);A&&p(Rt(A))};return h.jsxs("div",{className:"h-screen flex flex-col bg-background",children:[h.jsx(Rv,{}),h.jsx(Mv,{}),h.jsxs("div",{className:"flex flex-1 min-h-0",children:[h.jsxs("div",{className:"w-[280px] flex-shrink-0 flex flex-col",children:[h.jsx("div",{className:"flex-1 min-h-0",children:h.jsx(Gv,{onSubmit:l})}),h.jsx(RE,{annotations:f,onDismiss:d,onNavigate:y})]}),h.jsx(bE,{})]}),h.jsx(vE,{onSubmit:l,onDismiss:r,isWatchMode:i,watchSubmitted:s,hasUnreviewedChanges:o}),h.jsx(NE,{}),h.jsx(_E,{})]})}function ME(l){const i=Date.now()-l,s=Math.floor(i/6e4);if(s<1)return"just now";if(s<60)return`${s}m ago`;const o=Math.floor(s/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}function jE(l){const r=l.split("/");return r[r.length-1]||l}const op={pending:"Pending",in_review:"In Review",changes_requested:"Changes Req.",approved:"Approved",approved_with_comments:"Approved",dismissed:"Dismissed",submitted:"Submitted"};function kE(l){const{status:r,decision:i}=l,s=r==="submitted"?i??"submitted":r,o=Tm[s]??Tm.submitted,f=op[s]??op.submitted;return h.jsx("span",{className:`inline-flex items-center px-1.5 py-0.5 text-[10px] font-medium rounded ${o}`,children:f})}function DE({sessions:l,activeSessionId:r,onSelect:i,onClose:s}){return h.jsxs("div",{className:"flex flex-col h-full bg-surface border-r border-border",children:[h.jsxs("div",{className:"px-3 py-3 border-b border-border",children:[h.jsx("h2",{className:"text-text-primary text-xs font-semibold uppercase tracking-wider",children:"Sessions"}),h.jsxs("span",{className:"text-text-secondary text-[10px]",children:[l.length," session",l.length!==1?"s":""]})]}),h.jsx("div",{className:"flex-1 overflow-y-auto",children:l.length===0?h.jsx("div",{className:"flex flex-col items-center justify-center h-full px-4 text-center",children:h.jsx("p",{className:"text-text-secondary text-xs",children:"No sessions yet. Reviews will appear here automatically."})}):h.jsx("div",{className:"py-1",children:l.map(o=>{const f=o.id===r;return h.jsxs("div",{className:`group relative px-3 py-2.5 cursor-pointer border-l-2 transition-colors ${f?"bg-accent/10 border-l-accent":o.needsAttention?"bg-warning/5 border-l-warning hover:bg-warning/10":"border-l-transparent hover:bg-border/20"}`,onClick:()=>i(o.id),role:"button",tabIndex:0,onKeyDown:d=>{(d.key==="Enter"||d.key===" ")&&i(o.id)},children:[h.jsx("button",{onClick:d=>{d.stopPropagation(),s(o.id)},className:"absolute top-1.5 right-1.5 p-0.5 rounded hover:bg-border/50 text-text-secondary hover:text-text-primary transition-colors opacity-0 group-hover:opacity-100",style:{opacity:f?1:void 0},title:"Dismiss session",children:h.jsx(uu,{className:"w-3 h-3"})}),h.jsxs("div",{className:"flex items-start justify-between gap-1.5 mb-1",children:[h.jsxs("div",{className:"flex items-center gap-1.5 min-w-0 flex-1",children:[o.needsAttention&&h.jsx(va,{className:"w-3.5 h-3.5 text-warning flex-shrink-0 animate-pulse"}),h.jsx("span",{className:"text-text-primary text-xs font-medium truncate",children:o.title||jE(o.projectPath)})]}),h.jsx("div",{className:"flex-shrink-0",children:kE(o)})]}),o.reasoning&&h.jsx("p",{className:"text-text-secondary text-[11px] leading-tight mb-1 line-clamp-2",children:o.reasoning}),h.jsxs("div",{className:"flex items-center gap-2 text-[10px] text-text-secondary",children:[o.branch&&h.jsxs("span",{className:"flex items-center gap-0.5 truncate",children:[h.jsx(cl,{className:"w-2.5 h-2.5"}),o.branch]}),h.jsxs("span",{className:"flex items-center gap-0.5 ml-auto flex-shrink-0",children:[h.jsx(av,{className:"w-2.5 h-2.5"}),ME(o.createdAt)]})]}),h.jsxs("div",{className:"flex items-center gap-2 mt-0.5 text-[10px]",children:[h.jsxs("span",{className:"text-text-secondary",children:[o.fileCount," file",o.fileCount!==1?"s":""]}),o.additions>0&&h.jsxs("span",{className:"text-success font-mono",children:["+",o.additions]}),o.deletions>0&&h.jsxs("span",{className:"text-danger font-mono",children:["-",o.deletions]})]})]},o.id)})})})]})}function zE({permission:l,enabled:r,onToggle:i}){const s=l==="denied",o=l==="granted"&&r,f=s?"Notifications blocked by browser":o?"Notifications on":"Enable notifications";return h.jsx("button",{onClick:i,disabled:s,className:`p-1.5 rounded transition-colors cursor-pointer ${s?"text-text-secondary/50 cursor-not-allowed":o?"text-accent hover:text-accent/80":"text-text-secondary hover:text-text-primary"}`,title:f,children:o?h.jsx(W0,{className:"w-4 h-4"}):h.jsx(J0,{className:"w-4 h-4"})})}function LE({sessions:l,activeSessionId:r,hasDiffLoaded:i,onSelectSession:s,onCloseSession:o,onSubmit:f,onDismiss:d,notificationPermission:p,notificationsEnabled:g,onToggleNotifications:y}){return h.jsxs("div",{className:"h-screen flex bg-background",children:[h.jsxs("div",{className:"w-[260px] flex-shrink-0 flex flex-col",children:[h.jsx(DE,{sessions:l,activeSessionId:r,onSelect:s,onClose:o}),y&&p&&h.jsx("div",{className:"px-3 py-2 border-t border-border border-r border-r-border bg-surface",children:h.jsx(zE,{permission:p,enabled:g??!1,onToggle:y})})]}),h.jsx("div",{className:"flex-1 min-w-0",children:i?h.jsx(iy,{onSubmit:f,onDismiss:d,isWatchMode:!0,watchSubmitted:!1,hasUnreviewedChanges:!0}):h.jsx(UE,{hasAnySessions:l.length>0})})]})}function UE({hasAnySessions:l}){return l?h.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center px-8",children:[h.jsx("div",{className:"w-14 h-14 rounded-full bg-surface border border-border flex items-center justify-center mb-4",children:h.jsx(yl,{className:"w-7 h-7 text-text-secondary"})}),h.jsx("h2",{className:"text-text-primary text-lg font-semibold mb-2",children:"Select a session"}),h.jsx("p",{className:"text-text-secondary text-sm max-w-sm",children:"Click a session in the sidebar to view its diff, annotations, and submit your review."})]}):h.jsx(BE,{})}function BE(){const[l,r]=q.useState(null);q.useEffect(()=>{const o=new URLSearchParams(window.location.search).get("httpPort");o&&fetch(`http://localhost:${o}/api/status`).then(f=>f.json()).then(f=>{r(f)}).catch(()=>{})},[]);const i=s=>{if(s<60)return`${Math.floor(s)}s`;if(s<3600)return`${Math.floor(s/60)}m ${Math.floor(s%60)}s`;const o=Math.floor(s/3600),f=Math.floor(s%3600/60);return`${o}h ${f}m`};return h.jsx("div",{className:"flex flex-col items-center justify-center h-full px-8",children:h.jsxs("div",{className:"max-w-md w-full",children:[h.jsxs("div",{className:"text-center mb-8",children:[h.jsx("h1",{className:"text-text-primary text-2xl font-bold mb-1",children:"DiffPrism"}),h.jsx("p",{className:"text-text-secondary text-sm",children:"Code review for AI-generated changes"})]}),h.jsxs("div",{className:"bg-surface border border-border rounded-lg p-6",children:[h.jsx("h2",{className:"text-text-primary text-sm font-semibold mb-4",children:"Getting Started"}),h.jsxs("div",{className:"mb-5",children:[h.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[h.jsx(bv,{className:"w-4 h-4 text-text-secondary"}),h.jsx("span",{className:"text-text-secondary text-xs font-medium",children:"From the terminal"})]}),h.jsxs("div",{className:"space-y-1.5 pl-6",children:[h.jsx("code",{className:"block text-accent text-xs",children:"$ diffprism review"}),h.jsx("code",{className:"block text-accent text-xs",children:"$ diffprism review --staged"})]})]}),h.jsxs("div",{className:"mb-5",children:[h.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[h.jsx(yl,{className:"w-4 h-4 text-text-secondary"}),h.jsx("span",{className:"text-text-secondary text-xs font-medium",children:"From Claude Code"})]}),h.jsxs("p",{className:"text-text-secondary text-xs pl-6",children:["Type ",h.jsx("code",{className:"text-accent",children:"/review"})," or use the"," ",h.jsx("code",{className:"text-accent",children:"open_review"})," MCP tool"]})]}),h.jsxs("div",{children:[h.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[h.jsx(pv,{className:"w-4 h-4 text-text-secondary"}),h.jsx("span",{className:"text-text-secondary text-xs font-medium",children:"First time?"})]}),h.jsxs("div",{className:"pl-6",children:[h.jsx("code",{className:"block text-accent text-xs mb-1",children:"$ diffprism setup"}),h.jsx("p",{className:"text-text-secondary text-xs",children:"Configures Claude Code integration in one command"})]})]})]}),l&&h.jsxs("p",{className:"text-text-secondary text-xs text-center mt-4",children:["Server running · PID ",l.pid," · up ",i(l.uptime)]})]})})}function HE(){const{permission:l,enabled:r,toggle:i,notifyNewSession:s,notifySessionUpdated:o,notifyDiffUpdated:f,notifyAnnotationAdded:d}=F0({onSessionSelect:Q}),{sendResult:p,selectSession:g,closeSession:y,connectionStatus:x}=X0({onSessionAdded:s,onSessionUpdated:o,onDiffUpdated:f,onAnnotationAdded:d}),{diffSet:v,metadata:A,theme:w,isWatchMode:C,watchSubmitted:O,hasUnreviewedChanges:M,setWatchSubmitted:j,isServerMode:G,sessions:T,activeSessionId:Z,selectSession:F,removeSession:V,clearReview:X,clearSessionAttention:ee}=bt(),[te,ae]=q.useState(!1),[le,ne]=q.useState(3);q.useEffect(()=>{const K=document.documentElement;w==="dark"?K.classList.add("dark"):K.classList.remove("dark")},[w]);function P(K){p(K),G?X():C?j(!0):ae(!0)}function $(){p({decision:"dismissed",comments:[]}),G&&Z?(V(Z),y(Z)):C?j(!0):ae(!0)}function Q(K){F(K),ee(K),g(K)}function S(K){V(K),y(K)}const L=q.useCallback(()=>{window.close()},[]);return q.useEffect(()=>{if(!te||C||G)return;if(le<=0){L();return}const K=setTimeout(()=>{ne(se=>se-1)},1e3);return()=>clearTimeout(K)},[te,le,L,C,G]),te?h.jsx("div",{className:"h-screen flex items-center justify-center bg-background",children:h.jsxs("div",{className:"text-center",children:[h.jsx("div",{className:"w-16 h-16 rounded-full bg-success/15 border border-success/30 flex items-center justify-center mx-auto mb-4",children:h.jsx("svg",{className:"w-8 h-8 text-success",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})}),h.jsx("h1",{className:"text-text-primary text-xl font-semibold mb-2",children:"Review Submitted"}),h.jsxs("p",{className:"text-text-secondary text-sm",children:["Closing in ",le,"s..."]})]})}):G?x==="disconnected"?h.jsx("div",{className:"h-screen flex items-center justify-center bg-background",children:h.jsxs("div",{className:"text-center",children:[h.jsx("div",{className:"w-12 h-12 rounded-full bg-danger/15 border border-danger/30 flex items-center justify-center mx-auto mb-4",children:h.jsx("svg",{className:"w-6 h-6 text-danger",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),h.jsx("h1",{className:"text-text-primary text-lg font-semibold mb-2",children:"Connection Lost"}),h.jsx("p",{className:"text-text-secondary text-sm",children:"Unable to connect to the DiffPrism server."})]})}):h.jsx(LE,{sessions:T,activeSessionId:Z,hasDiffLoaded:!!v,onSelectSession:Q,onCloseSession:S,onSubmit:P,onDismiss:$,notificationPermission:l,notificationsEnabled:r,onToggleNotifications:i}):v?h.jsx(iy,{onSubmit:P,onDismiss:$,isWatchMode:C||G,watchSubmitted:O,hasUnreviewedChanges:M}):h.jsx("div",{className:"h-screen flex items-center justify-center bg-background",children:h.jsx("div",{className:"text-center",children:x==="disconnected"?h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"w-12 h-12 rounded-full bg-danger/15 border border-danger/30 flex items-center justify-center mx-auto mb-4",children:h.jsx("svg",{className:"w-6 h-6 text-danger",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),h.jsx("h1",{className:"text-text-primary text-lg font-semibold mb-2",children:"Connection Lost"}),h.jsx("p",{className:"text-text-secondary text-sm",children:"Unable to connect to the DiffPrism server. Please check the terminal and try again."})]}):h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"mb-4 flex justify-center",children:h.jsx("div",{className:"w-8 h-8 border-2 border-accent/30 border-t-accent rounded-full animate-spin"})}),h.jsx("h1",{className:"text-text-primary text-lg font-semibold mb-2",children:x==="connecting"?"Connecting...":"Waiting for review data..."}),h.jsx("p",{className:"text-text-secondary text-sm",children:(A==null?void 0:A.title)??"Loading review..."})]})})})}H0.createRoot(document.getElementById("root")).render(h.jsx(HE,{}));
|
|
330
|
+
`),o=q.useCallback(f=>{f.stopPropagation(),i(d=>!d)},[]);return s?r?h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-text-primary whitespace-pre-wrap",children:l}),h.jsx("button",{onClick:o,className:"text-[10px] text-accent hover:underline mt-0.5 cursor-pointer",children:"Show less"})]}):h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-text-primary truncate",children:l}),h.jsx("button",{onClick:o,className:"text-[10px] text-accent hover:underline mt-0.5 cursor-pointer",children:"Show more"})]}):h.jsx("p",{className:"text-xs text-text-primary",children:l})}function RE({annotations:l,onDismiss:r,onNavigate:i}){const[s,o]=q.useState(!1),f=q.useMemo(()=>{const p=s?l:l.filter(y=>!y.dismissed),g=new Map;for(const y of p){const x=y.source.agent;g.has(x)||g.set(x,[]),g.get(x).push(y)}return g},[l,s]),d=l.filter(p=>!p.dismissed).length;return l.length===0?null:h.jsxs("div",{className:"border-t border-border flex-shrink-0 max-h-[40%] overflow-hidden flex flex-col",children:[h.jsxs("div",{className:"px-4 py-2 flex items-center justify-between",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(hp,{className:"w-4 h-4 text-text-secondary"}),h.jsxs("span",{className:"text-xs font-semibold text-text-secondary uppercase tracking-wide",children:["Agent Annotations (",d,")"]})]}),l.some(p=>p.dismissed)&&h.jsxs("button",{onClick:()=>o(!s),className:"flex items-center gap-1 text-xs text-text-secondary hover:text-text-primary cursor-pointer",children:[s?h.jsx(uv,{className:"w-3 h-3"}):h.jsx(ho,{className:"w-3 h-3"}),s?"Hide dismissed":"Show dismissed"]})]}),h.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto",children:Array.from(f.entries()).map(([p,g])=>h.jsxs("div",{className:"border-t border-border/50",children:[h.jsxs("div",{className:"px-4 py-1.5 flex items-center gap-2",children:[h.jsx("span",{className:"text-xs font-medium text-accent",children:p}),h.jsxs("span",{className:"text-xs text-text-secondary",children:["(",g.length,")"]})]}),g.map(y=>{const x=CE[y.type]??va,v=lu[y.category]??lu.other;return h.jsxs("div",{className:`px-4 py-2 flex items-start gap-2 hover:bg-text-primary/5 cursor-pointer group ${y.dismissed?"opacity-40":""}`,onClick:()=>i(y.file),children:[h.jsx(x,{className:`w-3.5 h-3.5 mt-0.5 flex-shrink-0 ${v}`}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2 mb-0.5",children:[h.jsxs("span",{className:"text-xs text-text-secondary font-mono truncate",children:[y.file,":",y.line]}),h.jsx("span",{className:`text-[10px] font-semibold uppercase ${v}`,children:y.category})]}),h.jsx(OE,{body:y.body})]}),!y.dismissed&&h.jsx("button",{onClick:A=>{A.stopPropagation(),r(y.id)},className:"p-0.5 rounded hover:bg-text-primary/10 text-text-secondary opacity-0 group-hover:opacity-100 cursor-pointer flex-shrink-0",title:"Dismiss",children:h.jsx(uu,{className:"w-3 h-3"})})]},y.id)})]},p))})]})}function iy({onSubmit:l,onDismiss:r,isWatchMode:i,watchSubmitted:s,hasUnreviewedChanges:o}){const{annotations:f,dismissAnnotation:d,selectFile:p,diffSet:g}=bt(),y=x=>{if(!g)return;if(g.files.find(w=>Rt(w)===x)){p(x);return}const A=g.files.find(w=>w.path===x);A&&p(Rt(A))};return h.jsxs("div",{className:"h-screen flex flex-col bg-background",children:[h.jsx(Rv,{}),h.jsx(Mv,{}),h.jsxs("div",{className:"flex flex-1 min-h-0",children:[h.jsxs("div",{className:"w-[280px] flex-shrink-0 flex flex-col overflow-hidden",children:[h.jsx("div",{className:"flex-1 min-h-0",children:h.jsx(Gv,{onSubmit:l})}),h.jsx(RE,{annotations:f,onDismiss:d,onNavigate:y})]}),h.jsx(bE,{})]}),h.jsx(vE,{onSubmit:l,onDismiss:r,isWatchMode:i,watchSubmitted:s,hasUnreviewedChanges:o}),h.jsx(NE,{}),h.jsx(_E,{})]})}function ME(l){const i=Date.now()-l,s=Math.floor(i/6e4);if(s<1)return"just now";if(s<60)return`${s}m ago`;const o=Math.floor(s/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}function jE(l){const r=l.split("/");return r[r.length-1]||l}const op={pending:"Pending",in_review:"In Review",changes_requested:"Changes Req.",approved:"Approved",approved_with_comments:"Approved",dismissed:"Dismissed",submitted:"Submitted"};function kE(l){const{status:r,decision:i}=l,s=r==="submitted"?i??"submitted":r,o=Tm[s]??Tm.submitted,f=op[s]??op.submitted;return h.jsx("span",{className:`inline-flex items-center px-1.5 py-0.5 text-[10px] font-medium rounded ${o}`,children:f})}function DE({sessions:l,activeSessionId:r,onSelect:i,onClose:s}){return h.jsxs("div",{className:"flex flex-col h-full bg-surface border-r border-border",children:[h.jsxs("div",{className:"px-3 py-3 border-b border-border",children:[h.jsx("h2",{className:"text-text-primary text-xs font-semibold uppercase tracking-wider",children:"Sessions"}),h.jsxs("span",{className:"text-text-secondary text-[10px]",children:[l.length," session",l.length!==1?"s":""]})]}),h.jsx("div",{className:"flex-1 overflow-y-auto",children:l.length===0?h.jsx("div",{className:"flex flex-col items-center justify-center h-full px-4 text-center",children:h.jsx("p",{className:"text-text-secondary text-xs",children:"No sessions yet. Reviews will appear here automatically."})}):h.jsx("div",{className:"py-1",children:l.map(o=>{const f=o.id===r;return h.jsxs("div",{className:`group relative px-3 py-2.5 cursor-pointer border-l-2 transition-colors ${f?"bg-accent/10 border-l-accent":o.needsAttention?"bg-warning/5 border-l-warning hover:bg-warning/10":"border-l-transparent hover:bg-border/20"}`,onClick:()=>i(o.id),role:"button",tabIndex:0,onKeyDown:d=>{(d.key==="Enter"||d.key===" ")&&i(o.id)},children:[h.jsx("button",{onClick:d=>{d.stopPropagation(),s(o.id)},className:"absolute top-1.5 right-1.5 p-0.5 rounded hover:bg-border/50 text-text-secondary hover:text-text-primary transition-colors opacity-0 group-hover:opacity-100",style:{opacity:f?1:void 0},title:"Dismiss session",children:h.jsx(uu,{className:"w-3 h-3"})}),h.jsxs("div",{className:"flex items-start justify-between gap-1.5 mb-1 pr-7",children:[h.jsxs("div",{className:"flex items-center gap-1.5 min-w-0 flex-1",children:[o.needsAttention&&h.jsx(va,{className:"w-3.5 h-3.5 text-warning flex-shrink-0 animate-pulse"}),h.jsx("span",{className:"text-text-primary text-xs font-medium truncate",children:o.title||jE(o.projectPath)})]}),h.jsx("div",{className:"flex-shrink-0",children:kE(o)})]}),o.reasoning&&h.jsx("p",{className:"text-text-secondary text-[11px] leading-tight mb-1 line-clamp-2",children:o.reasoning}),h.jsxs("div",{className:"flex items-center gap-2 text-[10px] text-text-secondary",children:[o.branch&&h.jsxs("span",{className:"flex items-center gap-0.5 truncate",children:[h.jsx(cl,{className:"w-2.5 h-2.5"}),o.branch]}),h.jsxs("span",{className:"flex items-center gap-0.5 ml-auto flex-shrink-0",children:[h.jsx(av,{className:"w-2.5 h-2.5"}),ME(o.createdAt)]})]}),h.jsxs("div",{className:"flex items-center gap-2 mt-0.5 text-[10px]",children:[h.jsxs("span",{className:"text-text-secondary",children:[o.fileCount," file",o.fileCount!==1?"s":""]}),o.additions>0&&h.jsxs("span",{className:"text-success font-mono",children:["+",o.additions]}),o.deletions>0&&h.jsxs("span",{className:"text-danger font-mono",children:["-",o.deletions]})]})]},o.id)})})})]})}function zE({permission:l,enabled:r,onToggle:i}){const s=l==="denied",o=l==="granted"&&r,f=s?"Notifications blocked by browser":o?"Notifications on":"Enable notifications";return h.jsx("button",{onClick:i,disabled:s,className:`p-1.5 rounded transition-colors cursor-pointer ${s?"text-text-secondary/50 cursor-not-allowed":o?"text-accent hover:text-accent/80":"text-text-secondary hover:text-text-primary"}`,title:f,children:o?h.jsx(W0,{className:"w-4 h-4"}):h.jsx(J0,{className:"w-4 h-4"})})}function LE({sessions:l,activeSessionId:r,hasDiffLoaded:i,onSelectSession:s,onCloseSession:o,onSubmit:f,onDismiss:d,notificationPermission:p,notificationsEnabled:g,onToggleNotifications:y}){return h.jsxs("div",{className:"h-screen flex bg-background",children:[h.jsxs("div",{className:"w-[260px] flex-shrink-0 flex flex-col",children:[h.jsx(DE,{sessions:l,activeSessionId:r,onSelect:s,onClose:o}),y&&p&&h.jsx("div",{className:"px-3 py-2 border-t border-border border-r border-r-border bg-surface",children:h.jsx(zE,{permission:p,enabled:g??!1,onToggle:y})})]}),h.jsx("div",{className:"flex-1 min-w-0",children:i?h.jsx(iy,{onSubmit:f,onDismiss:d,isWatchMode:!0,watchSubmitted:!1,hasUnreviewedChanges:!0}):h.jsx(UE,{hasAnySessions:l.length>0})})]})}function UE({hasAnySessions:l}){return l?h.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center px-8",children:[h.jsx("div",{className:"w-14 h-14 rounded-full bg-surface border border-border flex items-center justify-center mb-4",children:h.jsx(yl,{className:"w-7 h-7 text-text-secondary"})}),h.jsx("h2",{className:"text-text-primary text-lg font-semibold mb-2",children:"Select a session"}),h.jsx("p",{className:"text-text-secondary text-sm max-w-sm",children:"Click a session in the sidebar to view its diff, annotations, and submit your review."})]}):h.jsx(BE,{})}function BE(){const[l,r]=q.useState(null);q.useEffect(()=>{const o=new URLSearchParams(window.location.search).get("httpPort");o&&fetch(`http://localhost:${o}/api/status`).then(f=>f.json()).then(f=>{r(f)}).catch(()=>{})},[]);const i=s=>{if(s<60)return`${Math.floor(s)}s`;if(s<3600)return`${Math.floor(s/60)}m ${Math.floor(s%60)}s`;const o=Math.floor(s/3600),f=Math.floor(s%3600/60);return`${o}h ${f}m`};return h.jsx("div",{className:"flex flex-col items-center justify-center h-full px-8",children:h.jsxs("div",{className:"max-w-md w-full",children:[h.jsxs("div",{className:"text-center mb-8",children:[h.jsx("h1",{className:"text-text-primary text-2xl font-bold mb-1",children:"DiffPrism"}),h.jsx("p",{className:"text-text-secondary text-sm",children:"Code review for AI-generated changes"})]}),h.jsxs("div",{className:"bg-surface border border-border rounded-lg p-6",children:[h.jsx("h2",{className:"text-text-primary text-sm font-semibold mb-4",children:"Getting Started"}),h.jsxs("div",{className:"mb-5",children:[h.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[h.jsx(bv,{className:"w-4 h-4 text-text-secondary"}),h.jsx("span",{className:"text-text-secondary text-xs font-medium",children:"From the terminal"})]}),h.jsxs("div",{className:"space-y-1.5 pl-6",children:[h.jsx("code",{className:"block text-accent text-xs",children:"$ diffprism review"}),h.jsx("code",{className:"block text-accent text-xs",children:"$ diffprism review --staged"})]})]}),h.jsxs("div",{className:"mb-5",children:[h.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[h.jsx(yl,{className:"w-4 h-4 text-text-secondary"}),h.jsx("span",{className:"text-text-secondary text-xs font-medium",children:"From Claude Code"})]}),h.jsxs("p",{className:"text-text-secondary text-xs pl-6",children:["Type ",h.jsx("code",{className:"text-accent",children:"/review"})," or use the"," ",h.jsx("code",{className:"text-accent",children:"open_review"})," MCP tool"]})]}),h.jsxs("div",{children:[h.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[h.jsx(pv,{className:"w-4 h-4 text-text-secondary"}),h.jsx("span",{className:"text-text-secondary text-xs font-medium",children:"First time?"})]}),h.jsxs("div",{className:"pl-6",children:[h.jsx("code",{className:"block text-accent text-xs mb-1",children:"$ diffprism setup"}),h.jsx("p",{className:"text-text-secondary text-xs",children:"Configures Claude Code integration in one command"})]})]})]}),l&&h.jsxs("p",{className:"text-text-secondary text-xs text-center mt-4",children:["Server running · PID ",l.pid," · up ",i(l.uptime)]})]})})}function HE(){const{permission:l,enabled:r,toggle:i,notifyNewSession:s,notifySessionUpdated:o,notifyDiffUpdated:f,notifyAnnotationAdded:d}=F0({onSessionSelect:Q}),{sendResult:p,selectSession:g,closeSession:y,connectionStatus:x}=X0({onSessionAdded:s,onSessionUpdated:o,onDiffUpdated:f,onAnnotationAdded:d}),{diffSet:v,metadata:A,theme:w,isWatchMode:C,watchSubmitted:O,hasUnreviewedChanges:M,setWatchSubmitted:j,isServerMode:G,sessions:T,activeSessionId:Z,selectSession:F,removeSession:V,clearReview:X,clearSessionAttention:ee}=bt(),[te,ae]=q.useState(!1),[le,ne]=q.useState(3);q.useEffect(()=>{const K=document.documentElement;w==="dark"?K.classList.add("dark"):K.classList.remove("dark")},[w]);function P(K){p(K),G?X():C?j(!0):ae(!0)}function $(){p({decision:"dismissed",comments:[]}),G&&Z?(V(Z),y(Z)):C?j(!0):ae(!0)}function Q(K){F(K),ee(K),g(K)}function S(K){V(K),y(K)}const L=q.useCallback(()=>{window.close()},[]);return q.useEffect(()=>{if(!te||C||G)return;if(le<=0){L();return}const K=setTimeout(()=>{ne(se=>se-1)},1e3);return()=>clearTimeout(K)},[te,le,L,C,G]),te?h.jsx("div",{className:"h-screen flex items-center justify-center bg-background",children:h.jsxs("div",{className:"text-center",children:[h.jsx("div",{className:"w-16 h-16 rounded-full bg-success/15 border border-success/30 flex items-center justify-center mx-auto mb-4",children:h.jsx("svg",{className:"w-8 h-8 text-success",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})}),h.jsx("h1",{className:"text-text-primary text-xl font-semibold mb-2",children:"Review Submitted"}),h.jsxs("p",{className:"text-text-secondary text-sm",children:["Closing in ",le,"s..."]})]})}):G?x==="disconnected"?h.jsx("div",{className:"h-screen flex items-center justify-center bg-background",children:h.jsxs("div",{className:"text-center",children:[h.jsx("div",{className:"w-12 h-12 rounded-full bg-danger/15 border border-danger/30 flex items-center justify-center mx-auto mb-4",children:h.jsx("svg",{className:"w-6 h-6 text-danger",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),h.jsx("h1",{className:"text-text-primary text-lg font-semibold mb-2",children:"Connection Lost"}),h.jsx("p",{className:"text-text-secondary text-sm",children:"Unable to connect to the DiffPrism server."})]})}):h.jsx(LE,{sessions:T,activeSessionId:Z,hasDiffLoaded:!!v,onSelectSession:Q,onCloseSession:S,onSubmit:P,onDismiss:$,notificationPermission:l,notificationsEnabled:r,onToggleNotifications:i}):v?h.jsx(iy,{onSubmit:P,onDismiss:$,isWatchMode:C||G,watchSubmitted:O,hasUnreviewedChanges:M}):h.jsx("div",{className:"h-screen flex items-center justify-center bg-background",children:h.jsx("div",{className:"text-center",children:x==="disconnected"?h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"w-12 h-12 rounded-full bg-danger/15 border border-danger/30 flex items-center justify-center mx-auto mb-4",children:h.jsx("svg",{className:"w-6 h-6 text-danger",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),h.jsx("h1",{className:"text-text-primary text-lg font-semibold mb-2",children:"Connection Lost"}),h.jsx("p",{className:"text-text-secondary text-sm",children:"Unable to connect to the DiffPrism server. Please check the terminal and try again."})]}):h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"mb-4 flex justify-center",children:h.jsx("div",{className:"w-8 h-8 border-2 border-accent/30 border-t-accent rounded-full animate-spin"})}),h.jsx("h1",{className:"text-text-primary text-lg font-semibold mb-2",children:x==="connecting"?"Connecting...":"Waiting for review data..."}),h.jsx("p",{className:"text-text-secondary text-sm",children:(A==null?void 0:A.title)??"Loading review..."})]})})})}H0.createRoot(document.getElementById("root")).render(h.jsx(HE,{}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--diff-background-color:initial;--diff-text-color:initial;--diff-font-family:Consolas,Courier,monospace;--diff-selection-background-color:#b3d7ff;--diff-selection-text-color:var(--diff-text-color);--diff-gutter-insert-background-color:#d6fedb;--diff-gutter-insert-text-color:var(--diff-text-color);--diff-gutter-delete-background-color:#fadde0;--diff-gutter-delete-text-color:var(--diff-text-color);--diff-gutter-selected-background-color:#fffce0;--diff-gutter-selected-text-color:var(--diff-text-color);--diff-code-insert-background-color:#eaffee;--diff-code-insert-text-color:var(--diff-text-color);--diff-code-delete-background-color:#fdeff0;--diff-code-delete-text-color:var(--diff-text-color);--diff-code-insert-edit-background-color:#c0dc91;--diff-code-insert-edit-text-color:var(--diff-text-color);--diff-code-delete-edit-background-color:#f39ea2;--diff-code-delete-edit-text-color:var(--diff-text-color);--diff-code-selected-background-color:#fffce0;--diff-code-selected-text-color:var(--diff-text-color);--diff-omit-gutter-line-color:#cb2a1d}.diff{background-color:var(--diff-background-color);border-collapse:collapse;color:var(--diff-text-color);table-layout:fixed;width:100%}.diff::-moz-selection{background-color:#b3d7ff;background-color:var(--diff-selection-background-color);color:var(--diff-text-color);color:var(--diff-selection-text-color)}.diff::selection{background-color:#b3d7ff;background-color:var(--diff-selection-background-color);color:var(--diff-text-color);color:var(--diff-selection-text-color)}.diff td{padding-bottom:0;padding-top:0;vertical-align:top}.diff-line{font-family:Consolas,Courier,monospace;font-family:var(--diff-font-family);line-height:1.5}.diff-gutter>a{color:inherit;display:block}.diff-gutter{cursor:pointer;padding:0 1ch;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.diff-gutter-insert{background-color:#d6fedb;background-color:var(--diff-gutter-insert-background-color);color:var(--diff-text-color);color:var(--diff-gutter-insert-text-color)}.diff-gutter-delete{background-color:#fadde0;background-color:var(--diff-gutter-delete-background-color);color:var(--diff-text-color);color:var(--diff-gutter-delete-text-color)}.diff-gutter-omit{cursor:default}.diff-gutter-selected{background-color:#fffce0;background-color:var(--diff-gutter-selected-background-color);color:var(--diff-text-color);color:var(--diff-gutter-selected-text-color)}.diff-code{word-wrap:break-word;padding:0 0 0 .5em;white-space:pre-wrap;word-break:break-all}.diff-code-edit{color:inherit}.diff-code-insert{background-color:#eaffee;background-color:var(--diff-code-insert-background-color);color:var(--diff-text-color);color:var(--diff-code-insert-text-color)}.diff-code-insert .diff-code-edit{background-color:#c0dc91;background-color:var(--diff-code-insert-edit-background-color);color:var(--diff-text-color);color:var(--diff-code-insert-edit-text-color)}.diff-code-delete{background-color:#fdeff0;background-color:var(--diff-code-delete-background-color);color:var(--diff-text-color);color:var(--diff-code-delete-text-color)}.diff-code-delete .diff-code-edit{background-color:#f39ea2;background-color:var(--diff-code-delete-edit-background-color);color:var(--diff-text-color);color:var(--diff-code-delete-edit-text-color)}.diff-code-selected{background-color:#fffce0;background-color:var(--diff-code-selected-background-color);color:var(--diff-text-color);color:var(--diff-code-selected-text-color)}.diff-widget-content{vertical-align:top}.diff-gutter-col{width:7ch}.diff-gutter-omit{height:0}.diff-gutter-omit:before{background-color:#cb2a1d;background-color:var(--diff-omit-gutter-line-color);content:" ";display:block;height:100%;margin-left:4.6ch;overflow:hidden;white-space:pre;width:2px}.diff-decoration{line-height:1.5;-webkit-user-select:none;-moz-user-select:none;user-select:none}.diff-decoration-content{font-family:Consolas,Courier,monospace;font-family:var(--diff-font-family);padding:0}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.right-0{right:0}.right-1\.5{right:.375rem}.right-2{right:.5rem}.top-1\.5{top:.375rem}.top-2{top:.5rem}.top-full{top:100%}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-64{max-height:16rem}.max-h-\[40\%\]{max-height:40%}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0px}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[260px\]{width:260px}.w-\[280px\]{width:280px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-\[180px\]{max-width:180px}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-3{row-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-accent{border-color:var(--color-accent)}.border-border{border-color:var(--color-border)}.border-transparent{border-color:transparent}.border-l-accent{border-left-color:var(--color-accent)}.border-l-transparent{border-left-color:transparent}.border-l-warning{border-left-color:var(--color-warning)}.border-r-border{border-right-color:var(--color-border)}.border-t-accent{border-top-color:var(--color-accent)}.bg-accent{background-color:var(--color-accent)}.bg-background{background-color:var(--color-background)}.bg-black\/50{background-color:#00000080}.bg-border{background-color:var(--color-border)}.bg-info{background-color:var(--color-info)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-3{padding-bottom:.75rem}.pl-6{padding-left:1.5rem}.pr-6{padding-right:1.5rem}.pr-7{padding-right:1.75rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-info{color:var(--color-info)}.text-neutral{color:var(--color-neutral)}.text-perf{color:var(--color-perf)}.text-success{color:var(--color-success)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-warning{color:var(--color-warning)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}:root{--color-background: #e5e9f2;--color-surface: #d8dde9;--color-border: #b3bbd0;--color-text-primary: #141828;--color-text-secondary: #434e65;--color-accent: #4f3fba;--color-diff-bg: #e5e9f2;--color-diff-text: #141828;--color-gutter-bg: #d8dde9;--color-gutter-text: #434e65;--color-gutter-border: #b3bbd0;--color-diff-insert-bg: rgba(30, 160, 120, .15);--color-diff-insert-gutter-bg: rgba(30, 160, 120, .22);--color-diff-insert-gutter-text: #14704f;--color-diff-delete-bg: rgba(210, 75, 65, .15);--color-diff-delete-gutter-bg: rgba(210, 75, 65, .22);--color-diff-delete-gutter-text: #b02e26;--color-hunk-bg: rgba(90, 72, 201, .1);--color-hunk-border: #b3bbd0;--color-hunk-gutter-bg: rgba(79, 63, 186, .15);--color-hunk-gutter-text: #4f3fba;--color-hunk-content-text: #434e65;--color-diff-edit-insert: rgba(30, 160, 120, .42);--color-diff-edit-delete: rgba(210, 75, 65, .42);--color-split-divider: #b3bbd0;--color-widget-bg: #d8dde9;--color-comment-btn-bg: #167a5c;--color-comment-indicator: #4f3fba;--color-annotation-indicator: #c07820;--color-scrollbar-track: #e5e9f2;--color-scrollbar-thumb: #b3bbd0;--color-scrollbar-thumb-hover: #98a2b8;--color-token-comment: #6b7a8f;--color-token-punctuation: #1a1f2e;--color-token-property: #0b6e82;--color-token-string: #0e7a5c;--color-token-operator: #c93c33;--color-token-keyword: #6e45c9;--color-token-function: #2870c9;--color-token-variable: #b06e18;--color-success: #0e7a5c;--color-danger: #c93c33;--color-warning: #b06e18;--color-info: #2870c9;--color-neutral: #6b7a8f;--color-perf: #c07820;--color-added: rgba(30, 160, 120, .4);--color-deleted: rgba(210, 75, 65, .4)}.dark{--color-background: #0b0f1a;--color-surface: #131829;--color-border: #252d3f;--color-text-primary: #dfe5f1;--color-text-secondary: #7585a3;--color-accent: #7c6bf0;--color-diff-bg: #0b0f1a;--color-diff-text: #dfe5f1;--color-gutter-bg: #111623;--color-gutter-text: #7585a3;--color-gutter-border: #252d3f;--color-diff-insert-bg: rgba(45, 185, 140, .12);--color-diff-insert-gutter-bg: rgba(45, 185, 140, .18);--color-diff-insert-gutter-text: #5ee0b2;--color-diff-delete-bg: rgba(235, 100, 90, .12);--color-diff-delete-gutter-bg: rgba(235, 100, 90, .18);--color-diff-delete-gutter-text: #f07068;--color-hunk-bg: rgba(124, 107, 240, .08);--color-hunk-border: #252d3f;--color-hunk-gutter-bg: rgba(124, 107, 240, .12);--color-hunk-gutter-text: #9688f0;--color-hunk-content-text: #7585a3;--color-diff-edit-insert: rgba(45, 185, 140, .35);--color-diff-edit-delete: rgba(235, 100, 90, .35);--color-split-divider: #252d3f;--color-widget-bg: #131829;--color-comment-btn-bg: #2db98c;--color-comment-indicator: #7c6bf0;--color-annotation-indicator: #e0a050;--color-scrollbar-track: #0b0f1a;--color-scrollbar-thumb: #252d3f;--color-scrollbar-thumb-hover: #3a4560;--color-token-comment: #5f6f8a;--color-token-punctuation: #bec8db;--color-token-property: #56c8e0;--color-token-string: #42c9a2;--color-token-operator: #f07a6e;--color-token-keyword: #b08df0;--color-token-function: #6aabf7;--color-token-variable: #e0a050;--color-success: #42c9a2;--color-danger: #f07a6e;--color-warning: #e0a050;--color-info: #6aabf7;--color-neutral: #5f6f8a;--color-perf: #e89040;--color-added: rgba(45, 185, 140, .4);--color-deleted: rgba(235, 100, 90, .4)}.diff-unified,.diff-split{background-color:var(--color-diff-bg);color:var(--color-diff-text);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;line-height:20px}.diff-unified .diff-gutter,.diff-split .diff-gutter{background-color:var(--color-gutter-bg);color:var(--color-gutter-text);border-right:1px solid var(--color-gutter-border);padding:0 8px;min-width:50px;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.diff-unified .diff-gutter-col,.diff-split .diff-gutter-col{width:60px;min-width:60px}.diff-unified .diff-code,.diff-split .diff-code{padding:0 12px;white-space:pre}.diff-unified .diff-code-insert,.diff-split .diff-code-insert{background-color:var(--color-diff-insert-bg)}.diff-unified .diff-code-insert .diff-code-text,.diff-split .diff-code-insert .diff-code-text{background-color:transparent}.diff-unified .diff-gutter-insert,.diff-split .diff-gutter-insert{background-color:var(--color-diff-insert-gutter-bg);color:var(--color-diff-insert-gutter-text)}.diff-unified .diff-code-delete,.diff-split .diff-code-delete{background-color:var(--color-diff-delete-bg)}.diff-unified .diff-code-delete .diff-code-text,.diff-split .diff-code-delete .diff-code-text{background-color:transparent}.diff-unified .diff-gutter-delete,.diff-split .diff-gutter-delete{background-color:var(--color-diff-delete-gutter-bg);color:var(--color-diff-delete-gutter-text)}.diff-unified .diff-code-normal,.diff-split .diff-code-normal{background-color:transparent}.diff-unified .diff-gutter-normal,.diff-split .diff-gutter-normal{background-color:var(--color-gutter-bg)}.diff-unified .diff-hunk-header,.diff-split .diff-hunk-header{background-color:var(--color-hunk-bg);border-top:1px solid var(--color-hunk-border);border-bottom:1px solid var(--color-hunk-border)}.diff-unified .diff-hunk-header-gutter,.diff-split .diff-hunk-header-gutter{background-color:var(--color-hunk-gutter-bg);color:var(--color-hunk-gutter-text)}.diff-unified .diff-hunk-header-content,.diff-split .diff-hunk-header-content{color:var(--color-hunk-content-text);padding:4px 12px;font-style:italic}.diff-unified .diff-code-edit .diff-code-text .diff-code-edit-text,.diff-split .diff-code-edit .diff-code-text .diff-code-edit-text{background-color:var(--color-diff-edit-insert);border-radius:2px}.diff-unified .diff-code-delete .diff-code-text .diff-code-edit-text,.diff-split .diff-code-delete .diff-code-text .diff-code-edit-text{background-color:var(--color-diff-edit-delete);border-radius:2px}.diff-unified table,.diff-split table{width:100%;border-collapse:collapse;table-layout:fixed}.diff-unified td,.diff-split td{vertical-align:top}.diff-split .diff-split-side-new .diff-gutter{border-left:1px solid var(--color-split-divider)}.diff-unified .token.comment,.diff-unified .token.prolog,.diff-unified .token.doctype,.diff-unified .token.cdata,.diff-split .token.comment,.diff-split .token.prolog,.diff-split .token.doctype,.diff-split .token.cdata{color:var(--color-token-comment)}.diff-unified .token.punctuation,.diff-split .token.punctuation{color:var(--color-token-punctuation)}.diff-unified .token.property,.diff-unified .token.tag,.diff-unified .token.boolean,.diff-unified .token.number,.diff-unified .token.constant,.diff-unified .token.symbol,.diff-split .token.property,.diff-split .token.tag,.diff-split .token.boolean,.diff-split .token.number,.diff-split .token.constant,.diff-split .token.symbol{color:var(--color-token-property)}.diff-unified .token.selector,.diff-unified .token.attr-name,.diff-unified .token.string,.diff-unified .token.char,.diff-unified .token.builtin,.diff-split .token.selector,.diff-split .token.attr-name,.diff-split .token.string,.diff-split .token.char,.diff-split .token.builtin{color:var(--color-token-string)}.diff-unified .token.operator,.diff-unified .token.entity,.diff-unified .token.url,.diff-split .token.operator,.diff-split .token.entity,.diff-split .token.url{color:var(--color-token-operator)}.diff-unified .token.atrule,.diff-unified .token.attr-value,.diff-unified .token.keyword,.diff-split .token.atrule,.diff-split .token.attr-value,.diff-split .token.keyword{color:var(--color-token-keyword)}.diff-unified .token.function,.diff-unified .token.class-name,.diff-split .token.function,.diff-split .token.class-name{color:var(--color-token-function)}.diff-unified .token.regex,.diff-unified .token.important,.diff-unified .token.variable,.diff-split .token.regex,.diff-split .token.important,.diff-split .token.variable{color:var(--color-token-variable)}.diff-unified .token.string,.diff-split .token.string{color:var(--color-token-string)}.diff-hunk-focused{outline:2px solid var(--color-accent);outline-offset:-2px}.diff-unified .diff-gutter,.diff-split .diff-gutter{cursor:pointer;position:relative}.diff-gutter-add-comment{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;background-color:var(--color-comment-btn-bg);color:#fff;font-size:12px;font-weight:700;line-height:1;position:absolute;left:2px;top:50%;transform:translateY(-50%)}.diff-comment-indicator{display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--color-comment-indicator);position:absolute;left:4px;top:50%;transform:translateY(-50%)}.diff-annotation-indicator{display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--color-annotation-indicator);position:absolute;left:4px;top:50%;transform:translateY(-50%)}.diff-widget{background-color:var(--color-widget-bg)}.diff-widget-content{padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}.placeholder\:text-text-secondary::-moz-placeholder{color:var(--color-text-secondary)}.placeholder\:text-text-secondary::placeholder{color:var(--color-text-secondary)}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-danger:hover{color:var(--color-danger)}.hover\:text-text-primary:hover{color:var(--color-text-primary)}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-accent:focus{border-color:var(--color-accent)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-accent:focus{--tw-ring-color:var(--color-accent)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:text-text-primary{color:var(--color-text-primary)}.group\/annotation:hover .group-hover\/annotation\:opacity-100,.group\/comment:hover .group-hover\/comment\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-40{opacity:.4}
|
package/ui-dist/index.html
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
7
7
|
<title>DiffPrism</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-BOR79tw6.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CV6qGA3x.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body style="background-color: var(--color-background); margin: 0;">
|
|
12
12
|
<div id="root"></div>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
:root{--diff-background-color:initial;--diff-text-color:initial;--diff-font-family:Consolas,Courier,monospace;--diff-selection-background-color:#b3d7ff;--diff-selection-text-color:var(--diff-text-color);--diff-gutter-insert-background-color:#d6fedb;--diff-gutter-insert-text-color:var(--diff-text-color);--diff-gutter-delete-background-color:#fadde0;--diff-gutter-delete-text-color:var(--diff-text-color);--diff-gutter-selected-background-color:#fffce0;--diff-gutter-selected-text-color:var(--diff-text-color);--diff-code-insert-background-color:#eaffee;--diff-code-insert-text-color:var(--diff-text-color);--diff-code-delete-background-color:#fdeff0;--diff-code-delete-text-color:var(--diff-text-color);--diff-code-insert-edit-background-color:#c0dc91;--diff-code-insert-edit-text-color:var(--diff-text-color);--diff-code-delete-edit-background-color:#f39ea2;--diff-code-delete-edit-text-color:var(--diff-text-color);--diff-code-selected-background-color:#fffce0;--diff-code-selected-text-color:var(--diff-text-color);--diff-omit-gutter-line-color:#cb2a1d}.diff{background-color:var(--diff-background-color);border-collapse:collapse;color:var(--diff-text-color);table-layout:fixed;width:100%}.diff::-moz-selection{background-color:#b3d7ff;background-color:var(--diff-selection-background-color);color:var(--diff-text-color);color:var(--diff-selection-text-color)}.diff::selection{background-color:#b3d7ff;background-color:var(--diff-selection-background-color);color:var(--diff-text-color);color:var(--diff-selection-text-color)}.diff td{padding-bottom:0;padding-top:0;vertical-align:top}.diff-line{font-family:Consolas,Courier,monospace;font-family:var(--diff-font-family);line-height:1.5}.diff-gutter>a{color:inherit;display:block}.diff-gutter{cursor:pointer;padding:0 1ch;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.diff-gutter-insert{background-color:#d6fedb;background-color:var(--diff-gutter-insert-background-color);color:var(--diff-text-color);color:var(--diff-gutter-insert-text-color)}.diff-gutter-delete{background-color:#fadde0;background-color:var(--diff-gutter-delete-background-color);color:var(--diff-text-color);color:var(--diff-gutter-delete-text-color)}.diff-gutter-omit{cursor:default}.diff-gutter-selected{background-color:#fffce0;background-color:var(--diff-gutter-selected-background-color);color:var(--diff-text-color);color:var(--diff-gutter-selected-text-color)}.diff-code{word-wrap:break-word;padding:0 0 0 .5em;white-space:pre-wrap;word-break:break-all}.diff-code-edit{color:inherit}.diff-code-insert{background-color:#eaffee;background-color:var(--diff-code-insert-background-color);color:var(--diff-text-color);color:var(--diff-code-insert-text-color)}.diff-code-insert .diff-code-edit{background-color:#c0dc91;background-color:var(--diff-code-insert-edit-background-color);color:var(--diff-text-color);color:var(--diff-code-insert-edit-text-color)}.diff-code-delete{background-color:#fdeff0;background-color:var(--diff-code-delete-background-color);color:var(--diff-text-color);color:var(--diff-code-delete-text-color)}.diff-code-delete .diff-code-edit{background-color:#f39ea2;background-color:var(--diff-code-delete-edit-background-color);color:var(--diff-text-color);color:var(--diff-code-delete-edit-text-color)}.diff-code-selected{background-color:#fffce0;background-color:var(--diff-code-selected-background-color);color:var(--diff-text-color);color:var(--diff-code-selected-text-color)}.diff-widget-content{vertical-align:top}.diff-gutter-col{width:7ch}.diff-gutter-omit{height:0}.diff-gutter-omit:before{background-color:#cb2a1d;background-color:var(--diff-omit-gutter-line-color);content:" ";display:block;height:100%;margin-left:4.6ch;overflow:hidden;white-space:pre;width:2px}.diff-decoration{line-height:1.5;-webkit-user-select:none;-moz-user-select:none;user-select:none}.diff-decoration-content{font-family:Consolas,Courier,monospace;font-family:var(--diff-font-family);padding:0}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.right-0{right:0}.right-1\.5{right:.375rem}.right-2{right:.5rem}.top-1\.5{top:.375rem}.top-2{top:.5rem}.top-full{top:100%}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-64{max-height:16rem}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0px}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[260px\]{width:260px}.w-\[280px\]{width:280px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-\[180px\]{max-width:180px}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-3{row-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-accent{border-color:var(--color-accent)}.border-border{border-color:var(--color-border)}.border-transparent{border-color:transparent}.border-l-accent{border-left-color:var(--color-accent)}.border-l-transparent{border-left-color:transparent}.border-l-warning{border-left-color:var(--color-warning)}.border-r-border{border-right-color:var(--color-border)}.border-t-accent{border-top-color:var(--color-accent)}.bg-accent{background-color:var(--color-accent)}.bg-background{background-color:var(--color-background)}.bg-black\/50{background-color:#00000080}.bg-border{background-color:var(--color-border)}.bg-info{background-color:var(--color-info)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-3{padding-bottom:.75rem}.pl-6{padding-left:1.5rem}.pr-6{padding-right:1.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-info{color:var(--color-info)}.text-neutral{color:var(--color-neutral)}.text-perf{color:var(--color-perf)}.text-success{color:var(--color-success)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-warning{color:var(--color-warning)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}:root{--color-background: #e5e9f2;--color-surface: #d8dde9;--color-border: #b3bbd0;--color-text-primary: #141828;--color-text-secondary: #434e65;--color-accent: #4f3fba;--color-diff-bg: #e5e9f2;--color-diff-text: #141828;--color-gutter-bg: #d8dde9;--color-gutter-text: #434e65;--color-gutter-border: #b3bbd0;--color-diff-insert-bg: rgba(30, 160, 120, .15);--color-diff-insert-gutter-bg: rgba(30, 160, 120, .22);--color-diff-insert-gutter-text: #14704f;--color-diff-delete-bg: rgba(210, 75, 65, .15);--color-diff-delete-gutter-bg: rgba(210, 75, 65, .22);--color-diff-delete-gutter-text: #b02e26;--color-hunk-bg: rgba(90, 72, 201, .1);--color-hunk-border: #b3bbd0;--color-hunk-gutter-bg: rgba(79, 63, 186, .15);--color-hunk-gutter-text: #4f3fba;--color-hunk-content-text: #434e65;--color-diff-edit-insert: rgba(30, 160, 120, .42);--color-diff-edit-delete: rgba(210, 75, 65, .42);--color-split-divider: #b3bbd0;--color-widget-bg: #d8dde9;--color-comment-btn-bg: #167a5c;--color-comment-indicator: #4f3fba;--color-annotation-indicator: #c07820;--color-scrollbar-track: #e5e9f2;--color-scrollbar-thumb: #b3bbd0;--color-scrollbar-thumb-hover: #98a2b8;--color-token-comment: #6b7a8f;--color-token-punctuation: #1a1f2e;--color-token-property: #0b6e82;--color-token-string: #0e7a5c;--color-token-operator: #c93c33;--color-token-keyword: #6e45c9;--color-token-function: #2870c9;--color-token-variable: #b06e18;--color-success: #0e7a5c;--color-danger: #c93c33;--color-warning: #b06e18;--color-info: #2870c9;--color-neutral: #6b7a8f;--color-perf: #c07820;--color-added: rgba(30, 160, 120, .4);--color-deleted: rgba(210, 75, 65, .4)}.dark{--color-background: #0b0f1a;--color-surface: #131829;--color-border: #252d3f;--color-text-primary: #dfe5f1;--color-text-secondary: #7585a3;--color-accent: #7c6bf0;--color-diff-bg: #0b0f1a;--color-diff-text: #dfe5f1;--color-gutter-bg: #111623;--color-gutter-text: #7585a3;--color-gutter-border: #252d3f;--color-diff-insert-bg: rgba(45, 185, 140, .12);--color-diff-insert-gutter-bg: rgba(45, 185, 140, .18);--color-diff-insert-gutter-text: #5ee0b2;--color-diff-delete-bg: rgba(235, 100, 90, .12);--color-diff-delete-gutter-bg: rgba(235, 100, 90, .18);--color-diff-delete-gutter-text: #f07068;--color-hunk-bg: rgba(124, 107, 240, .08);--color-hunk-border: #252d3f;--color-hunk-gutter-bg: rgba(124, 107, 240, .12);--color-hunk-gutter-text: #9688f0;--color-hunk-content-text: #7585a3;--color-diff-edit-insert: rgba(45, 185, 140, .35);--color-diff-edit-delete: rgba(235, 100, 90, .35);--color-split-divider: #252d3f;--color-widget-bg: #131829;--color-comment-btn-bg: #2db98c;--color-comment-indicator: #7c6bf0;--color-annotation-indicator: #e0a050;--color-scrollbar-track: #0b0f1a;--color-scrollbar-thumb: #252d3f;--color-scrollbar-thumb-hover: #3a4560;--color-token-comment: #5f6f8a;--color-token-punctuation: #bec8db;--color-token-property: #56c8e0;--color-token-string: #42c9a2;--color-token-operator: #f07a6e;--color-token-keyword: #b08df0;--color-token-function: #6aabf7;--color-token-variable: #e0a050;--color-success: #42c9a2;--color-danger: #f07a6e;--color-warning: #e0a050;--color-info: #6aabf7;--color-neutral: #5f6f8a;--color-perf: #e89040;--color-added: rgba(45, 185, 140, .4);--color-deleted: rgba(235, 100, 90, .4)}.diff-unified,.diff-split{background-color:var(--color-diff-bg);color:var(--color-diff-text);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;line-height:20px}.diff-unified .diff-gutter,.diff-split .diff-gutter{background-color:var(--color-gutter-bg);color:var(--color-gutter-text);border-right:1px solid var(--color-gutter-border);padding:0 8px;min-width:50px;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.diff-unified .diff-gutter-col,.diff-split .diff-gutter-col{width:60px;min-width:60px}.diff-unified .diff-code,.diff-split .diff-code{padding:0 12px;white-space:pre}.diff-unified .diff-code-insert,.diff-split .diff-code-insert{background-color:var(--color-diff-insert-bg)}.diff-unified .diff-code-insert .diff-code-text,.diff-split .diff-code-insert .diff-code-text{background-color:transparent}.diff-unified .diff-gutter-insert,.diff-split .diff-gutter-insert{background-color:var(--color-diff-insert-gutter-bg);color:var(--color-diff-insert-gutter-text)}.diff-unified .diff-code-delete,.diff-split .diff-code-delete{background-color:var(--color-diff-delete-bg)}.diff-unified .diff-code-delete .diff-code-text,.diff-split .diff-code-delete .diff-code-text{background-color:transparent}.diff-unified .diff-gutter-delete,.diff-split .diff-gutter-delete{background-color:var(--color-diff-delete-gutter-bg);color:var(--color-diff-delete-gutter-text)}.diff-unified .diff-code-normal,.diff-split .diff-code-normal{background-color:transparent}.diff-unified .diff-gutter-normal,.diff-split .diff-gutter-normal{background-color:var(--color-gutter-bg)}.diff-unified .diff-hunk-header,.diff-split .diff-hunk-header{background-color:var(--color-hunk-bg);border-top:1px solid var(--color-hunk-border);border-bottom:1px solid var(--color-hunk-border)}.diff-unified .diff-hunk-header-gutter,.diff-split .diff-hunk-header-gutter{background-color:var(--color-hunk-gutter-bg);color:var(--color-hunk-gutter-text)}.diff-unified .diff-hunk-header-content,.diff-split .diff-hunk-header-content{color:var(--color-hunk-content-text);padding:4px 12px;font-style:italic}.diff-unified .diff-code-edit .diff-code-text .diff-code-edit-text,.diff-split .diff-code-edit .diff-code-text .diff-code-edit-text{background-color:var(--color-diff-edit-insert);border-radius:2px}.diff-unified .diff-code-delete .diff-code-text .diff-code-edit-text,.diff-split .diff-code-delete .diff-code-text .diff-code-edit-text{background-color:var(--color-diff-edit-delete);border-radius:2px}.diff-unified table,.diff-split table{width:100%;border-collapse:collapse;table-layout:fixed}.diff-unified td,.diff-split td{vertical-align:top}.diff-split .diff-split-side-new .diff-gutter{border-left:1px solid var(--color-split-divider)}.diff-unified .token.comment,.diff-unified .token.prolog,.diff-unified .token.doctype,.diff-unified .token.cdata,.diff-split .token.comment,.diff-split .token.prolog,.diff-split .token.doctype,.diff-split .token.cdata{color:var(--color-token-comment)}.diff-unified .token.punctuation,.diff-split .token.punctuation{color:var(--color-token-punctuation)}.diff-unified .token.property,.diff-unified .token.tag,.diff-unified .token.boolean,.diff-unified .token.number,.diff-unified .token.constant,.diff-unified .token.symbol,.diff-split .token.property,.diff-split .token.tag,.diff-split .token.boolean,.diff-split .token.number,.diff-split .token.constant,.diff-split .token.symbol{color:var(--color-token-property)}.diff-unified .token.selector,.diff-unified .token.attr-name,.diff-unified .token.string,.diff-unified .token.char,.diff-unified .token.builtin,.diff-split .token.selector,.diff-split .token.attr-name,.diff-split .token.string,.diff-split .token.char,.diff-split .token.builtin{color:var(--color-token-string)}.diff-unified .token.operator,.diff-unified .token.entity,.diff-unified .token.url,.diff-split .token.operator,.diff-split .token.entity,.diff-split .token.url{color:var(--color-token-operator)}.diff-unified .token.atrule,.diff-unified .token.attr-value,.diff-unified .token.keyword,.diff-split .token.atrule,.diff-split .token.attr-value,.diff-split .token.keyword{color:var(--color-token-keyword)}.diff-unified .token.function,.diff-unified .token.class-name,.diff-split .token.function,.diff-split .token.class-name{color:var(--color-token-function)}.diff-unified .token.regex,.diff-unified .token.important,.diff-unified .token.variable,.diff-split .token.regex,.diff-split .token.important,.diff-split .token.variable{color:var(--color-token-variable)}.diff-unified .token.string,.diff-split .token.string{color:var(--color-token-string)}.diff-hunk-focused{outline:2px solid var(--color-accent);outline-offset:-2px}.diff-unified .diff-gutter,.diff-split .diff-gutter{cursor:pointer;position:relative}.diff-gutter-add-comment{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;background-color:var(--color-comment-btn-bg);color:#fff;font-size:12px;font-weight:700;line-height:1;position:absolute;left:2px;top:50%;transform:translateY(-50%)}.diff-comment-indicator{display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--color-comment-indicator);position:absolute;left:4px;top:50%;transform:translateY(-50%)}.diff-annotation-indicator{display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--color-annotation-indicator);position:absolute;left:4px;top:50%;transform:translateY(-50%)}.diff-widget{background-color:var(--color-widget-bg)}.diff-widget-content{padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}.placeholder\:text-text-secondary::-moz-placeholder{color:var(--color-text-secondary)}.placeholder\:text-text-secondary::placeholder{color:var(--color-text-secondary)}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-danger:hover{color:var(--color-danger)}.hover\:text-text-primary:hover{color:var(--color-text-primary)}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-accent:focus{border-color:var(--color-accent)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-accent:focus{--tw-ring-color:var(--color-accent)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:text-text-primary{color:var(--color-text-primary)}.group\/annotation:hover .group-hover\/annotation\:opacity-100,.group\/comment:hover .group-hover\/comment\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-40{opacity:.4}
|