From 3b4ba29b6e98f2caaa26fe32b6a3be351e5acc1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=9F=E9=85=8C=20=E9=B5=AC=E5=85=84?= Date: Tue, 5 Apr 2022 23:16:58 +0900 Subject: [PATCH] Fixed compressed SyntaxHighlighter issue --- .../Blog/AstroEdit/Visualizer/Snippet/Code.js | 2 +- botanjs/src/Astro/Bootstrap.js | 2 +- .../Libraries/SyntaxHighlighter/Brush/Xml.js | 2 + .../src/Libraries/SyntaxHighlighter/_this.js | 938 +++++++++++++++++- k8s/deployments.yaml | 4 +- 5 files changed, 942 insertions(+), 6 deletions(-) diff --git a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js index 80d1411..92a9a62 100644 --- a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js +++ b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js @@ -31,7 +31,7 @@ , "Python" , "python" , "Perl" , "perl" , "Ruby" , "ruby" - , "Html/Xml" , "html" + , "Html/Xml" , "xml" , "Java" , "java" , "JavaScript" , "js" , "SQL" , "sql" diff --git a/botanjs/src/Astro/Bootstrap.js b/botanjs/src/Astro/Bootstrap.js index d0d68d2..9562bcf 100644 --- a/botanjs/src/Astro/Bootstrap.js +++ b/botanjs/src/Astro/Bootstrap.js @@ -51,7 +51,7 @@ /** @type {Libraries.SyntaxHighlighter} */ var synt = __import( SyntaxHighlighter ); - synt.defaults["toolbar"] = false; + synt.defaults.toolbar = false; synt.defaults["quick-code"] = false; synt.highlight(); break; diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Xml.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Xml.js index ec9fe84..7a17906 100644 --- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Xml.js +++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Xml.js @@ -21,6 +21,8 @@ /** @type {Libraries.SyntaxHighlighter} */ var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" ); + var XRegExp = __import( "Libraries.XRegExp" ); + /** @type {Libraries.SyntaxHighlighter.Brush} **/ var Brush = function() { diff --git a/botanjs/src/Libraries/SyntaxHighlighter/_this.js b/botanjs/src/Libraries/SyntaxHighlighter/_this.js index f5722d5..b1bd11a 100644 --- a/botanjs/src/Libraries/SyntaxHighlighter/_this.js +++ b/botanjs/src/Libraries/SyntaxHighlighter/_this.js @@ -16,8 +16,942 @@ */ (function(){ var ns = __namespace( "Libraries" ); -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a-1},3d:6(g){e+=g}};c1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;be.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;dd.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a\'+c+""});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.Pb.P)H 1;Y I(a.Lb.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'\'+c+""+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v<3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;">1v3v 3.0.76 (72 73 3x)1Z://3u.2w/1v70 17 6U 71.6T 6X-3x 6Y 6D.6t 61 60 J 1k, 5Z 5R 5V <2R/>5U 5T 5S!\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'\',d=e.16.2x,h=d.2X,g=0;g";H c},2o:6(a,b,c){H\'<2W>\'+c+""},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;md)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P\'+c+""},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i\'+j+"":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"":"")+\'<2d 1g="17">\'+b+""},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})); + var XRegExp; + if (XRegExp) throw Error("can't load XRegExp twice in the same frame"); + (function() { + function r(f, e) { + if (!XRegExp.isRegExp(f)) throw TypeError("type RegExp expected"); + var a = f._xregexp; + f = XRegExp(f.source, t(f) + (e || "")); + if (a) f._xregexp = { + source: a.source, + captureNames: a.captureNames ? a.captureNames.slice(0) : null + }; + return f + } - ns[ NS_EXPORT ]( EX_CLASS, "SyntaxHighlighter", eval( "SyntaxHighlighter" ) ); + function t(f) { + return (f.global ? "g" : "") + (f.ignoreCase ? "i" : "") + (f.multiline ? "m" : "") + (f.extended ? "x" : "") + (f.sticky ? "y" : "") + } + + function B(f, e, a, b) { + var c = u.length, + d, h, g; + v = true; + try { + for (; c--;) { + g = u[c]; + if (a & g.scope && (!g.trigger || g.trigger.call(b))) { + g.pattern.lastIndex = e; + if ((h = g.pattern.exec(f)) && h.index === e) { + d = { + output: g.handler.call(b, h, a), + match: h + }; + break + } + } + } + } catch (i) { + throw i + } finally { + v = false + } + return d + } + + function p(f, e, a) { + if (Array.prototype.indexOf) return f.indexOf(e, a); + for (a = a || 0; a < f.length; a++) + if (f[a] === e) return a; + return -1 + } + XRegExp = function(f, e) { + var a = [], + b = XRegExp.OUTSIDE_CLASS, + c = 0, + d, h; + if (XRegExp.isRegExp(f)) { + if (e !== undefined) throw TypeError("can't supply flags when constructing one RegExp from another"); + return r(f) + } + if (v) throw Error("can't call the XRegExp constructor within token definition functions"); + e = e || ""; + for (d = { + hasNamedCapture: false, + captureNames: [], + hasFlag: function(g) { + return e.indexOf(g) > -1 + }, + setFlag: function(g) { + e += g + } + }; c < f.length;) + if (h = B(f, c, b, d)) { + a.push(h.output); + c += h.match[0].length || 1 + } else if (h = n.exec.call(z[b], f.slice(c))) { + a.push(h[0]); + c += h[0].length + } else { + h = f.charAt(c); + if (h === "[") b = XRegExp.INSIDE_CLASS; + else if (h === "]") b = XRegExp.OUTSIDE_CLASS; + a.push(h); + c++ + } + a = RegExp(a.join(""), n.replace.call(e, w, "")); + a._xregexp = { + source: f, + captureNames: d.hasNamedCapture ? d.captureNames : null + }; + return a + }; + XRegExp.version = "1.5.0"; + XRegExp.INSIDE_CLASS = 1; + XRegExp.OUTSIDE_CLASS = 2; + var C = /\$(?:(\d\d?|[$&`'])|{([$\w]+)})/g, + w = /[^gimy]+|([\s\S])(?=[\s\S]*\1)/g, + A = /^(?:[?*+]|{\d+(?:,\d*)?})\??/, + v = false, + u = [], + n = { + exec: RegExp.prototype.exec, + test: RegExp.prototype.test, + match: String.prototype.match, + replace: String.prototype.replace, + split: String.prototype.split + }, + x = n.exec.call(/()??/, "")[1] === undefined, + D = function() { + var f = /^/g; + n.test.call(f, ""); + return !f.lastIndex + }(), + y = function() { + var f = /x/g; + n.replace.call("x", f, ""); + return !f.lastIndex + }(), + E = RegExp.prototype.sticky !== undefined, + z = {}; + z[XRegExp.INSIDE_CLASS] = /^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/; + z[XRegExp.OUTSIDE_CLASS] = /^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/; + XRegExp.addToken = function(f, e, a, b) { + u.push({ + pattern: r(f, "g" + (E ? "y" : "")), + handler: e, + scope: a || XRegExp.OUTSIDE_CLASS, + trigger: b || null + }) + }; + XRegExp.cache = function(f, e) { + var a = f + "/" + (e || ""); + return XRegExp.cache[a] || (XRegExp.cache[a] = XRegExp(f, e)) + }; + XRegExp.copyAsGlobal = function(f) { + return r(f, "g") + }; + XRegExp.escape = function(f) { + return f.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") + }; + XRegExp.execAt = function(f, e, a, b) { + e = r(e, "g" + (b && E ? "y" : "")); + e.lastIndex = a = a || 0; + f = e.exec(f); + return b ? f && f.index === a ? f : null : f + }; + XRegExp.freezeTokens = function() { + XRegExp.addToken = function() { + throw Error("can't run addToken after freezeTokens") + } + }; + XRegExp.isRegExp = function(f) { + return Object.prototype.toString.call(f) === "[object RegExp]" + }; + XRegExp.iterate = function(f, e, a, b) { + for (var c = r(e, "g"), d = -1, h; h = c.exec(f);) { + a.call(b, h, ++d, f, c); + c.lastIndex === h.index && c.lastIndex++ + } + if (e.global) e.lastIndex = 0 + }; + XRegExp.matchChain = function(f, e) { + return function a(b, c) { + var d = e[c]["regex"] ? e[c] : { + regex: e[c] + }, + h = r(d["regex"], "g"), + g = [], + i; + for (i = 0; i < b.length; i++) XRegExp.iterate(b[i], h, function(k) { + g.push(d.backref ? k[d.backref] || "" : k[0]) + }); + return c === e.length - 1 || !g.length ? g : a(g, c + 1) + }([f], 0) + }; + RegExp.prototype.apply = function(f, e) { + return this.exec(e[0]) + }; + RegExp.prototype.call = function(f, e) { + return this.exec(e) + }; + RegExp.prototype.exec = function(f) { + var e = n.exec.apply(this, arguments), + a; + if (e) { + if (!x && e.length > 1 && p(e, "") > -1) { + a = RegExp(this.source, n.replace.call(t(this), "g", "")); + n.replace.call(f.slice(e.index), a, function() { + for (var c = 1; c < arguments.length - 2; c++) + if (arguments[c] === undefined) e[c] = undefined + }) + } + if (this._xregexp && this._xregexp.captureNames) + for (var b = 1; b < e.length; b++) + if (a = this._xregexp.captureNames[b - 1]) e[a] = e[b]; + !D && this.global && !e[0].length && this.lastIndex > e.index && this.lastIndex-- + } + return e + }; + if (!D) RegExp.prototype.test = function(f) { + (f = n.exec.call(this, f)) && this.global && !f[0].length && this.lastIndex > f.index && this.lastIndex--; + return !!f + }; + String.prototype.match = function(f) { + XRegExp.isRegExp(f) || (f = RegExp(f)); + if (f.global) { + var e = n.match.apply(this, arguments); + f.lastIndex = 0; + return e + } + return f.exec(this) + }; + String.prototype.replace = function(f, e) { + var a = XRegExp.isRegExp(f), + b, c; + if (a && typeof e.valueOf() === "string" && e.indexOf("${") === -1 && y) return n.replace.apply(this, arguments); + if (a) { + if (f._xregexp) b = f._xregexp.captureNames + } else f += ""; + if (typeof e === "function") c = n.replace.call(this, f, function() { + if (b) { + arguments[0] = new String(arguments[0]); + for (var d = 0; d < b.length; d++) + if (b[d]) arguments[0][b[d]] = arguments[d + 1] + } + if (a && f.global) f.lastIndex = arguments[arguments.length - 2] + arguments[0].length; + return e.apply(null, arguments) + }); + else { + c = this + ""; + c = n.replace.call(c, f, function() { + var d = arguments; + return n.replace.call(e, C, function(h, g, i) { + if (g) switch (g) { + case "$": + return "$"; + case "&": + return d[0]; + case "`": + return d[d.length - 1].slice(0, d[d.length - 2]); + case "'": + return d[d.length - 1].slice(d[d.length - 2] + d[0].length); + default: + i = ""; + g = +g; + if (!g) return h; + for (; g > d.length - 3;) { + i = String.prototype.slice.call(g, -1) + i; + g = Math.floor(g / 10) + } + return (g ? d[g] || "" : "$") + i + } else { + g = +i; + if (g <= d.length - 3) return d[g]; + g = b ? p(b, i) : -1; + return g > -1 ? d[g + 1] : h + } + }) + }) + } + if (a && f.global) f.lastIndex = 0; + return c + }; + String.prototype.split = function(f, e) { + if (!XRegExp.isRegExp(f)) return n.split.apply(this, arguments); + var a = this + "", + b = [], + c = 0, + d, h; + if (e === undefined || +e < 0) e = Infinity; + else { + e = Math.floor(+e); + if (!e) return [] + } + for (f = XRegExp.copyAsGlobal(f); d = f.exec(a);) { + if (f.lastIndex > c) { + b.push(a.slice(c, d.index)); + d.length > 1 && d.index < a.length && Array.prototype.push.apply(b, d.slice(1)); + h = d[0].length; + c = f.lastIndex; + if (b.length >= e) break + } + f.lastIndex === d.index && f.lastIndex++ + } + if (c === a.length) { + if (!n.test.call(f, "") || h) b.push("") + } else b.push(a.slice(c)); + return b.length > e ? b.slice(0, e) : b + }; + XRegExp.addToken(/\(\?#[^)]*\)/, function(f) { + return n.test.call(A, f.input.slice(f.index + f[0].length)) ? "" : "(?:)" + }); + XRegExp.addToken(/\((?!\?)/, function() { + this.captureNames.push(null); + return "(" + }); + XRegExp.addToken(/\(\?<([$\w]+)>/, function(f) { + this.captureNames.push(f[1]); + this.hasNamedCapture = true; + return "(" + }); + XRegExp.addToken(/\\k<([\w$]+)>/, function(f) { + var e = p(this.captureNames, f[1]); + return e > -1 ? "\\" + (e + 1) + (isNaN(f.input.charAt(f.index + f[0].length)) ? "" : "(?:)") : f[0] + }); + XRegExp.addToken(/\[\^?]/, function(f) { + return f[0] === "[]" ? "\\b\\B" : "[\\s\\S]" + }); + XRegExp.addToken(/^\(\?([imsx]+)\)/, function(f) { + this.setFlag(f[1]); + return "" + }); + XRegExp.addToken(/(?:\s+|#.*)+/, function(f) { + return n.test.call(A, f.input.slice(f.index + f[0].length)) ? "" : "(?:)" + }, XRegExp.OUTSIDE_CLASS, function() { + return this.hasFlag("x") + }); + XRegExp.addToken(/\./, function() { + return "[\\s\\S]" + }, XRegExp.OUTSIDE_CLASS, function() { + return this.hasFlag("s") + }) + })(); + + var SyntaxHighlighter = function() { + function r(a, b) { + a.className.indexOf(b) != -1 || (a.className += " " + b) + } + + function t(a) { + return a.indexOf("highlighter_") == 0 ? a : "highlighter_" + a + } + + function B(a) { + return e.vars.highlighters[t(a)] + } + + function p(a, b, c) { + if (a == null) return null; + var d = c != true ? a.childNodes : [a.parentNode], + h = { + "#": "id", + ".": "className" + } [b.substr(0, 1)] || "nodeName", + g, i; + g = h != "nodeName" ? b.substr(1) : b.toUpperCase(); + if ((a[h] || "").indexOf(g) != -1) return a; + for (a = 0; d && a < d.length && i == null; a++) i = p(d[a], b, c); + return i + } + + function C(a, b) { + var c = {}, + d; + for (d in a) c[d] = a[d]; + for (d in b) c[d] = b[d]; + return c + } + + function w(a, b, c, d) { + function h(g) { + g = g || window.event; + if (!g.target) { + g.target = g.srcElement; + g.preventDefault = function() { + this.returnValue = false + } + } + c.call(d || window, g) + } + a.attachEvent ? a.attachEvent("on" + b, h) : a.addEventListener(b, h, false) + } + + function A(a, b) { + var c = e.vars.discoveredBrushes, + d = null; + if (c == null) { + c = {}; + for (var h in e.brushes) { + var g = e.brushes[h]; + d = g.aliases; + if (d != null) { + g.brushName = h.toLowerCase(); + for (g = 0; g < d.length; g++) c[d[g]] = h + } + } + e.vars.discoveredBrushes = c + } + d = e.brushes[c[a]]; + d == null && b != false && window.alert(e.config.strings.alert + (e.config.strings.noBrush + a)); + return d + } + + function v(a, b) { + for (var c = a.split("\n"), d = 0; d < c.length; d++) c[d] = b(c[d], d); + return c.join("\n") + } + + function u(a, b) { + if (a == null || a.length == 0 || a == "\n") return a; + a = a.replace(/' + c + "" + }); + return a + } + + function n(a, b) { + a.split("\n"); + for (var c = "", d = 0; d < 50; d++) c += " "; + return a = v(a, function(h) { + if (h.indexOf("\t") == -1) return h; + for (var g = 0; + (g = h.indexOf("\t")) != -1;) h = h.substr(0, g) + c.substr(0, b - g % b) + h.substr(g + 1, h.length); + return h + }) + } + + function x(a) { + return a.replace(/^\s+|\s+$/g, "") + } + + function D(a, b) { + if (a.index < b.index) return -1; + else if (a.index > b.index) return 1; + else if (a.length < b.length) return -1; + else if (a.length > b.length) return 1; + return 0 + } + + function y(a, b) { + function c(k) { + return k[0] + } + for (var d = null, h = [], g = b.func ? b.func : c; + (d = b["regex"].exec(a)) != null;) { + var i = g(d, b); + if (typeof i == "string") i = [new e.Match(i, d.index, b["css"])]; + h = h.concat(i) + } + return h + } + + function E(a) { + var b = /(.*)((>|<).*)/; + return a.replace(e.regexLib.url, function(c) { + var d = "", + h = null; + if (h = b.exec(c)) { + c = h[1]; + d = h[2] + } + return '' + c + "" + d + }) + } + + function z() { + for (var a = document.getElementsByTagName("script"), b = [], c = 0; c < a.length; c++) a[c].type == "syntaxhighlighter" && b.push(a[c]); + return b + } + + function f(a) { + a = a.target; + var b = p(a, ".syntaxhighlighter", true); + a = p(a, ".container", true); + var c = document.createElement("textarea"); + if (!(!a || !b || p(a, "textarea"))) { + B(b.id); + r(b, "source"); + for (var d = a.childNodes, h = [], g = 0; g < d.length; g++) h.push(d[g].innerText || d[g].textContent); + h = h.join("\r"); + c.appendChild(document.createTextNode(h)); + a.appendChild(c); + c.focus(); + c.select(); + w(c, "blur", function() { + c.parentNode.removeChild(c); + b.className = b.className.replace("source", "") + }) + } + } + if (typeof require != "undefined" && typeof XRegExp == "undefined") XRegExp = require("XRegExp").XRegExp; + var e = { + defaults: { + "class-name": "", + "first-line": 1, + "pad-line-numbers": false, + highlight: null, + title: null, + "smart-tabs": true, + "tab-size": 4, + "gutter": true, + toolbar: true, + "quick-code": true, + collapse: false, + "auto-links": true, + light: false, + "html-script": false + }, + config: { + space: " ", + useScriptTags: true, + bloggerMode: false, + stripBrs: false, + tagName: "pre", + strings: { + expandSource: "expand source", + help: "?", + alert: "SyntaxHighlighter\n\n", + noBrush: "Can't find brush for: ", + brushNotHtmlScript: "Brush wasn't configured for html-script option: ", + aboutDialog: 'Copyright 2004-2010 Alex Gorbatchev' + } + }, + vars: { + discoveredBrushes: null, + highlighters: {} + }, + brushes: {}, + regexLib: { + multiLineCComments: /\/\*[\s\S]*?\*\//gm, + singleLineCComments: /\/\/.*$/gm, + singleLinePerlComments: /#.*$/gm, + doubleQuotedString: /"([^\\"\n]|\\.)*"/g, + singleQuotedString: /'([^\\'\n]|\\.)*'/g, + multiLineDoubleQuotedString: new XRegExp('"([^\\\\"]|\\\\.)*"', "gs"), + multiLineSingleQuotedString: new XRegExp("'([^\\\\']|\\\\.)*'", "gs"), + xmlComments: /(<|<)!--[\s\S]*?--(>|>)/gm, + url: /\w+:\/\/[\w-.\/?%&=:@;]*/g, + phpScriptTags: { + left: /(<|<)\?=?/g, + right: /\?(>|>)/g + }, + aspScriptTags: { + left: /(<|<)%=?/g, + right: /%(>|>)/g + }, + scriptScriptTags: { + left: /(<|<)\s*script.*?(>|>)/gi, + right: /(<|<)\/\s*script\s*(>|>)/gi + } + }, + toolbar: { + getHtml: function(a) { + function b(i, k) { + return e.toolbar.getButtonHtml(i, k, e.config.strings[k]) + } + for (var c = '
', d = e.toolbar.items, h = d.list, g = 0; g < h.length; g++) c += (d[h[g]].getHtml || b)(a, h[g]); + c += "
"; + return c + }, + getButtonHtml: function(a, b, c) { + return '' + c + "" + }, + handler: function(a) { + var b = a.target, + c = b.className || ""; + b = B(p(b, ".syntaxhighlighter", true).id); + var d = function(h) { + return (h = RegExp(h + "_(\\w+)").exec(c)) ? h[1] : null + }("command"); + b && d && e.toolbar.items[d].execute(b); + a.preventDefault() + }, + items: { + list: ["expandSource", "help"], + expandSource: { + getHtml: function(a) { + if (a.getParam("collapse") != true) return ""; + var b = a.getParam("title"); + return e.toolbar.getButtonHtml(a, "expandSource", b ? b : e.config.strings.expandSource) + }, + execute: function(a) { + a = document.getElementById(t(a.id)); + a.className = a.className.replace("collapsed", "") + } + }, + help: { + execute: function() { + var a = "scrollbars=0"; + a += ", left=" + (screen.width - 500) / 2 + ", top=" + (screen.height - 250) / 2 + ", width=500, height=250"; + a = a.replace(/^,/, ""); + a = window.open("", "_blank", a); + a.focus(); + var b = a.document; + b.write(e.config.strings.aboutDialog); + b.close(); + a.focus() + } + } + } + }, + findElements: function(a, b) { + var c; + if (b) c = [b]; + else { + c = document.getElementsByTagName(e.config.tagName); + for (var d = [], h = 0; h < c.length; h++) d.push(c[h]); + c = d + } + c = c; + d = []; + if (e.config.useScriptTags) c = c.concat(z()); + if (c.length === 0) return d; + for (h = 0; h < c.length; h++) { + for (var g = c[h], i = a, k = c[h].className, j = void 0, l = {}, m = new XRegExp("^\\[(?(.*?))\\]$"), s = new XRegExp("(?[\\w-]+)\\s*:\\s*(?[\\w-%#]+|\\[.*?\\]|\".*?\"|'.*?')\\s*;?", "g"); + (j = s.exec(k)) != null;) { + var o = j.value.replace(/^['"]|['"]$/g, ""); + if (o != null && m.test(o)) { + o = m.exec(o); + o = o.values.length > 0 ? o.values.split(/\s*,\s*/) : [] + } + l[j.name] = o + } + g = { + target: g, + params: C(i, l) + }; + g.params["brush"] != null && d.push(g) + } + return d + }, + highlight: function(a, b) { + var c = this.findElements(a, b), + d = null, + h = e.config; + if (c.length !== 0) + for (var g = 0; g < c.length; g++) { + b = c[g]; + var i = b.target, + k = b.params, + j = k["brush"], + l; + if (j != null) { + if (k["html-script"] == "true" || e.defaults["html-script"] == true) { + d = new e.HtmlScript(j); + j = "htmlscript" + } else if (d = A(j)) d = new d; + else continue; + l = i.innerHTML; + if (h.useScriptTags) { + l = l; + var m = x(l), + s = false; + if (m.indexOf("") == o - 3) { + m = m.substring(0, o - 3); + s = true + } + l = s ? m : l + } + if ((i.title || "") != "") k.title = i.title; + k["brush"] = j; + d.init(k); + b = d.getDiv(l); + if ((i.id || "") != "") b.id = i.id; + i.parentNode.replaceChild(b, i) + } + } + }, + all: function(a) { + w(window, "load", function() { + e.highlight(a) + }) + } + }; + e.all = e.all; + e.highlight = e.highlight; + e.Match = function(a, b, c) { + this.value = a; + this.index = b; + this.length = a.length; + this["css"] = c; + this.brushName = null + }; + e.Match.prototype.toString = function() { + return this.value + }; + e.HtmlScript = function(a) { + function b(j, l) { + for (var m = 0; m < j.length; m++) j[m].index += l + } + var c = A(a), + d, h = new e.brushes.Xml, + g = this, + i = "getDiv getHtml init".split(" "); + if (c != null) { + d = new c; + for (var k = 0; k < i.length; k++)(function() { + var j = i[k]; + g[j] = function() { + return h[j].apply(h, arguments) + } + })(); + d.htmlScript == null ? window.alert(e.config.strings.alert + (e.config.strings.brushNotHtmlScript + a)) : h.regexList.push({ + regex: d.htmlScript.code, + func: function(j) { + for (var l = j.code, m = [], s = d.regexList, o = j.index + j.left.length, F = d.htmlScript, q, G = 0; G < s.length; G++) { + q = y(l, s[G]); + b(q, o); + m = m.concat(q) + } + if (F.left != null && j.left != null) { + q = y(j.left, F.left); + b(q, j.index); + m = m.concat(q) + } + if (F.right != null && j.right != null) { + q = y(j.right, F.right); + b(q, j.index + j[0].lastIndexOf(j.right)); + m = m.concat(q) + } + for (j = 0; j < m.length; j++) m[j].brushName = c.brushName; + return m + } + }) + } + }; + e.Highlighter = function() {}; + e.Highlighter.prototype = { + getParam: function(a, b) { + var c = this.params[a]; + c = c == null ? b : c; + var d = { + "true": true, + "false": false + } [c]; + return d == null ? c : d + }, + create: function(a) { + return document.createElement(a) + }, + findMatches: function(a, b) { + var c = []; + if (a != null) + for (var d = 0; d < a.length; d++) + if (typeof a[d] == "object") c = c.concat(y(b, a[d])); + return this.removeNestedMatches(c.sort(D)) + }, + removeNestedMatches: function(a) { + for (var b = 0; b < a.length; b++) + if (a[b] !== null) + for (var c = a[b], d = c.index + c.length, h = b + 1; h < a.length && a[b] !== null; h++) { + var g = a[h]; + if (g !== null) + if (g.index > d) break; + else if (g.index == c.index && g.length > c.length) a[b] = null; + else if (g.index >= c.index && g.index < d) a[h] = null + } + return a + }, + figureOutLineNumbers: function(a) { + var b = [], + c = parseInt(this.getParam("first-line")); + v(a, function(d, h) { + b.push(h + c) + }); + return b + }, + isLineHighlighted: function(a) { + var b = this.getParam("highlight", []); + if (typeof b != "object" && b.push == null) b = [b]; + a: { + a = a.toString(); + var c = void 0; + for (c = c = Math.max(c || 0, 0); c < b.length; c++) + if (b[c] == a) { + b = c; + break a + } b = -1 + } + return b != -1 + }, + getLineHtml: function(a, b, c) { + a = ["line", "number" + b, "index" + a, "alt" + (b % 2 == 0 ? 1 : 2).toString()]; + this.isLineHighlighted(b) && a.push("highlighted"); + b == 0 && a.push("break"); + return '
' + c + "
" + }, + getLineNumbersHtml: function(a, b) { + var c = "", + d = a.split("\n").length, + h = parseInt(this.getParam("first-line")), + g = this.getParam("pad-line-numbers"); + if (g == true) g = (h + d - 1).toString().length; + else if (isNaN(g) == true) g = 0; + for (var i = 0; i < d; i++) { + var k = b ? b[i] : h + i, + j; + if (k == 0) j = e.config.space; + else { + j = g; + for (var l = k.toString(); l.length < j;) l = "0" + l; + j = l + } + a = j; + c += this.getLineHtml(i, k, a) + } + return c + }, + getCodeLinesHtml: function(a, b) { + a = x(a); + var c = a.split("\n"); + this.getParam("pad-line-numbers"); + var d = parseInt(this.getParam("first-line")); + a = ""; + for (var h = this.getParam("brush"), g = 0; g < c.length; g++) { + var i = c[g], + k = /^( |\s)+/.exec(i), + j = null, + l = b ? b[g] : d + g; + if (k != null) { + j = k[0].toString(); + i = i.substr(j.length); + j = j.replace(" ", e.config.space) + } + i = x(i); + if (i.length == 0) i = e.config.space; + a += this.getLineHtml(g, l, (j != null ? '' + j + "" : "") + i) + } + return a + }, + getTitleHtml: function(a) { + return a ? "" + a + "" : "" + }, + getMatchesHtml: function(a, b) { + function c(l) { + return (l = l ? l.brushName || g : g) ? l + " " : "" + } + for (var d = 0, h = "", g = this.getParam("brush", ""), i = 0; i < b.length; i++) { + var k = b[i], + j; + if (!(k === null || k.length === 0)) { + j = c(k); + h += u(a.substr(d, k.index - d), j + "plain") + u(k.value, j + k["css"]); + d = k.index + k.length + (k.offset || 0) + } + } + h += u(a.substr(d), c() + "plain"); + return h + }, + getHtml: function(a) { + var b = "", + c = ["syntaxhighlighter"], + d; + if (this.getParam("light") == true) this.params.toolbar = this.params["gutter"] = false; + className = "syntaxhighlighter"; + this.getParam("collapse") == true && c.push("collapsed"); + if ((gutter = this.getParam("gutter")) == false) c.push("nogutter"); + c.push(this.getParam("class-name")); + c.push(this.getParam("brush")); + a = a.replace(/^[ ]*[\n]+|[\n]*[ ]*$/g, "").replace(/\r/g, " "); + b = this.getParam("tab-size"); + if (this.getParam("smart-tabs") == true) a = n(a, b); + else { + for (var h = "", g = 0; g < b; g++) h += " "; + a = a.replace(/\t/g, h) + } + a = a; + a: { + b = a = a;h = /|<br\s*\/?>/gi; + if (e.config.bloggerMode == true) b = b.replace(h, "\n"); + if (e.config.stripBrs == true) b = b.replace(h, "");b = b.split("\n");h = /^\s*/;g = 1E3; + for (var i = 0; i < b.length && g > 0; i++) { + var k = b[i]; + if (x(k).length != 0) { + k = h.exec(k); + if (k == null) { + a = a; + break a + } + g = Math.min(k[0].length, g) + } + } + if (g > 0) + for (i = 0; i < b.length; i++) b[i] = b[i].substr(g);a = b.join("\n") + } + if (gutter) d = this.figureOutLineNumbers(a); + b = this.findMatches(this.regexList, a); + b = this.getMatchesHtml(a, b); + b = this.getCodeLinesHtml(b, d); + if (this.getParam("auto-links")) b = E(b); + typeof navigator != "undefined" && navigator.userAgent && navigator.userAgent.match(/MSIE/) && c.push("ie"); + return b = '
' + (this.getParam("toolbar") ? e.toolbar.getHtml(this) : "") + '' + this.getTitleHtml(this.getParam("title")) + "" + (gutter ? '" : "") + '
' + this.getLineNumbersHtml(a) + "
' + b + "
" + }, + getDiv: function(a) { + if (a === null) a = ""; + this.code = a; + var b = this.create("div"); + b.innerHTML = this.getHtml(a); + this.getParam("toolbar") && w(p(b, ".toolbar"), "click", e.toolbar.handler); + this.getParam("quick-code") && w(p(b, ".code"), "dblclick", f); + return b + }, + init: function(a) { + this.id = "" + Math.round(Math.random() * 1E6).toString(); + e.vars.highlighters[t(this.id)] = this; + this.params = C(e.defaults, a || {}); + if (this.getParam("light") == true) this.params.toolbar = this.params["gutter"] = false + }, + getKeywords: function(a) { + a = a.replace(/^\s+|\s+$/g, "").replace(/\s+/g, "|"); + return "\\b(?:" + a + ")\\b" + }, + forHtmlScript: function(a) { + this.htmlScript = { + left: { + regex: a.left, + css: "script" + }, + right: { + regex: a.right, + css: "script" + }, + code: new XRegExp("(?" + a.left.source + ")(?.*?)(?" + a.right.source + ")", "sgi") + } + } + }; + return e + }(); + + ns[ NS_EXPORT ]( EX_CLASS, "SyntaxHighlighter", SyntaxHighlighter ); + ns[ NS_EXPORT ]( EX_CLASS, "XRegExp", XRegExp ); })(); diff --git a/k8s/deployments.yaml b/k8s/deployments.yaml index fb10527..0009d15 100644 --- a/k8s/deployments.yaml +++ b/k8s/deployments.yaml @@ -26,7 +26,7 @@ spec: mountPath: "/app/cache" containers: - name: web - image: registry.k8s.astropenguin.net/astrojs:2022.04.05.05 + image: registry.k8s.astropenguin.net/astrojs:2022.04.05.06 securityContext: runAsGroup: 1001 runAsNonRoot: true @@ -50,7 +50,7 @@ spec: - name: redis image: redis:6.0.8-alpine - name: compiler - image: registry.k8s.astropenguin.net/astrojs:2022.04.05.05 + image: registry.k8s.astropenguin.net/astrojs:2022.04.05.06 securityContext: runAsGroup: 1001 runAsNonRoot: true